package com.sy.task; import com.sy.bwAnalysis.MessageAnalysis; import com.sy.bwAssist.Message; import com.sy.service.router.MessageRouter; import com.sy.service.router.RouterContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; /** * 本地报文处理器 */ @Component public class LocalFileTaskHandle implements Runnable{ private static LocalFileTaskHandle localFileTaskHandle; private String message; @Qualifier("X21") @Autowired private MessageRouter messageRouterX21; @Qualifier("X22") @Autowired private MessageRouter messageRouterX22; @PostConstruct public void init() { localFileTaskHandle = this; } @Override public void run() { String string = message.replace("Msg","MSG"); MessageAnalysis analysis = new MessageAnalysis(); Message message = analysis.readTicketsXml(string); mesageHandle(message); } public void mesageHandle(Message message){ if ("CARM".equals(message.getMeta().getSmType())) { //策略判断 if(message.getComInfo() !=null){ RouterContext routerContext = new RouterContext(localFileTaskHandle.messageRouterX22); routerContext.executeStrategy(message); }else{ RouterContext routerContext = new RouterContext(localFileTaskHandle.messageRouterX21); routerContext.executeStrategy(message); } } } public void setMessage(String message) { this.message = message; } }