2011-10-23 33 views
0

如果我需要像Tomcat服务器那样总是运行并且需要守护进程并且始终处于活动状态并执行使用JAX-WS的HTTP Web服务请求?我可以使用Tomcat作为调用Web服务的请求服务器吗?我需要Java守护进程或只能执行Web服务请求的服务器(Web服务客户端)

更新:
我还是不明白,对不起。我只想要简单的Web服务客户端,它能够将请求发送到多个端点。事情是,它需要永远活着(像服务器或守护进程一样)。它需要活着的原因是它需要读取和执行内部API调用并基于它们来提出Web服务请求。

回答

2

你的问题有点含糊,但据我了解,你正在开发一个Web服务来响应http请求。

这可以很容易地使用Tomcat,Jetty或任何其他servlet容器来完成。您只需将您的应用程序作为WAR部署到servlet容器中,并且servlet容器将负责运行您的Web服务。我假设所有的请求都是普通的http请求,所以HttpServlet是一个很好的起点。看看this tutorial了解更多。

另外请记住,如果您正在开发的Web服务需要与之通信,Tomcat可以为您提供manage database connections。这是推荐的方式,因为Tomcat将负责打开,合并和关闭数据库连接。

如果您正在开发一个执行远程Web服务请求的deamon,那么我会说Tomcat6也可以用于此。一个好的起点是简单地配置一个实现方法contextInitialized()和contextDestroyed()的context listener。这两个方法在WAR启动和停止时被调用。根据您对远程Web服务执行请求的方式和时间,我会看看Quartz Scheduler框架在给定的时间间隔内执行请求。

+0

没有这么抱歉被误解我只是想要Web服务客户端,能够执行Web服务到不同的端点。并且这个客户端需要永远活着(像daemon) – user63898

+0

是的,那么你肯定仍然可以使用Tomcat。如上所述,起点是实现上下文监听器,然后计划将定期执行的任务。这些任务将针对远程Web服务执行请求。 – sbrattla

+0

嗨,谢谢你的回应,我是否需要为请求管理线程池,或者tomcat会给我某种线程池处理程序? – user63898

0

当然。例如,如果您在Windows上为tomcat下载MSI文件并安装它,系统会提示您将其安装为Windows服务。这正是你需要的。如果你在Linux上需要它,请使用RPM分发:它将tomcat安装为unix服务。

+0

也许我没有解释我的自我权利,tomcat作为服务器是好的。即时通讯问我是否可以使用它作为服务器preform HTTP请求到服务器 – user63898