 |
Return to article
public void run() {
try {
String msg = readSocket();
Message inboundMessage = new Message(msg);
//find the correct queue in the container
if ((queue = (Hashtable) queueContainer.get(inboundMessage.getQueueName())) == null) {
Message outboundMessage = new Message();
outboundMessage.setStatus(Message.STATUS_QUEUE_NOT_FOUND);
writeSocket(outboundMessage.toString());
//put message on queue
} else if (inboundMessage.isCommand(Message.COMMAND_PUT)) {
put(inboundMessage);
Message outboundMessage = new Message();
outboundMessage.setStatus(status);
writeSocket(outboundMessage.toString());
//get message from queue and remove it
} else if (inboundMessage.isCommand(Message.COMMAND_GET)) {
Message outboundMessage = get(inboundMessage);
if (outboundMessage == null) {
outboundMessage = new Message();
outboundMessage.setStatus(Message.STATUS_NOT_FOUND);
} else {
outboundMessage.setStatus(status);
remove(inboundMessage);
}
writeSocket(outboundMessage.toString());
//purge the queue
} else if (inboundMessage.isCommand(Message.COMMAND_DELETE)) {
purge(inboundMessage);
Message outboundMessage = new Message();
outboundMessage.setStatus(status);
writeSocket(outboundMessage.toString());
//invalid command
} else {
Message outboundMessage = new Message();
outboundMessage.setStatus(Message.STATUS_INVALID_COMMAND);
writeSocket(outboundMessage.toString());
}
socket.close();
} catch (Exception e) {
System.out.println("QueueManager:run:1:" + e.toString());
}
}
|
Return to article
|  |
|