关于实现在服务器停掉的时候调用bean的destroy方法
程序员文章站
2022-07-07 15:37:52
...
今天遇到一个需求, 就是在停掉服务器的时候,希望停止一个web service的服务, 通过spring实现很简单, 只需要bean继承DisposableBean就可以了, 代码如下:
xml配置就一行就可以了!
还有一个需求就是初始化bean的时候需要执行一段代码, 这个只需要配置文件中添加init-method属性就可以了!
然后在类中实现init方法:
package com.citi.risk.portal.util; import org.springframework.beans.factory.DisposableBean; import com.citi.icg.cs.es2.core.ESClient; public class ESATEntitlementDestroyer implements DisposableBean{ @Override public void destroy() throws Exception { System.out.println("==================ESATEntitlementDestroyer.destory() was called.=================="); try{ if(ESClient.isRunning()) ESClient.stop(); }catch(Exception se){ se.printStackTrace(); } } }
xml配置就一行就可以了!
<bean id="esatTEntitlementDestroyer" class="com.citi.risk.portal.util.ESATEntitlementDestroyer" />
还有一个需求就是初始化bean的时候需要执行一段代码, 这个只需要配置文件中添加init-method属性就可以了!
<bean id="esatEntitlement" class="com.citi.risk.portal.util.ESATEntitlement" init-method="init"/>
然后在类中实现init方法:
public void init(){ System.out.println("==================Start to initial ESATEntitlement to get IESService instance============="); try { if (!ESClient.isRunning()) ESClient.start(); esCitiriskRestrictedService = ESClient.getESService("citiriskrestricted"); esCitiriskService = ESClient.getESService("citirisk"); } catch (Exception e) { System.out.println("---ESClient is not run or down--- "); e.printStackTrace(); } }
上一篇: 公司开年会
下一篇: Jquery Ajax代替iframe