activemq获取消息的详细信息

		
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
				new String[] { "classpath:/conf/applicationContext_jms.xml" });
		
		JmsTemplate template = (JmsTemplate) applicationContext
				.getBean("jmsTemplate");
		
		//队列消息
		Destination destinationQueue = (Destination) applicationContext
				.getBean("destinationQueue");
		
		//主题消息  
		Destination destinationTopic = (Destination) applicationContext
					.getBean("destinationTopic");
	  
		  System.out.println("will wait:" + template.getReceiveTimeout()+ " seconds for message");
		
		  TextMessage textMsg = (TextMessage) template.receive(destinationQueue);		 
	    try{ 
	        // 消息 header 中常有的 属性定义    
		        System.out.println("消息编码:" + textMsg.getJMSMessageID()); 
		        System.out.println("目标对象:" + textMsg.getJMSDestination()); 
		        System.out.println("消息模式:" + textMsg.getJMSDeliveryMode()); // 消息的模式 分为持久模式和非持久模式, 默认是 非持久的模式(2) 
		           
		        long sendTime = textMsg.getJMSTimestamp(); 
		        Date date = new Date(sendTime); 
		        DateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		        String temp = f.format(date); 
		           
		        System.out.println("消息发送时间:" + temp);    
		        System.out.println("消息失效时间:" + textMsg.getJMSExpiration()); // 这里是一个 整型值 0 表示 该消息永远不会过期 
		        System.out.println("消息优先级:" + textMsg.getJMSPriority()); // 优先级 0~9, 0 表示最低 
		        System.out.println("关联编码:" + textMsg.getJMSCorrelationID());    
		           
		        System.out.println("回复消息的地址:" + textMsg.getJMSReplyTo());    // 回复消息的地址(Destination类型),由发送者设定 
		        System.out.println("消息类型:" + textMsg.getJMSType()); // jms 不使用该字段, 一般类型是由 用户自己定义 
		        System.out.println("是否签收过:" + textMsg.getJMSRedelivered()); // 如果是 真 ,表示客户端收到过该消息,但是并没有签收 
		           
		        // 消息属性 (properties)    
		        System.out.println("用户编码:" + textMsg.getStringProperty("JMSXUserID")); 
		        System.out.println("应用程序编码:" + textMsg.getStringProperty("JMSXApp1ID")); 
		        System.out.println("已经尝试发送消息的次数:" + textMsg.getStringProperty("JMSXDeliveryCount")); 	           
		           
		        // 消息体(body) 中传递的内容    
		        System.out.println("消息内容:" + textMsg.getText()); 
	           
	           
	       }catch(JMSException e){ 
	        e.printStackTrace(); 
	       }catch(Exception e){ 
	        e.printStackTrace(); 
	       } 

//		  
		  //取队列消息失败
//		  TextMessage msgTopic = (TextMessage) template.receive(destinationTopic);		 
//		  System.out.println("reviced msg is:" + msgTopic.getText());
		 
		   

		  
		  
	  
	 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值