今天遇到一个需求, 就是在停掉服务器的时候,希望停止一个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();
}
}