JAX-WS服务生命周期
问题描述:
我正在开发一个从另一个服务器获取服务的JAX-WS webservice。我必须打开套接字并关闭套接字才能使用此服务。JAX-WS服务生命周期
我正在寻找一些方法,我可以在部署中打开套接字并关闭套接字以部署web服务。
我计划使用@PostConstruct和@PreDestroy但它不fullfill我的要求,当一个新的实例被添加到方法就绪池
@PreDestroy只调用时
@PostConstruct只叫应用程序服务器决定减少Method-Ready池的大小 - 即它确定它不需要保留您的@WebService的多个实例。
请推荐我如何解决这个问题。我试图打开和关闭每个请求的套接字,但它导致客户端超时。
问候, 伊姆兰
答
你可以检查在构造函数或PostConstruct注释的方法,你的静态插座是否被初始化(非空的实例)。并根据需要进行初始化。
如果您需要维护一个静态int与实例加载的数量,您可以。
然后,您可以在Finalize或PreDestroy中使用,减少计数器并在其达到0时销毁套接字。