📄 pdusender.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 + -