jms创建实例

来源:互联网 发布:visual studio编程教材 编辑:程序博客网 时间:2024/04/30 09:46

ReceiveMessage.java

package com.sgcc;

import java.io.File;  
 import java.io.FileInputStream;  
 import java.io.FileOutputStream;  
 import java.io.IOException;  
 import javax.jms.BytesMessage;  
 import javax.jms.Connection;  
 import javax.jms.Destination;  
 import javax.jms.JMSException;  
 import javax.jms.Message;  
 import javax.jms.MessageConsumer;  
 import javax.jms.Session;  
 import javax.jms.TextMessage;  
 import org.apache.activemq.ActiveMQConnectionFactory;  
  
 public class ReceiveMessage {  
 private static final String url = "tcp://192.168.2.103:61616";  
 private static final String QUEUE_NAME = "choice.queue";  
 public void receiveMessage() {  
    Connection connection = null;  
   try {  
    try {  
      ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);  
     connection = connectionFactory.createConnection();  
     } catch (Exception e) {  
                  System.out.println(e.toString());  
    }  
     connection.start();  
     Session session = connection.createSession(false,  
       Session.AUTO_ACKNOWLEDGE);  
     Destination destination = session.createQueue(QUEUE_NAME);  
     MessageConsumer consumer = session.createConsumer(destination);  
    consumeMessagesAndClose(connection, session, consumer);  
    } catch (Exception e) {  
      System.out.println(e.toString());  
   }  
 }  
  
 protected void consumeMessagesAndClose(Connection connection,Session session, MessageConsumer consumer)  
 throws JMSException {  
   for (int i = 0; i < 1;) {  
     Message message = consumer.receive(1000);  
    if (message != null) {  
      i++;  
      onMessage(message);  
     }  
    }  
    System.out.println("Closing connection");  
    consumer.close();  
    session.close();  
    connection.close();  
 }  
  
 public void onMessage(Message message) {  
   try {  
    if (message instanceof TextMessage) {  
      TextMessage txtMsg = (TextMessage) message;  
      String msg = txtMsg.getText();  
      System.out.println("Received: " + msg);  
     }  
    } catch (Exception e) {  
    e.printStackTrace();  
    }  
  
 }  
  
 public static void main(String args[]) {  
    ReceiveMessage rm = new ReceiveMessage();  
   rm.receiveMessage();  
 }  
 } 
SendMessage.java

package com.sgcc;

 import javax.jms.Connection;  
 import javax.jms.Destination;  
 import javax.jms.JMSException;  
 import javax.jms.MessageProducer;  
import javax.jms.Session;  
 import javax.jms.TextMessage;  
import org.apache.activemq.ActiveMQConnectionFactory;  
 
 public class SendMessage {  
 private static final String url ="tcp://192.168.2.103:61616";  
private static final String QUEUE_NAME ="choice.queue";  
// protected String expectedBody = "<hello>world!</hello>";  
protected String expectedBody = "发送成功";
 public void sendMessage() throws JMSException{  
    Connection connection =null;  
  try{  
     ActiveMQConnectionFactory connectionFactory =new ActiveMQConnectionFactory(url);  
     connection = (Connection)connectionFactory.createConnection();  
    connection.start();  
     Session session = (Session)connection.createSession(false, Session.AUTO_ACKNOWLEDGE);  
    Destination destination = session.createQueue(QUEUE_NAME);  
     MessageProducer producer = session.createProducer(destination);  
    TextMessage message = session.createTextMessage(expectedBody);  
     message.setStringProperty("headname", "remoteB");  
    producer.send(message);      
    }catch(Exception e){  
     e.printStackTrace();  
   }  
 }  
  
 public static void main(String[] args){  
   
    SendMessage sndMsg = new SendMessage();
 
 
  try{  
    sndMsg.sendMessage();  
   }catch(Exception ex){  
     System.out.println(ex.toString());  
    }  
 } 
 }