springboot tomcat和端口没有启动_Spring boot 无端口模式启动
发布日期:2021-09-13 07:38:15 浏览次数:1 分类:技术文章

本文共 2181 字,大约阅读时间需要 7 分钟。

背景

在服务架构中,有些springboot工程只是简单的作为服务,并不提供web服务。或者并不提供对外的访问服务,这个时候我们只想能以后台进程去运行,因为项目只是作为客户端去做一些操作系统或者去请求其他任务的事情,并不想要启动端口。

我们以Spring Boot (v2.3.3.RELEASE)为例进行讲解。

大家会问,这个Spring Boot在运维领域有关系吗?不过我觉得有关系,我虽然是是干运维领域的,但是我有时候会写一些工具,用过的语言有Python,Golang,PHP以及Spring Boot,Vue,JavaScripts,我觉得这几门语言都是很好的语言。能帮助自己写不同的工具,因为这几门语言我都懂。

好我们来看看Spring Boot的如果实现。

实现无端口启动

网上说如果要无端口模式,分web项目和非web项目来处理。如果是非web项目就把下面的依赖去掉。

org.springframework.bootgroupId>
spring-boot-starter-webartifactId> dependency>

对于Sring Boot来讲,我们觉得没必要去除依赖(当然你也可以去掉依赖),就可以让进程常驻内存。具体步骤如下:

(1) 首先我们正常的新建Spring Boot web项目。

(2)修改配置文件:application.properties

# 无端口模式启动web项目spring.main.web-application-type=none

到处为止,我们启动Spring Boot的时候会自动关闭。因为没有去执行所以就结束了。所以我们可以使用定时任务,从而让它常驻进程并且不启动端口

(3)添加定时任务从而让它常驻进程。(启一个定时任务不做任何事情是为了让进程能常驻内存)

package yeyese.noport.task; import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.annotation.EnableScheduling;import org.springframework.scheduling.annotation.Scheduled; import java.time.LocalDateTime; @Configuration      //1.主要用于标记配置类,兼备Component的效果。@EnableScheduling   // 2.开启定时任务public class SaticScheduleTask {
//3.添加定时任务 @Scheduled(cron = "*/30 * * * * ?") //或直接指定时间间隔,例如:5分钟 private void configureTasks() {
System.err.println("测试无端口模式启动,然后执行定时任务: " + LocalDateTime.now()); } }

验证

到此,我们看到进程常驻了,并且没有启动端口。

086076f3fce4a71226a6865e0e70c1e7.png

我们放到Linux服务器上去跑一下看看:

#ps -ef |grep java      www        6616      1  6 15:00 ?        00:00:03 java -jar noport-0.0.1-SNAPSHOT.jarroot       6689   6670  0 15:01 pts/0    00:00:00 grep --color=auto java #netstat -ntlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1069/sshd           tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           tcp6       0      0 :::22                   :::*                    LISTEN      1069/sshd

转载地址:https://blog.csdn.net/weixin_39785600/article/details/111283085 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python之父_大新闻!Python 之父重新出山,加入微软开发部
下一篇:wordpress rest api 登录_API安全之大话:API的前世今生

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月28日 18时20分01秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java web 防止sql注入攻击_JavaWeb防注入知识点(一) 2019-04-21
java ssm 异常分类_SSM项目常见的异常与处理提示(一) 2019-04-21
java定义矩形类_Java定义矩形类 2019-04-21
java变量怎么变常量_Java的常量与变量是什么?怎么学习呀? 2019-04-21
java开发招聘试题_客户化开发招聘试题-Java开发.doc 2019-04-21
java jdk win10 1335_win10下安装java jdk,tomcat 2019-04-21
java list二分查找_java中的ArrayList和LinkedList的二分查找速度比 | 学步园 2019-04-21
php中的变量名称用什么表示,PHP变量,方法,类等名称中的有效字符是什么? 2019-04-21
pic32mx是什么cpu_PIC32MX单片机外设库使用(Ⅰ)- 系统时钟及I/O口基本设置 2019-04-21
用c 在mysql上存图片_C 批量保存图片进 mysql 利用MYSQL_BIND插入longblob 2019-04-21
mysql 1045 28000_mysql报关于用户密码1045(28000),几种处理方法 (zhuan) 2019-04-21
solr比mysql的优势_Solr与Elasticsearch的优缺点比较总结和归纳 2019-04-21
华为博士招聘上机考试题目_牛客网-华为-2020届校园招聘上机考试-3 2019-04-21
python中for可以做变量名吗_Python中使用动态变量名的方法 2019-04-21
mysql 日期转换天数_MySQL 日期操作 增减天数、时间转换、时间戳 2019-04-21
java对象去重复_JAVA中List对象去除重复值的方法 2019-04-21
java bss_[转] .bss段和.data段的区别 2019-04-21
java上传图片损坏_大神求助 上传图片后 图片损坏 2019-04-21
java socket唯一标识符_Java Socket编程之常识网络基础知识 2019-04-21
java给xyz大小排序_java递归实现string xyz排序 2019-04-21