⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmsmtreceiver.java

📁 移动empp网关
💻 JAVA
字号:
package cn.madhouse.jms;

import java.util.Map;
import java.util.concurrent.ConcurrentLinkedQueue;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;

import cn.madhouse.gateway.empp.msgformat.SubmitRequest;
import cn.madhouse.gateway.empp.service.MessageQueue;
import cn.madhouse.gateway.empp.util.*;
import com.madhouse.wireless.sms.MTSMS;

public class JmsMtReceiver implements MessageListener {
	
	private MessageQueue msgQueue;
	private int msgSize = 60;
	
	public void setMsgQueue(MessageQueue msgQueue) {
		this.msgQueue = msgQueue;
	}
	public void setMsgSize(int msgSize) {
		this.msgSize = msgSize;
	}

	public void onMessage(Message m) {
		ObjectMessage msg = (ObjectMessage)m;
		Object obj = null;
		try {
			obj = (Object)msg.getObject();
		} catch (JMSException e) {
			e.printStackTrace();
		}
		doMsg(obj);
	}
	
	public void doMsg(Object obj) {
		if((obj instanceof MTSMS)) {
			ConcurrentLinkedQueue<SubmitRequest> mtReqQueue = msgQueue.getMtRequestQueue();
			Map<Integer,Long> sequenseId_idMap = msgQueue.getSequenseId_idMap();
			
			MTSMS mt = (MTSMS)obj;
			SubmitRequest[] mtRequestArray = parseMtRequest(mt);
			/*long id = mt.getId();
			int sequenseId = mtRequestArray*/
			//System.out.println("!!!!!" + mt.getMessage() +" " + mt.getMessage().length());
			sequenseId_idMap.put(mtRequestArray[0].getSequenceId(),mt.getId());
			
			
			for(int i=0;i<mtRequestArray.length;i++) {
				//System.out.println("0000000000= " + mtRequestArray[i].getMsgContent());
				//System.out.println("!!!!!!" + mtRequestArray[i].getMsgContent() + "  " + mtRequestArray[i].getMsgContent().length());
				System.out.println("sequense = " + mtRequestArray[i].getSequenceId());
				mtReqQueue.offer(mtRequestArray[i]);
			}
		}
	}
	
	private SubmitRequest[] parseMtRequest(MTSMS mt) {
		String message = mt.getMessage();
		int msgLen = message.length();
		int n;
		if(msgLen%msgSize == 0) {
			n = msgLen/msgSize;
		} else n = msgLen/msgSize + 1;
		SubmitRequest[] moRequestArray = new SubmitRequest[n];
		int sequenceId = cn.madhouse.gateway.empp.msgformat.Message.genSeqId();
		
		for(int i=1;i<=n;i++) {
			byte[] msgId = null;
			Integer pkTotal = n;
			Integer pkNumber = i;
			Integer registeredDelivery = mt.getNeedReportStatus();
			Integer msgFmt = 15;
			String valIdTime = EmppUtil.getValIdTime();
			String atTime = EmppUtil.getAtTime();
			Integer destUsrtl = 1;
			String destTerminalId = mt.getDestTermID();
			String msgContent;
			if(i != n) {
				msgContent = message.substring(msgSize*(i-1),msgSize*i);
			} else msgContent = message.substring(msgSize*(i-1));
			Integer msgLength = msgContent.length();
			String msgSrc = null;
			String srcId = mt.getSrcTermID();
			String serviceId = mt.getServiceID();
			
			SubmitRequest mtRequest = new SubmitRequest(
					msgId, pkTotal, pkNumber, registeredDelivery, msgFmt,
					valIdTime, atTime, destUsrtl, destTerminalId, msgLength,
					msgContent, msgSrc, srcId, serviceId);
			mtRequest.setSequenceId(sequenceId);
			moRequestArray[i-1] = mtRequest;
		}
		return moRequestArray;
	}
	
	public static void main(String[] arg) {

		MTSMS mt = new MTSMS();
		mt.setGateway("empp");
		mt.setDestTermID("13916065149");
		mt.setLongCode("55551883311");
		mt.setMessage("中华任命共和国万岁!1234567890中华任命共和国万岁!1234567890中华任命共和国万岁!1234567890中华任命共和国万岁!1234567890中华任命共和国万岁!1234567890中华任命共和国万岁!1234567890");
		mt.setMsgType(MTSMS.MSG_TYPE_SMS);
		mt.setNeedReportStatus(1);
		mt.setSrcTermID("55551883311");
		mt.setServiceID("555518833");
		SubmitRequest[] mtRequestArray = new JmsMtReceiver().parseMtRequest(mt);
		for(int i=0;i<mtRequestArray.length;i++) {
			System.out.println("0000000000= " + mtRequestArray[i].getMsgContent());
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -