java activemq 封装_activemq api的封装

importjava.io.Serializable;importjavax.jms.Connection;importjavax.jms.ConnectionFactory;importjavax.jms.Destination;importjavax.jms.JMSException;importjavax.jms.Message;importjavax.jms.MessageConsumer;importjavax.jms.MessageListener;importjavax.jms.MessageProducer;importjavax.jms.ObjectMessage;importjavax.jms.Session;/*本工具封装了*/

importjavax.jms.TextMessage;importjavax.jms.Topic;importjavax.jms.TopicConnection;importjavax.jms.TopicConnectionFactory;importjavax.jms.TopicPublisher;importjavax.jms.TopicSession;importjavax.jms.TopicSubscriber;importorg.apache.activemq.ActiveMQConnection;importorg.apache.activemq.ActiveMQConnectionFactory;public classJMSTopic {

TopicConnectionFactory connectionFactory;//Connection :JMS 客户端到JMS Provider 的连接

TopicConnection connection = null;//用来发布的会话

TopicSession proSession= null;//2一个订阅会话

TopicSession conSession = null;//主题发布者

MessageProducer producer=null;//主题

MessageConsumer consumer=null;//Destination :消息的目的地;消息发送给谁.

Destination destination;//MessageProducer:消息发送者//默认构造函数,默认的连接activemq,可以写多个构造函数

publicJMSTopic()

{

connectionFactory= newActiveMQConnectionFactory(

ActiveMQConnection.DEFAULT_USER,

ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");try{

connection=connectionFactory.createTopicConnection();

}catch(JMSException e) {//TODO Auto-generated catch block

e.printStackTrace();

}try{

connection.start();

}catch(JMSException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}//此处先固定消息为String类型

public voidwriteMessage(String t,String message )

{try{

proSession=connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

producer=proSession.createProducer(proSession.createTopic(t));//使用message构造TextMessage

TextMessage text=proSession.createTextMessage();

text.setText(message);

producer.send(text);

}catch(JMSException e) {//TODO Auto-generated catch block

e.printStackTrace();

}//创建发布会话应该是可以配置的,此处先固定

}public voidwriteMessage(String t,Object o )

{try{

proSession=connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

producer=proSession.createProducer(proSession.createTopic(t));//使用message构造TextMessage

ObjectMessage text=proSession.createObjectMessage();

text.setObject((Serializable) o);

producer.send(text);

}catch(JMSException e) {//TODO Auto-generated catch block

e.printStackTrace();

}//创建发布会话应该是可以配置的,此处先固定

}//使用某个Message监听器来监听某个Topic

public voidreceiveMsg(String c,MessageListener ml)

{try{

conSession=connection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);

Topic t=conSession.createTopic(c);

consumer=conSession.createConsumer(t);//设置过来的监视器

consumer.setMessageListener(ml);

}catch(JMSException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值