ActiveMQ笔记(二)---JMS消息头、消息体、消息属性

参考:https://www.bilibili.com/video/av55976700?p=21

1、JMS组成的四大元素

JMS provider :实现JMS接口和规范的消息中间件,也就是我们的MQ服务器

JMS producer:消息生产者,创建和发送JMS消息的客户端应用

JMS consumer:消息消费者,接收和处理JMS消息的客户端应用

JMS Message:  消息头、消息属性、消息体

2、JMS的消息头

JMSDestination : 消息发送的目的地,主要是指Topic或Queue        

JMSDeliveryMode 
       
消息的发送模式:持久模式和非持久模式

       Producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);            

ActiveMQ笔记(二)---JMS消息头、消息体、消息属性_第1张图片

 

 JMSExpiration 
       表示一个消息的有效期。只有在这个有效期内,消息消费者才可以消费这个消息。默认值为0,表示消息永不过期。可以通过下面的方式设置:
       producer.setTimeToLive(3600000); //有效期1小时 (1000毫秒 * 60秒 * 60分)

ActiveMQ笔记(二)---JMS消息头、消息体、消息属性_第2张图片

 

 JMSPriority 
       消息的优先级。0-4为正常的优先级,5-9为高优先级。可以通过下面方式设置:
       producer.setPriority(9);

ActiveMQ笔记(二)---JMS消息头、消息体、消息属性_第3张图片

 

 

  JMSMessageID 
       唯一识别每一条消息,消息调用的幂等性

   

3、JMS的消息体

ActiveMQ笔记(二)---JMS消息头、消息体、消息属性_第4张图片

 

 4、JMS的消息属性

ActiveMQ笔记(二)---JMS消息头、消息体、消息属性_第5张图片

 

 

  
void setBooleanProperty(String name, boolean value) throws JMSException;

void setByteProperty(String name, byte value) throws JMSException;

void setShortProperty(String name, short value) throws JMSException;

void setIntProperty(String name, int value) throws JMSException;

void setLongProperty(String name, long value) throws JMSException;

void setFloatProperty(String name, float value) throws JMSException;

void setDoubleProperty(String name, double value) throws JMSException;

void setStringProperty(String name, String value) throws JMSException;

void setObjectProperty(String name, Object value) throws JMSException;

                                 

 

你可能感兴趣的:(ActiveMQ笔记(二)---JMS消息头、消息体、消息属性)