springboot tomcat和端口没有启动_Spring boot 无端口模式启动

背景

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

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

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

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

实现无端口启动

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

       <dependency>            <groupId>org.springframework.bootgroupId>            <artifactId>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            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值