问题描述
现有的需求: tomcat接收https请求,只监听80端口。但是项目中要另起一个udp和tcp监听程序,接收到数据之后进行crud处理。 问题:tomcat和udp、tcp监听程序要并存,搞个监听去启动udp、tcp的话tomcat会无法启动,原因是udp的接收程序是个死循环,启动tomcat的同时去启动udp监听会进入死循环导致无法成功启动tomcat。 如何在tomcat启动成功以后,运行我的udp监听程序。 问题补充:Servlet监听是和tomcat启动同步执行的,所以会出现错误,我要的是tomcat启动成功以后,而不是启动中去执行我的自定义方法。
解决方案
你的udp接收程序是个死循环,那你可以把它做成异步的啊,你写一个servlet,让tommcat启动的时候就执行,在这个servlet你起一个线程去跑你的udp接口程序就是ok了,不知道是不是你想要的
解决方案二:
当然你可以在tomcat中注册Listener事件1.实现该接口org.apache.catalina.LifecycleListener 2.把它生成jar包,让如${CATALINA_HOME}/lib or ${CATALINA_BASE}/lib3.<?xml version='1.0' encoding='utf-8'?><Server port="8005"> <Listener className="**********Listener"/></Server>
时间: 2024-09-30 01:32:03