ActiveMQ的簡單案例

jopen 10年前發布 | 20K 次閱讀 ActiveMQ 消息系統

這里導入lib包后即可運行代碼,具體的流程可以看資料:首先啟動activeMQ,再運行send和receive程序!

    package jms;

import javax.jms.Connection;  
import javax.jms.DeliveryMode;  
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;  
import org.apache.activemq.broker.BrokerService;  
import org.apache.log4j.PropertyConfigurator;  

public class PTP_sends {  
    /** 
     * @param args 
     */  

    public PTP_sends(){  

    }  

    private Connection connection;  
    private String subject = "TOOL.DEFAULT";  


    public void send(String msg){  
        //創建connectionFaction  

        ActiveMQConnectionFactory connectionFactory =new ActiveMQConnectionFactory("tcp://localhost:61616");  
        try {  
            //創建connection  
            connection=connectionFactory.createConnection();  
            connection.start();  
            //創建session,設置消息確認機制  
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);  
            //創建destination  
            Destination destination=session.createQueue(subject);  
            //創建producer  
            MessageProducer producer=session.createProducer(destination);  
            //設置JMS的持久性  
            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);  
            //JMS消息體  
            TextMessage message = session.createTextMessage(msg);  

            //發生消息message  
            producer.send(message);  
            System.out.println("消息已經發送。。。。");  



            //關閉資源  
            message.clearProperties();  
            session.close();  
            connection.stop();  
            connection.close();  
            System.out.println("關閉資源。。。。");  
        } catch (JMSException e) {  
            e.printStackTrace();  
        }  
    }  

    public static void main(String[] args) {  
        PropertyConfigurator.configure("c:\\log4j.properties");  

        //代碼啟動activeMQ  
//      BrokerService broker = new BrokerService();  
//      try {  
//          broker.addConnector("tcp://localhost:61616");  
//          broker.start();  
//      } catch (Exception e) {  
//          e.printStackTrace();  
//      }  

        PTP_sends ptpSends=new PTP_sends();  
        ptpSends.send("this is JMS .....");  
    }  

}  </pre><br />

package jms;

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;
import org.apache.log4j.PropertyConfigurator;

public class PTP_receive {

/** 
 * @param args 
 */  

private Connection connection;  
private String subject = "TOOL.DEFAULT";  



 public void receive(){  
        ActiveMQConnectionFactory connectionFactory =new ActiveMQConnectionFactory();  
        try {  
            //創建connection  
            connection=connectionFactory.createConnection();  
            connection.start();  
            //創建session  
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);  
            //創建destination  
            Destination destination=session.createQueue(subject);  
            MessageConsumer consumer=session.createConsumer(destination);  
            System.out.println("同步接受消息:");  
            Message message=consumer.receive();  
            System.out.println("\n收到的message 是:"+((TextMessage)message).getText());  


            //關閉資源  
            message.clearProperties();  
            consumer.close();  
            session.close();  
            connection.stop();  
            connection.close();  
            System.out.println("關閉資源。。。。");  
        } catch (JMSException e) {  
            e.printStackTrace();  
        }  
    }  

public static void main(String[] args) {  
    PropertyConfigurator.configure("c:\\log4j.properties");  
    PTP_receive receive=new PTP_receive();  
    receive.receive();  
}  

} </pre></div> </div> </div> 來自:http://blog.csdn.net/caiwenfeng_for_23/article/details/8606538

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!