如何在tomcat启动(成功以后)执行自定义方法?

问题描述

现有的需求: 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

如何在tomcat启动(成功以后)执行自定义方法?的相关文章

求教tomcat启动后自动执行自定义的拦截器

问题描述 求教tomcat启动后自动执行自定义的拦截器 可能是我对项目不熟悉,我不知道是怎么配置,或者是怎么实现的,使tomcat启动后自动执行了拦截器中的代码,因为我打印了启动的语句,而且还有一个问题,就是它执行了两遍,希望大神多指点指点!!!!! 解决方案 执行了两遍,这个不好说,,具体看看拦截器怎么写的

如何在Linux启动时自动执行命令或脚本

我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时,也是这样. 更有意思的是,在系统启动以及用户登录或注销时,还可以让系统执行特定的操作. 本文,我们将探讨一下在 Linux 操作系统中实现这些目标的传统方法. 注意:我们假定使用的是 Bash 作为登录及注销的主 Shell.如果你使用的是其他 Shell,那么有些方法可能会无效.如果有其他的疑问

如何在 Linux 启动时自动执行命令或脚本

在启动时执行 Linux 脚本 有两种传统的方法可以实现在启动时执行命令或脚本: 方法 #1 - 使用 cron 任务 除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot 指令.这个指令后面的参数是脚本(启动时要执行的那个脚本)的绝对路径. 然而,这种方法需要注意两点: a) cron 守护进程必须处于运行状态(通常情况下都会运行),同时 b) 脚本或 crontab 文件必须包含需要的环境变量(如果有的话,参考 StackOverflow 获取更多详细

java tomcat-JAVA新手问题,Tomcat提示成功启动,但是打开http://localhost:8080的时候没用

问题描述 JAVA新手问题,Tomcat提示成功启动,但是打开http://localhost:8080的时候没用 ****JAVA新手问题,Tomcat提示成功启动,但是打开http://localhost:8080的时候没用,且关闭Tomcat报错! Java环境变量已经配置,敲Java -version能正确显示Java版本号: Tomcat也下载安装 敲startup.sh,出现各个环境变量的引用,提示Tomcat start. 但是就是http://localhost:端口号,没有出现

tomcat启动工程一闪而过,单独启动能成功!求解

问题描述 tomcat启动工程一闪而过,单独启动能成功!求解 只启动tomcat能成功,是配置没问题吧. 附图: 加工程的文件配置路径后,就一闪而过了: 附图: 查了很多资料,但是都没能解决.崩溃!

谁能帮我远程控制验证一下tomcat是否启动成功

问题描述 谁能帮我远程控制验证一下tomcat是否启动成功 域名输入那个http://localhost:8080有的时候可以出现tomcat页面,有的时候不行...(多数时候不能通过输入域名验证)但是tomcat明明启动成功了啊~问动态网页老师在域名处输入什么,忘了老师输入了什么,也能进入tomcat页面.好像不是http://localhost:8080...呜呜..有木有好心人可以帮我远程控制一下,验证一下tomcat的启动~~~o(>_<)o ~~谢谢 解决方案 默认是输入http:/

spring+quartz做的定时任务,tomcat启动没问题,就是定时任务不执行,是什么原因?

问题描述 spring+quartz做的定时任务,tomcat启动没问题,就是定时任务不执行,是什么原因? 1.applicationContext_quartz.xml内容 <?xml version=""1.0"" encoding=""UTF-8""?><beans xmlns=""http://www.springframework.org/schema/beans"&q

【tomcat ecplise】新下载一个tomcat,无法成功启动,或者启动了无法访问localhost:8080页面/ecplise无法添加新的tomcat/ecplise启动tomcat启动不起来

今天转头使用ecplise,于是新下载一个tomcat7来作为服务器使用 但是问题来了: [问题1:全新的tomcat启动即消耗了不可思议的时间,并且启动了之前其他tomcat中的很多项目][问题已经解决] [注意:JRE的环境变量是完全没有问题的,因为其他的服务器都在使用,正常] [有个可以参考的地址: http://www.cnblogs.com/panxuejun/p/6110662.html]   问题原因: 在tomcat的start.bat里面 有这么一段: 此处的处理逻辑虽然自己没

windows下配置两个或多个Tomcat启动的方法_Tomcat

确保window的环境变量中找不到CATALINA_HOME和CATALINA_BASE 修改server.xml,用解压版的tomcat,不要用安装版的. 1.修改http访问端口 conf下的server.xml文件的服务访问端口,默认是8080可以改成其它的,如7000 2.修改shutdown端口 默认8005 3.修改jvm启动默认端口,默认端口为8009 <br><Connector port="8009" protocol="AJP/1.3&q