TCP-сервер Java внутри веб-приложения Tomcat - PullRequest
3 голосов
/ 10 августа 2011

Ребята, у меня есть приложение java-сервера, работающее автономно, оно получит tcp-соединение, выполнит некоторую обработку и также отправит ответ. и я хочу запустить это внутри веб-сервера Tomcat вместе с веб-приложением. я запускаю серверное приложение с помощью сервлета, используя onload = 1 в web.xml. поэтому при запуске tomcat также запускается серверное приложение. Я ожидаю, что и веб-приложение, и серверное приложение будут работать с tomcat и разделять между собой некоторые одноэлементные классы и общие классы. У меня также есть Hibernate внутри и будет, за исключением того, что нет проблем с развертыванием приложений. пожалуйста, дайте мне знать, если есть какие-либо проблемы с этим или какие-либо предложения.

1 Ответ

4 голосов
/ 10 августа 2011

Вот несколько вещей, которые следует учитывать:

  1. Вторичный сервер, который вы запускаете, должен быть разветвлен и иметь свой собственный поток.Если вы этого не сделаете, Tomcat не сможет завершить процесс запуска.Это может не быть проблемой при запуске из сервлета, но это может произойти, если вы последуете совету в # 2.
  2. Вторичный сервер должен быть в состоянии получить какой-то тип сигнала, чтобы знать, что он должен закрытьсявниз.Вместо того, чтобы использовать Servelet для запуска, я бы предложил ServletContextListener .Он может получать события запуска и завершения работы, поэтому вы можете запускать и уничтожать вторичный сервер оттуда.

Ваш ServletContextListener должен будет реализовать следующие методы:

public void contextInitialized(ServletContextEvent event)

public void contextDestroyed(ServletContextEvent event)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...