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 .....");
	}

}


 

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();
	}

}

PS:很简陋,主要给自己笔记而已,不明白的可以联系我吧!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值