activemq 开启监听_至于activeMQ的消息监听

当前位置:我的异常网» J2EE » 至于activeMQ的消息监听

至于activeMQ的消息监听

www.myexceptions.net  网友分享于:2013-12-16  浏览:1517次

关于activeMQ的消息监听

小弟最近在研究activeMQ~之前对于JMS也基本不太了解`~~

现在找了个简单的例子

代码中间有一段

public void onMessage(Message message) {

try {

if (message instanceof TextMessage) {

TextMessage txtMsg = (TextMessage) message;

String msg = txtMsg.getText();

System.out.println("Consumer:->Received: " + msg);

} else {

System.out.println("Consumer:->Received: " + message);

}

} catch (JMSException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

这段应该是实现了监听消息的接口吧~

我想问的是,其中的message就是发送的消息,这段代码是在后台打印出消息内容来的..那我怎么在前台拿到这个message内容?

比如A给B发消息~B点接收后显示消息``

还有就是当A给B发送消息时,B是如何知道有没有消息增加?

我现在自己做一个小东西就是想要实现上面2个功能,A给B发消息后,B弹出提示或什么的,点接收就显示消息内容~

希望有心人能回答下~分不够可以加``

------解决方案--------------------

public void run() {

Connection connection = null;

try {

System.out.println("Connecting to URL: " + url);

System.out.println("Publishing a Message with size " + messageSize

+ " to " + (topic ? "topic" : "queue" + ": " + subject));

System.out.println("Using "

+ (persistent ? "persistent" : "non-persistent"

+ " messages"));

System.out.println("Sleeping between publish " + sleepTime + " ms");

if (timeToLive != 0) {

System.out.println("Messages time to live " + timeToLive

+ " ms");

}

// Create the connection.

ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(

user, password, url);

//---------------------------------------

//-----------------------------------------

connection = connectionFactory.createConnection();

connection.start();

// Create the session

Session session = connection.createSession(transacted,

Session.AUTO_ACKNOWLEDGE);

//队列取数据========================================

//=================================================

if (topic) {

destination = session.createTopic(subject);

} else {

destination = session.createQueue(subject);

}

//QueueSession sessionQ =(QueueSession)connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

//QueueReceiver receiver=sessionQ.createReceiver((Queue) destination);

// Create the producer.

MessageProducer producer = session.createProducer(destination);

/*

try{

TextMessage tm = (TextMessage) receiver.receive();

System.out.println("receive successful!");

String messageContent = tm.getText();

System.out.println("The content of the receiving message is:" + messageContent);

}catch(Exception ex){

ex.getStackTrace();

ex.getMessage();

}finally{

receiver.close();

}

*/

if (persistent) {

producer.setDeliveryMode(DeliveryMode.PERSISTENT);

} else {

producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

}

if (timeToLive != 0)

producer.setTimeToLive(timeToLive);

// Start sending messages

sendLoop(session, producer);

System.out.println("Done.");

// Use the ActiveMQConnection interface to dump the connection stats.

ActiveMQConnection c = (ActiveMQConnection) connection;

文章评论

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值