Web应用程序需要打开socket并支持某些协议

时间:2012-05-30 07:43:45

标签: java multithreading tomcat web-applications spring-mvc

请帮我为我的任务选择正确(稳定和安全)的方法。我在Spring MVC上使用Apache Tomcat实施了网络应用程序。

要提供一些服务,我需要通过网络连接到外部应用程序。此外,我必须使用此软件支持特定的网络协议。

在这种情况下,我的网络应用程序是客户端,外部应用程序是服务器。而且,外部应用程序可以在许多实例中运行,因此我的web-app必须打开许多套接字。

应该异步支持每个连接,所以我似乎应该为每个连接创建一个线程。

我以为我可以为Spring的调度程序servlet创建一个ContextListener并实现生命周期的事件:init和destroy。所以在这里我可以在初始化阶段创建和启动我的异国情调服务,并在销毁阶段关闭它。

我意识到我的解决方案可能不够准确。可能是我应该使用TaskExecuter或其他东西。我有兴趣知道你会给我什么建议。

非常感谢!

2 个答案:

答案 0 :(得分:0)

由于您已经在使用Spring MVC,因此简单地使用Spring的lifecycle callbacks进行初始化和清理可能更容易。

您可以为每个外部对等体(或多个具有不同配置设置的对等体)创建一个单独的服务bean,否则它们将是相同的,并将它们用作标准的Spring管理服务。

答案 1 :(得分:0)

你为什么要为它做一个服务?您的Web应用程序(客户端)可以简单地使用抽象控制器从外部应用程序调用/请求数据,并在任何给定事件时在浏览器上显示响应...

请更具体地说明您要做的事情