Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat web应用中的java TCP服务器_Java_Hibernate - Fatal编程技术网

Tomcat web应用中的java TCP服务器

Tomcat web应用中的java TCP服务器,java,hibernate,Java,Hibernate,各位,我有一个独立运行的java服务器应用程序,它将获得tcp连接,并进行一些处理,同时发送一些响应。我想在TomcatWeb服务器和web应用程序中运行它。我将使用web.xml中的onload=1通过servlet启动服务器应用程序。因此,在启动tomcat时,服务器应用程序也会启动。我希望web应用程序和服务器应用程序都能和tomcat一起运行,并在它们之间共享一些单例类和公共类。我的内部也有hibernate,除了应用程序的部署没有问题之外,我不会使用它。如果您对此或任何建议有任何问题,

各位,我有一个独立运行的java服务器应用程序,它将获得tcp连接,并进行一些处理,同时发送一些响应。我想在TomcatWeb服务器和web应用程序中运行它。我将使用web.xml中的onload=1通过servlet启动服务器应用程序。因此,在启动tomcat时,服务器应用程序也会启动。我希望web应用程序和服务器应用程序都能和tomcat一起运行,并在它们之间共享一些单例类和公共类。我的内部也有hibernate,除了应用程序的部署没有问题之外,我不会使用它。如果您对此或任何建议有任何问题,请告知我。

以下是一些需要考虑的事项:

  • 您正在启动的辅助服务器需要分叉并具有自己的线程。如果不这样做,Tomcat可能无法完成启动过程。从Servlet启动时,这可能不是一个问题,但如果遵循#2中的建议,可能会出现问题
  • 辅助服务器需要能够接收某种类型的信号,才能知道它是否关闭。与其使用Servelet来启动,我建议使用一个。它能够接收启动和关闭事件,因此您可以从那里初始化和销毁辅助服务器
  • 您的ServletContextListener需要实现以下方法:

    public void contextInitialized(ServletContextEvent event)
    
    public void contextDestroyed(ServletContextEvent event)
    

    使用像spring这样的web框架,使您的tcp服务器成为您的webapp中的另一个单体。谢谢!这解决了我的用例。实现ServletContextListener后,只需将其与web.xml中的标记一起添加即可