SpringBoot配置多数据源 打成War包启动卡住,没有报任何错误,找不到解决方法,大佬们帮帮忙

ch1126 2020-02-13 04:03:12
在项目中配置了两个数据源
一开始使用jar包启动的,一直没什么问题
这是jar包,正常跑起来


我改成war包之后 用tomcat启动卡住,就卡在最后一步没有报任何错误


打成war包的时候 我把pom文件的spring自带的tomcat移除了,也添加了servlet依赖。

服务器上面是需要打成war包发布的,帮帮忙解决谢谢大佬们,我随机邀请了,第一次发帖
...全文
908 24 打赏 收藏 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Miracle_Tan 2020-02-16
  • 打赏
  • 举报
回复
不错不错,
wwwgc119 2020-02-15
  • 打赏
  • 举报
回复
可以的!可以的!
weixin_45613256 2020-02-15
  • 打赏
  • 举报
回复
还是很可以的!
挂电话镹 2020-02-13
  • 打赏
  • 举报
回复
移除tomcat应该在pom文件中如下做法
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的时候不打进去-->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
ch1126 2020-02-13
  • 打赏
  • 举报
回复
积分给错兄弟了 应该平均分的
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 18 楼 plutoppppp 的回复:
引用 16 楼 ch1126 的回复:
[quote=引用 15 楼 plutoppppp 的回复:]可是你得先说是哪里的问题
上面发了图呢 是一个order注解
哦哦,据我所知这个jedis.psubscribe方法是个阻塞方法,https://www.jianshu.com/p/33d50fac06b4这篇文章介绍了SpringBootServletInitializer和CommandLineRunner的关系,因为jar的方式是直接使用main进行并将tomcat进行了先行加载,也就是不经过SpringBootServletInitializer进行初始化,而你通过CommandLineRunner并将它设置在了前面,所以在用tomcat时被阻塞了。 以上是对这个order问题的看法。[/quote]谢谢老哥 知道了 爱你
plutoppppp 2020-02-13
  • 打赏
  • 举报
回复
引用 16 楼 ch1126 的回复:
引用 15 楼 plutoppppp 的回复:
可是你得先说是哪里的问题
上面发了图呢 是一个order注解
哦哦,据我所知这个jedis.psubscribe方法是个阻塞方法,https://www.jianshu.com/p/33d50fac06b4这篇文章介绍了SpringBootServletInitializer和CommandLineRunner的关系,因为jar的方式是直接使用main进行并将tomcat进行了先行加载,也就是不经过SpringBootServletInitializer进行初始化,而你通过CommandLineRunner并将它设置在了前面,所以在用tomcat时被阻塞了。 以上是对这个order问题的看法。
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 15 楼 plutoppppp 的回复:
可是你得先说是哪里的问题
12楼
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 15 楼 plutoppppp 的回复:
可是你得先说是哪里的问题
上面发了图呢 是一个order注解
plutoppppp 2020-02-13
  • 打赏
  • 举报
回复
可是你得先说是哪里的问题
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 11 楼 plutoppppp 的回复:
[quote=引用 9 楼 ch1126 的回复:] [quote=引用 7 楼 plutoppppp 的回复:]你强调的是双数据源出现了这种状况,意思是以前是单数据源的,但是这次配置双数据源出错了对吗? 建议直接打包成war包,然后放到外部的tomcat中跑一下试试。 如果不行就仔细对照下配置,试试取消掉一个源行不行,不排除数据库连接除了问题,或者打断点追踪下卡住的地方。
我刚刚试过了 配置单数据源用war包启动还是有问题,用jar包启动还是没问题,我打成war包部署到测试环境过,也是卡在最后这里[/quote] 是这样,现在需要排除下,是不是因为tomcat冲突引起的,所以问一下之前是单数据源吗?单数据源怎么配置? 如果不使用这种AbstractRoutingDataSource的方式,直接使用spring.datasource.druid配置是否可以成功启动? 如果不能成功,需要你确认一下SpringBootServletInitializer的实现,和pom的配置[/quote]但是不知道为啥 jar包是可以用的
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 11 楼 plutoppppp 的回复:
[quote=引用 9 楼 ch1126 的回复:] [quote=引用 7 楼 plutoppppp 的回复:]你强调的是双数据源出现了这种状况,意思是以前是单数据源的,但是这次配置双数据源出错了对吗? 建议直接打包成war包,然后放到外部的tomcat中跑一下试试。 如果不行就仔细对照下配置,试试取消掉一个源行不行,不排除数据库连接除了问题,或者打断点追踪下卡住的地方。
我刚刚试过了 配置单数据源用war包启动还是有问题,用jar包启动还是没问题,我打成war包部署到测试环境过,也是卡在最后这里[/quote] 是这样,现在需要排除下,是不是因为tomcat冲突引起的,所以问一下之前是单数据源吗?单数据源怎么配置? 如果不使用这种AbstractRoutingDataSource的方式,直接使用spring.datasource.druid配置是否可以成功启动? 如果不能成功,需要你确认一下SpringBootServletInitializer的实现,和pom的配置[/quote]找到了 爱你 谢谢老哥
ch1126 2020-02-13
  • 打赏
  • 举报
