disconf icon indicating copy to clipboard operation
disconf copied to clipboard

tomcat8下启动成功后会重启一次

Open zhandao1986 opened this issue 8 years ago • 8 comments

tomcat8error tomcat8启动后几秒钟后会重启,tomcat7下正常

zhandao1986 avatar Oct 05 '16 08:10 zhandao1986

看起来像是zk的问题?我回头在tomcat8下试试

knightliao avatar Oct 08 '16 07:10 knightliao

我使用的tomcat版本是8.0.37

zhandao1986 avatar Oct 08 '16 07:10 zhandao1986

我也遇到这个问题tomcat8会重启一次。

但是,如果把集成应用里的disconf.properties也加到reload的xml列表里

<bean id="configproperties_disconf" class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean">
    <property name="locations">
        <list>
            <value>classpath:disconf.properties</value>
        </list>
    </property>
</bean>

在管理端disconf.properties修改,则情况会多次出现

在zookeeper的机器上 shell> netstat -antp | grep 2181

就会看到 tcp6 0 0 10.206.19.210:2181 10.206.16.100:63629 TIME_WAIT -

出现TIME_WAIT了,导致客户应用里zk抛出异常,直到zk那里连上为止

这个异常的原因,是某些zookeeper的类没有加载到。 最终原因分析 梳理下整个流程: Tomcat启动,初始化webcontext; 初始化spring, spring初始某些些bean,这些bean包括了zookeeper的连接相关的bean; 这时zkClient(独立线程)已经连接上服务器了,但是classloader没有加载到org/apache/zookeeper/proto/SetWatches类; spring初始化失败,导致Tomcat webcontext初始化也失败,应用在挂起状态,但zkClient线程还是正常的; zookeeper服务器重启,zkClient开始重连,连接上zookeeper服务器; zkClient触发watch的一些代码,ClassLoader尝试加载org/apache/zookeeper/proto/SetWatches类,但是发现找不到类,于是抛出异常; zkClient捕获到异常,认为重连失败,close掉connection,休眠几秒之后,再次重连; 于是出现了zkClient反复重试连接zookeeper服务器,而且都是秒连秒断的情况。

增加zk机器可以缓解些,完全解决方案目前还没有,希望后来人。。。

lijianqiang avatar Nov 04 '16 08:11 lijianqiang

disconf-error

lijianqiang avatar Nov 04 '16 08:11 lijianqiang

classpath:disconf.properties

这种写法肯定是错误的

可能是tomcat8的问题,

knightliao avatar Nov 07 '16 10:11 knightliao

对于tomcat,由于其会自动扫描webapp目录下面的文件改变,需要指定disconf.user_define_download_dir到webapp外面,避免disconf更改properties文件导致tomcat去reload web 应用。试过这样配置web app就不自动refresh了。

Web context reload的时候会去destroy原来的web app,如果webapp对于停止处理不好就会导致失败情况

leonliao avatar Dec 29 '16 10:12 leonliao

有没比较好的方法,tomcat如果设置了reloadable的话还是会影响到的

mangowbm avatar Apr 12 '17 05:04 mangowbm

这个我的是会无限重启,换成tomcat7 问题解决

lettersporter avatar Aug 23 '17 09:08 lettersporter