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

📄 mothread.java

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

import java.util.concurrent.ConcurrentLinkedQueue;

import javax.jms.JMSException;

import com.madhouse.wireless.sms.*;
import cn.madhouse.gateway.empp.msgformat.*;
import cn.madhouse.jms.JmsService;
import cn.madhouse.gateway.empp.util.Tools;

public class MoThread extends Thread {

	private int sleepTime;
	private MessageQueue msgQueue;
	private JmsService jmsService;
	
	public MoThread(int sleepTime, MessageQueue msgQueue, JmsService jmsService) {
		this.sleepTime = sleepTime;
		this.msgQueue = msgQueue;
		this.jmsService = jmsService;
	}

	@Override
	public void run() {
		ConcurrentLinkedQueue<DeliverRequest> moRequestQueue = msgQueue.getMoRequestQueue();
		ConcurrentLinkedQueue<DeliverResponse> moResponseQueue = msgQueue.getMoResponseQueue();
		
		DeliverRequest moReq;
		do {
			//System.out.println("mo");
			moReq = moRequestQueue.poll();
			if(moReq != null) {
				try {
					jmsService.moSend(parseMOSMS(moReq));
					System.out.println("mo Content =" + parseMOSMS(moReq).getMessage());
				} catch (JMSException e) {
					e.printStackTrace();
				}
				DeliverResponse moResp = genResponse(moReq);
				moResponseQueue.offer(moResp);
			}
			try {
				sleep(sleepTime);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		} while (true);
	}
	
	public static DeliverResponse genResponse(DeliverRequest moReq) {
		int sequenceId = moReq.getSequenceId();
		byte[] msgId = moReq.getMsgId();
		int result = 0;
		String serviceId = moReq.getServiceId();
		DeliverResponse moResp = new DeliverResponse(sequenceId, msgId, result, serviceId);
		return moResp;
	}
	
	private MOSMS parseMOSMS(DeliverRequest moReq) {
		String linkId = moReq.getLinkId();
		String destId = moReq.getDestId();
		byte[] msgId = moReq.getMsgId();
		String msgContent = moReq.getMsgContent();
		String serviceId = moReq.getServiceId();
		String srcTerminalId = moReq.getSrcTerminalId();
		Integer srcTerminalType = moReq.getSrcTerminalType();
		
		MOSMS moSms = new MOSMS();
		moSms.setGateway("empp");
		moSms.setLinkID(linkId);
		moSms.setLongCode(destId);
		moSms.setMessage(msgContent);
		moSms.setMsgID(Tools.byte2long(msgId));
		moSms.setMsgType(WireMessage.MSG_TYPE_SMS);
		moSms.setServiceID(serviceId);
		moSms.setSrcTermID(srcTerminalId);
		moSms.setSrcTermType(srcTerminalType);
		
		return moSms; 
	}
	
}

⌨️ 快捷键说明

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