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

📄 pdusender.java

📁 Logica lastest SMPP API
💻 JAVA
字号:
package com.smpp.server;

import java.io.IOException;

import com.logica.smpp.Session;
import com.logica.smpp.TimeoutException;
import com.logica.smpp.WrongSessionStateException;
import com.logica.smpp.debug.Debug;
import com.logica.smpp.debug.Event;
import com.logica.smpp.pdu.EnquireLinkResp;
import com.logica.smpp.pdu.PDUException;
import com.logica.smpp.pdu.SubmitSM;
import com.logica.smpp.pdu.ValueNotSetException;
import com.logica.smpp.util.Queue;

public class PDUSender implements Runnable {
	private Session session = null;

	private GatewayProperties gp = null;

	private Event event;

	private Debug debug;

	Queue responseQueue;

	MTSenderQueue mtsq;

	String systemId;

	/**
	 * @param args
	 */
	public static void main(String[] args) {


	}

	public PDUSender(GatewayProperties gp1, Session session1) {
		gp = gp1;
		session = session1;
		event = gp.getEvent();
		debug = gp.getDebug();
		systemId = gp.getSystemId();
		String routes = gp.getRoutes();
		Router router = Router.getRouter();
		router.setRoutingData(systemId, routes);

		mtsq = MTSenderQueue.getMTSenderQueue();

	}

	public void run() {
		System.out
				.println("################Sender Started####################");
		while (true) {

			Object object = mtsq.getMessageFromQueue(systemId);
			// System.out.println(object);
			// System.out.println("Queue Size : "+senderQueue.size());
			if (object != null && object instanceof Message) {
				// System.out.println("Valid Message in Queue");
				Message message = (Message) object;
				// System.out.println("About to send message in
				// :"+gp.getSystemId());
				submit(message);
			}

			try {
				Thread.sleep(100);
			} catch (InterruptedException e) {
				e.printStackTrace();
				
			}
		}
	}

	private void submit(Message message) {
		debug.enter(this, "SMPPSender.submit()");

		try {
			SubmitSM request = new SubmitSM();
			
			 
			
			request.setServiceType(message.getServiceType());
			request.setSourceAddr(message.getSourceAddress());
			request.setShortMessage(message.getShortMessage());
			request.setProtocolId(message.getProtocolId());
			// request.assignSequenceNumber(true);
			request.setSequenceNumber(message.getSeqNo());

			
			// send the request
			// System.out.println("Submit request by Sender" +
			// request.debugString());
			// long a = System.currentTimeMillis();
		 
				request.setDestAddr(message.getDestAddress());
				//System.out.println("Dest Address Now :"+message.getDestAddress());
			
				session.getTransmitter().send(request);
		 

			// response = session.submit(request);
			// long b = System.currentTimeMillis();
			// System.out.println("Time taken to send and receive response
			// :"+(b-a));
			/*
			 * System.out.println("Submit response in Sender" +
			 * response.debugString()); String messageId =
			 * response.getMessageId(); System.out.println("Message ID received
			 * by Sender:" + messageId);
			 * System.out.println("^^^^^^^^^^^^^^^^^^^^^^^");
			 * System.out.println();
			 */

		} catch (Exception e) {
			event.write(e, "");
			debug.write("Submit operation failed. " + e);
			System.out.println("Submit operation failed. " + e);
			
			try {
				session.unbind();
			} catch (ValueNotSetException e1) {
				event.write(e1, "");
				debug.write("Session Unbind Failed  " + e1);
				System.out.println("Session Unbind Failed. " + e1);
			} catch (TimeoutException e1) {
				event.write(e1, "");
				debug.write("Session Unbind Failed  " + e1);
				System.out.println("Session Unbind Failed. " + e1);
			} catch (PDUException e1) {
				event.write(e1, "");
				debug.write("Session Unbind Failed  " + e1);
				System.out.println("Session Unbind Failed. " + e1);
			} catch (WrongSessionStateException e1) {
				event.write(e1, "");
				debug.write("Session Unbind Failed  " + e1);
				System.out.println("Session Unbind Failed. " + e1);
			} catch (IOException e1) {
				event.write(e1, "");
				debug.write("Session Unbind Failed  " + e1);
				System.out.println("Session Unbind Failed. " + e1);
			}
			
					 
		} 
	}

}

⌨️ 快捷键说明

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