...
|
...
|
@@ -2,9 +2,13 @@ package com.sy.IMF; |
|
|
|
|
|
import com.caac.imf.api.IMFClient;
|
|
|
import com.sy.bwAnalysis.AnalysisRoute;
|
|
|
import com.sy.utils.XMLThreadPoolFactory;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.log4j.Logger;
|
|
|
|
|
|
import java.util.concurrent.ThreadPoolExecutor;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
public class KAKO_Reader extends Thread{
|
|
|
protected static final Logger logger = Logger.getLogger(KAKO_Reader.class);
|
|
|
private IMFClient client;
|
...
|
...
|
@@ -22,13 +26,23 @@ public class KAKO_Reader extends Thread{ |
|
|
logger.info("********读取线程状态true**********");
|
|
|
logger.info("********Client-INFO= "+client+"********");
|
|
|
Thread t =Thread.currentThread();
|
|
|
ThreadPoolExecutor threadPoolEs = XMLThreadPoolFactory.instance("kakou");
|
|
|
while(true) {
|
|
|
if (IMF_Tesk.LOGIN_OK){
|
|
|
String message = this.client.getMSG();
|
|
|
logger.info(t.toString()+"读取线程已获取到消息");
|
|
|
if (message != null && StringUtils.isNotEmpty(message)) {
|
|
|
// logger.info(message);
|
|
|
AnalysisRoute.analysis(message);
|
|
|
|
|
|
AnalysisRoute analysisRoute=new AnalysisRoute();
|
|
|
analysisRoute.setMessage(message);
|
|
|
threadPoolEs.execute(analysisRoute);
|
|
|
logger.info("[THREADPOOL-INFO]-当前运行线程总数量: " + threadPoolEs.getActiveCount());
|
|
|
logger.info("[THREADPOOL-INFO]-线程队列数量: " + threadPoolEs.getQueue().size());
|
|
|
logger.info("[THREADPOOL-INFO]-完成的线程总数量: " + threadPoolEs.getCompletedTaskCount());
|
|
|
logger.info("[THREADPOOL-INFO]-空闲线程释放时间(秒): " + threadPoolEs.getKeepAliveTime(TimeUnit.SECONDS));
|
|
|
|
|
|
//AnalysisRoute.analysis(message);
|
|
|
// if(message.indexOf("<TYPE>CARM</TYPE>") > 0){
|
|
|
// this.client.sendMSG();
|
|
|
// }
|
...
|
...
|
@@ -41,7 +55,7 @@ public class KAKO_Reader extends Thread{ |
|
|
}
|
|
|
|
|
|
try {
|
|
|
Thread.sleep(500L);
|
|
|
Thread.sleep(200L);
|
|
|
} catch (InterruptedException var3) {
|
|
|
logger.info("********读取线程循环获取消息异常---->"+var3.toString());
|
|
|
var3.printStackTrace();
|
...
|
...
|
|