回复
谢谢老哥 我找到原因了 是这个代码引起的,我原本的想法是加上order注解然后等项目跑起来 监听redis的key过期回调,用jar包跑的时候redis key过期回调成功了,我就没管了,没想到是这个问题。我把order注解去掉就可以了
plutoppppp 2020-02-13
  • 打赏
  • 举报
回复
引用 9 楼 ch1126 的回复:
[quote=引用 7 楼 plutoppppp 的回复:]你强调的是双数据源出现了这种状况,意思是以前是单数据源的,但是这次配置双数据源出错了对吗? 建议直接打包成war包,然后放到外部的tomcat中跑一下试试。 如果不行就仔细对照下配置,试试取消掉一个源行不行,不排除数据库连接除了问题,或者打断点追踪下卡住的地方。
我刚刚试过了 配置单数据源用war包启动还是有问题,用jar包启动还是没问题,我打成war包部署到测试环境过,也是卡在最后这里[/quote] 是这样,现在需要排除下,是不是因为tomcat冲突引起的,所以问一下之前是单数据源吗?单数据源怎么配置? 如果不使用这种AbstractRoutingDataSource的方式,直接使用spring.datasource.druid配置是否可以成功启动? 如果不能成功,需要你确认一下SpringBootServletInitializer的实现,和pom的配置
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 8 楼 plutoppppp 的回复:
看你用的是mybatis plus ,给你推荐个搭配的多数据源包 dynamic-datasource-spring-boot-starter,也是他们做的,配套的生态
我这里不能用,只能用内网里提供的包,也不能上传包
ch1126 2020-02-13
  • 打赏
  • 举报
回复
引用 7 楼 plutoppppp 的回复:
你强调的是双数据源出现了这种状况,意思是以前是单数据源的,但是这次配置双数据源出错了对吗? 建议直接打包成war包,然后放到外部的tomcat中跑一下试试。 如果不行就仔细对照下配置,试试取消掉一个源行不行,不排除数据库连接除了问题,或者打断点追踪下卡住的地方。
我刚刚试过了 配置单数据源用war包启动还是有问题,用jar包启动还是没问题,我打成war包部署到测试环境过,也是卡在最后这里
plutoppppp 2020-02-13
  • 打赏
  • 举报
回复
看你用的是mybatis plus ,给你推荐个搭配的多数据源包 dynamic-datasource-spring-boot-starter,也是他们做的,配套的生态
plutoppppp 2020-02-13
  • 打赏
  • 举报
回复
你强调的是双数据源出现了这种状况,意思是以前是单数据源的,但是这次配置双数据源出错了对吗? 建议直接打包成war包,然后放到外部的tomcat中跑一下试试。 如果不行就仔细对照下配置,试试取消掉一个源行不行,不排除数据库连接除了问题,或者打断点追踪下卡住的地方。
ch1126 2020-02-13
  • 打赏
  • 举报
回复
看这里看这里
ch1126 2020-02-13
  • 打赏
  • 举报
回复
卡在最后一段Located MBean 'report': registering with JMX server as MBean [com.alibaba.druid.pool:name=report,type=DruidDataSource]
加载更多回复(4)
内容概要:本文基于Matlab/Simulink平台,对电励磁同步电机在异步牵入、稳态运行及能耗制动三个阶段的全周期动态特性进行建模仿真与系统研究。研究构建了完整的电机数学模型与仿真系统,重点分析了电机从异步启动到同步运行的过渡过程、稳态运行时的电磁与机械性能,以及执行能耗制动时的减速特性与能量耗散机理。通过仿真,揭示了励磁电流、负载转矩与转速在不同工况下的动态响应规律与耦合关系,为电机的控制策略设计与性能优化提供了理论依据和数据支持。; 适合人群:具备电机学、电力电子与电力拖动基础知识的电气工程及相关专业的研究生、科研人员与工程技术人员。; 使用场景及目标:①研究电励磁同步电机的启动特性,解决异步牵入过程不稳定或失败的问题;②分析电机在不同负载下的稳态运行性能,优化运行效率;③设计和验证能耗制动策略,精确控制制动过程的减速时间和能量消耗。; 阅读建议:在学习过程中,应结合电机的基本原理,深入理解仿真模型中各模块(如电机本体、励磁控制、负载模型)的搭建逻辑,并通过调整仿真参数(如励磁电压、负载大小)来观察和分析系统动态响应,以加深对电机全周期运行特性的理解。

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