采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
application.setWebApplicationType(WebApplicationType.SERVLET); 为啥我这边只有设置WebApplicationType.SERVLET才能启动起来,而老师的WebApplicationType.NONE就能启动起来
网上一通搜索,再加日志分析,确定就是设置WebApplicationType.NONE之后,主线程就关闭了,而之前启动的dubbo服务是daemon线程,不会阻止主线程关闭。主线程关闭之后整个spring容器就关闭了。而且是通过DubboShutdownHook优雅的关闭,所以退出状态是Process finished with exit code 0。
楼下提到的无论是引入spring-boot-starter或者spring-boot-starter-web都只是想阻止主线程关闭而已,而我们的provider并不需要这些依赖。
一种可行的办法是启动一个和主线程生命周期绑定的线程:
@SpringBootApplication
@EnableDubbo
public
class
ImProviderApplication {
static
void
main(String[] args) {
SpringApplication springApplication =
new
SpringApplication(ImProviderApplication.
);
springApplication.setWebApplicationType(WebApplicationType.NONE);
springApplication.run(args);
Thread(
()->{
synchronized
(ImProviderApplication.
){
try
{
ImProviderApplication.
.wait();
}
catch
(Exception e){
e.printStackTrace();
).start();
老铁牛逼我这就写进我的简历
老哥厉害啊 这个问题卡了好几天了
请问有解决的办法吗 我也是起不来
我也起不来,暂且按照这个application.setWebApplicationType(WebApplicationType.SERVLET);往下走,就是多暴露一个端口。。。。。玄学一样的环境
是不是服务代码里面 没有需要暴露的dubbo服务,看看代码中有没有加dubboservice注解
这些都查过,代码直接check out的,代码一点儿也没改,就是数据库和nacos连接不一样。我之前还想提问,但是那个log日志太长了,慕课不允许 ,就查到了这个问题。+Servlet只是权宜之计。我还来回升级了一下dubbo,spring boot和bootstrap版本,都没啥用。。。日志就是exit 0,正常结束的感觉。也没报什么error。
我也是这个问题,请问解决了吗?
这里是不是只引入spring-boot-starter更好,感觉不需要引入spring-boot-starter-web
你这个建议也不错,可以试试看
试过了感觉挺好用,dubbo服务也会防止spring boot应用直接关闭
👍👍👍👍👍
我也是这个问题,请问视频中有展示暴露dubbo接口的服务上下文吗
登录后可查看更多问答,登录/注册
SpringCloudAlibaba高并发仿斗鱼直播平台实战
1.4k 17
733 9
525 7
547 7
291 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号