我创建了一个套接字服务器应用程序,它将接受来自本地网络上其他计算机的客户端连接。该应用程序是从 public static void main 方法运行的。是一个非常标准的java应用程序。
我还创建了一个在tomcat上运行的Web服务,它也使用java。 Web 服务将 http post 接受来自任何互联网连接设备的请求。
一旦 Web 服务收到请求,我希望它通过套接字服务器发送指令并向连接的客户端发送一些数据。
我想在 Web 服务中运行套接字服务器应用程序,以便 Web 服务无需作为客户端连接即可访问套接字服务器。
运行标准 java 应用程序以便 tomcat 服务器在启动时启动该应用程序的最佳方法是什么?我应该将它作为 servlet 运行还是有更好的方法让 Web 服务访问套接字
最佳答案
在适当的应用程序服务器内打开自己的服务器套接字的应用程序是毫无意义的,并且可能会适得其反。
想一想:Tomcat 可能在端口 8080 上运行。假设您的应用程序将在端口 9080 上运行。您认为客户端需要连接到哪个端 Eloquent 能使用您的服务?如果您回答正确,那么您期望 Tomcat 为您提供什么服务/好处,如果您的客户实际上根本不打算与 tomcat 交互?
您不需要(完整的)应用程序服务器来运行您自己的个人服务器。您可以选择:
a Java web service without a web application server ,它允许您在普通 JSE 中部署完整的 JAX-WS Web 服务,无需应用程序服务器
使用jdk's embedded HTTP server处理您的请求
部署独立应用程序 as a windows (or other OS) service
关于java - 运行Java应用程序以在tomcat服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25838289/