IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  XML  >

Building an XML-based message server

An illustrative example of an XML-based message server

developerWorks

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

    关于 IBM 隐私条约 联系 IBM 使用条款