问题:项目中dubbo服务是打成jar包,放到Linux,用sh脚本启动的,没有web.xml、tomcat容器。
解决:采用dubbo的main启动方式,添加自定义jetty容器,并添加druid监控。
1.具体添加参考下面博客链接(网上博客基本上内容都一样,已找不到原博客地址)
https://blog.csdn.net/qq_35830949/article/details/80648932
https://www.iteye.com/blog/286-1915478
wrapper启动服务遇到的问题:
由于用wrapper启动dubbo,出现无法启动WrapperManager,会一直重启服务。
网上的一些方法:
https://blog.csdn.net/t_332741160/article/details/82909100
dubbo源码中Main方法:
synchronized (Main.class) {
while (running) {
try {
Main.class.wait();
} catch (Throwable e) {
}
}
}
dubbo服务启动成功后,当前线程进入wait状态,导致后面wrapperManager启动代码不能执行
WrapperManager.start(new BootstrapWrapper(), args)
最后设置了下面属性:
# 超时重启时间,秒
wrapper.startup.timeout=30000000
wrapper重启时间设置大点,dubbo服务就不会重启。