最近在用mina获取服务器的数据,但没有和spring进行集成,就利用ApplicationListener实现了自启动
package com.gamesvr.minaenpo;
import javax.annotation.Resource;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import com.gamesvr.minaclient.GameClientHandler;
/**
*
* Copyright 2015年7月27日
* created by txxs
* all right reserved
*/
public class ConnectHost implements ApplicationListener<ContextRefreshedEvent>{
@Resource(name="gameClientHandler")
private GameClientHandler gameClientHandler;
private static final String SERVERIP = "";
private static final int SERVERPORT = 1111;
public GameClientHandler getGameClientHandler() {
return gameClientHandler;
}
public void setGameClientHandler(GameClientHandler gameClientHandler) {
this.gameClientHandler = gameClientHandler;
}
@Override
public void onApplicationEvent(ContextRefreshedEvent arg0) {
gameClientHandler.connectHost(gameClientHandler, SERVERIP, SERVERPORT);
}
}
同时可以再spring—bean.xml文件加入对此bean的管理
<bean id="connectHost" class="com.gamesvr.minaenpo.ConnectHost">
</bean>
利用此机制我们可以对一些数据进行启动时缓存,通过对service启动时的加载实现,并需要缓存的service实现ApplicationListener接口。