📄 mtsenderqueue.java
字号:
package com.smpp.server;
import java.util.Hashtable;
import com.logica.smpp.util.Queue;
public class MTSenderQueue
{
private static Hashtable<String, Queue> hash = new Hashtable<String, Queue>();
private static MTSenderQueue mtSenderQueue = new MTSenderQueue();
private MTSenderQueue()
{
}
public static MTSenderQueue getMTSenderQueue()
{
return mtSenderQueue;
}
public void setMessageInQueue(Object message1)
{
Message message = null;
long a = System.currentTimeMillis();
if (!(message1 instanceof Message))
{
//System.out.println("Incorrect Message in Queue");
return;
}
else
{
message = (Message)message1;
}
//System.out.println("Sender is :"+smppSender);
if(!message.isMulti())
{
String smppSender = resolveSender(message);
Queue queue = getQueue(smppSender);
queue.enqueue(message);
hash.put(smppSender,queue);
} else
{
Message m[] = message.getMessages(message) ;
int size = m.length;
for(int i = 0; i < size ; i++)
{
String smppSender = resolveSender(m[i]);
//System.out.println("Sender :"+ smppSender + " Dest No :"+m[i].getDestAddress());
Queue queue = getQueue(smppSender);
queue.enqueue(m[i]);
hash.put(smppSender,queue);
}
}
long b = System.currentTimeMillis();
//System.out.println("In MT Sende Q:"+(b-a));
//System.out.println("Message set in Queue");
}
public Object getMessageFromQueue(String smppSender)
{
//System.out.println(hash);
Queue queue = (Queue)hash.get(smppSender);
//System.out.println("Queue size "+queue.size());
return (queue == null) ? null : queue.dequeue();
}
private String resolveSender(Object message)
{
Message mes = (Message)message;
String destAddress = mes.getDestAddress();
String smppSender = Router.getRouter().getSMPPSenderId(destAddress);
return smppSender;
}
private Queue getQueue(String smppSender)
{
Queue queue = null;
queue = (Queue)hash.get(smppSender);
if(queue == null)
{
queue = new Queue();
}
return queue;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -