package com.ld.igds.protocol.zldz.server; import com.ld.igds.protocol.zldz.mq.PublisherControl; import com.ld.igds.protocol.zldz.util.ServerUtils; import com.ld.igds.util.BytesUtil; import com.ld.igds.util.SpringUtil; import com.ld.io.api.IoMsgConsumer; import com.ld.io.api.IoSession; /** * 接收终端返回回来的信息。 * * @author Andy */ public class MsgConsumer implements IoMsgConsumer { // private AnalysisService analysisService; private PublisherControl publisherControl; @Override public void consume(IoSession session, byte[] bytes) { // 调用解析接口开始解析 // if(null == analysisService){ // analysisService = (AnalysisService) // SpringUtil.getBean(AnalysisService.BEAN_ID); // } // analysisService.analysis(session.getAddress(),session.getPort(),bytes); // 2021年6月9日 调整为消息队列处理 if (null == publisherControl) { publisherControl = SpringUtil.getBean(PublisherControl.class); } String strMsg = BytesUtil.bytesToString(bytes) + ServerUtils.MSG_END; // 二次调整报文 if (!strMsg.startsWith(ServerUtils.MSG_START)) { strMsg = strMsg.substring(strMsg.indexOf(ServerUtils.MSG_START)); } publisherControl.publishMessage(session.getBusinessKey() + "_" + strMsg); } }