📄 getconfigtimertask.java
字号:
package com.cmcc.timertask;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.TimerTask;
import org.apache.log4j.Logger;
import org.codehaus.xfire.aegis.AegisBindingProvider;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import com.cmcc.business.iface.IGetConfigService;
import com.cmcc.hibernate.GmcfgAddr;
import com.cmcc.util.Constant;
import com.cmcc.util.SpringHelper;
import com.cmcc.web.util.GetValidServer;
import com.cmcc.web.util.ServerList;
import com.cmcc.ws.Result;
import com.cmcc.ws.info.IUserInfo;
public class GetConfigTimertask extends TimerTask {
private static Logger log = Logger.getLogger(GetConfigTimertask.class);
private boolean blnrun;
private static HashMap<String, Serializable> props = new HashMap<String, Serializable>();
private static ObjectServiceFactory serviceFactory;
private static Service serviceModel;
static {
props.put(AegisBindingProvider.WRITE_XSI_TYPE_KEY, Boolean.TRUE);
props.put(AegisBindingProvider.READ_XSI_TYPE_KEY, Boolean.TRUE);
ArrayList l = new ArrayList();
l.add(Result.class.getName());
l.add(com.cmcc.ws.info.UserInfo.class.getName());
props.put(AegisBindingProvider.OVERRIDE_TYPES_KEY, l);
log.info(" Loading props!");
serviceFactory = new ObjectServiceFactory();
serviceModel = serviceFactory.create(IUserInfo.class, props);
}
public boolean isBlnrun() {
return blnrun;
}
public void setBlnrun(boolean blnrun) {
this.blnrun = blnrun;
}
public void run() {
try {
if (blnrun == false) {
blnrun = true;
this.getConfigTask();
}
} catch (Exception e) {
log.error(e.toString());
} finally {
blnrun = false;
}
}
private void getConfigTask() {
Constant.wsListUserInfo = new ArrayList<ServerList>();
IGetConfigService ics = SpringHelper.getConfigService();
String str = "";
List<GmcfgAddr> list = ics.getConfig(Constant.WS_URL_MID);
for (int i = 0; i < list.size(); i++ ) {
GmcfgAddr ca = list.get(i);
if (ca.getInternalPort() > 0)
str = "http://" + ca.getIp() + ":"
+ ca.getInternalPort() + Constant.WS_URL_USERINFO_PREX;
else
str = "http://" + ca.getIp() + Constant.WS_URL_USERINFO_PREX;
//测试:固定serviceapi地址
// str = "http://192.168.104.102:8080"+Constant.WS_URL_USERINFO_PREX;
ServerList user = new ServerList();
user.setServer_id("");
user.setServer_url(str);
Constant.wsListUserInfo.add(user);
log.info("wsListUserInfo::"+str);
}
log.info("wsListUserInfo size is : " + Constant.wsListUserInfo.size());
list.clear();
GetValidServer selectR = new GetValidServer();
selectR.setTotalList(Constant.wsListUserInfo);
for (int i = 0; i < Constant.wsListUserInfo.size(); i++) {
String serverurl = "";
try{
serverurl = selectR.getUserList().getServer_url();
IUserInfo service = (IUserInfo) new XFireProxyFactory().create(
serviceModel, serverurl);
Constant.serviceMap.put(i, service);
} catch (Exception e ) {
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -