springboot 在tomcat中启动两次

我开始以为眼花了,tomcat启动的时候,

.   ____          _            __ _ _
 /\\ / ___‘_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | ‘_ | ‘_| | ‘_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  ‘  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.2.RELEASE)

出现了两次,然后日志中有报错:

Unable to register MBean [HikariDataSource (HikariPool-2)] with key ‘dataSource ...

最终确认springboot被加载了两次。

原因一:

war包发布,可能没有排除内置tomcat,先确认exclusions

原因二:

tomcat的server.xml配置有问题

如果<Context>节点里配置了应用全路径,那么<host>节点里的appBase要置空,否则就是这出问题,host和context分别加载一次。

待测: 如果有两个springboot应用放在tomcat下的情况,还未测试。

原文地址:https://www.cnblogs.com/asker009/p/9763805.html

时间: 2024-10-15 00:21:50

springboot 在tomcat中启动两次的相关文章

windows平台在tomcat中启动cas报错解决

windows平台在tomcat中启动cas报错: Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, 系统找不到指定的路径.] 解决办法:将jansi.dll文件放到C:\Windows\System32目录下即可. 注意:jansi.dll文件在使用gradle编译打包cas时会下载到C:\Users\${用户名}\.gradle

关于TOMCAT中的两个Web.xml

关于TOMCAT中的两个Web.xml (2013-01-19 17:32:57) 转载▼ 标签: 杂谈   初学JAVA web开发.. Servlet定义的时候,我发现在${catalina.home}/conf下以及${catalina.home}/webapps/ROOT/WEB_INF下都有web.xml这个文件,我不知道到底应该把vm的sevlet定义添加到哪,于是我查阅了O'reilly的<Tomcat: The Definitive Guide>后终于明白了, web.xml的

spring boot + jersey工程由jar包转为war包在tomcat中启动报错问题

第一步: 在maven下,将Spring Boot工程由jar转换为war包启动,很简单,将pom.xml文件中的packaging改为war <packaging>war</packaging> 如果你使用Gradle,你需要修改build.gradle来将war插件应用到项目上: apply plugin: 'war'第二步: 产生一个可部署war包的第一步是提供一个SpringBootServletInitializer子类,并覆盖它的configure方法.这充分利用了Sp

tomcat 项目启动两次的的解决

由于我没用eclipse 自带的tomcat ,自己安装了一个. 结果呢,项目就启动了两次 下图是tomcat 的浏览界面 configuration path 就是这个目录 选第一个没问题 ,第二个为tomcat 的安装目录这个配置是将项目发布到tomcat的webapps下.在servers试图启动Tomcat后,调用的是tomcat所在目录的执行文件,除了部署eclipse下的项目,tomcat还要加载webapps下的所有项目,所以就重复加载了. 其实很多人都写过类似问题的解决方案,一般

生产环境 tomcat中启动缓慢

具体的原因没研究,大概是一个随机数种子生成的速度拖慢了,直接copy一份解决方案,属于备忘材料 解决 有两种解决办法: 1)在Tomcat环境中解决 可以通过配置JRE使用非阻塞的Entropy Source. 在catalina.sh中加入这么一行: -Djava.security.egd=file:/dev/./urandom 即可. 加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms. 2)在JVM环境中解决 打开$JAVA_PATH/jre/l

SpringBoot打包为war包,并在tomcat中运行

先看一下我创建的最简单的项目吧. controller类 @RestController public class TestController { @RequestMapping("index") public String index() { return "hello"; } } pom文件没有做任何修改,我们直接启动这个项目,注意看启动的日志中有关嵌入式tomcat的版本的 我这里的版本是8.5.37,这个是由你选用的springboot的版本定的,我选用的

详解Tomcat系列(一)-从源码分析Tomcat的启动

在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来. 由于篇幅的原因, 很难把Tomcat所有的知识点都放到同一篇文章中, 我将把Tomcat系列文章分为Tomcat的启动, Tomcat中各模块的介绍和Tomcat中的设计模式三部分, 欢迎阅读与关注. 一:通过idea搭建Tomcat源码阅读环境 首先我们到Tomcat的官网(http://tomcat.apache.org/)上下载Tomc

MyEclipse中同时启动两个tomcat

开发的时候,有些时候需要同时启动两个项目.首先配置tomcat,方法如下:(转载自:http://bendan123812.iteye.com/blog/1716789) 一.把Tomcat复制一份并重新命名,我这里是E:\soft\apache-tomcat-study,然后修改conf/service.xml文件,把所有的端口号都改成别的(这一点非常重要),这样在同时启动两个tomcat的时候不会造成端口被占用的错误. 二.上图片 点击Create Launch Configuration

怎样在同一系统中启动多个 TOMCAT

<Server port="8005" shutdown="SHUTDOWN"> 接受服务器关闭指令的端口号,我们叫关闭指令端口. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> http请求处理端口,我们在网页上输入的普通url