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);
|
}
|
|
}
|