springboot 执行定时器@Scheduled在tomcat中启动两次的问题

用内置tomcat开发时是没有问题的,打算部署到服务器用外部tomcat测试时发现定时器的计算类执行了两次

查了各种资料,有如下可能性

1.springboot 的内置tomcat没有去掉,导致springboot 和tomcat 分别启动了1次
去掉内置tomcat

<dependency>  
  <groupId>org.springframework.boot</groupId>  
  <artifactId>spring-boot-starter-web</artifactId>  
  <!-- 去除内嵌tomcat -->  
  <exclusions>  
    <exclusion>  
      <groupId>org.springframework.boot</groupId>  
      <artifactId>spring-boot-starter-tomcat</artifactId>  
    </exclusion>  
  </exclusions>  
</dependency>  
<!--添加servlet的依赖-->  
<dependency>  
  <groupId>javax.servlet</groupId>  
  <artifactId>javax.servlet-api</artifactId>  
  <version>3.1.0</version>  
  <scope>provided</scope>  
</dependency> 

2.完全是tomcat 启动了两次
在tomcat 的server.xml中 把host的appBase 换为“”,然后启动就好了
或者你在tomcat内部新建一个webroot 文件夹 然后把appBase换成webroot 也可以
就是host 和context 分别启动了两次
3、将springboot 启动类 @SpringBootApplication的类 把extends 的内容去掉
我的是第三种办法解决的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值