参考: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);
JMSExpiration
表示一个消息的有效期。只有在这个有效期内,消息消费者才可以消费这个消息。默认值为0,表示消息永不过期。可以通过下面的方式设置:
producer.setTimeToLive(3600000); //有效期1小时 (1000毫秒 * 60秒 * 60分)
JMSPriority
消息的优先级。0-4为正常的优先级,5-9为高优先级。可以通过下面方式设置:
producer.setPriority(9);
JMSMessageID
唯一识别每一条消息,消息调用的幂等性
3、JMS的消息体
4、JMS的消息属性
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;