MessageProperties参数详解
时间: 2023-10-28 22:16:46 浏览: 152
qimai接口analysis参数解析
MessageProperties是RabbitMQ消息的属性类,它包含了消息的各种属性。下面是一些常用的属性:
- deliveryMode:消息持久化标志。默认情况下,消息在RabbitMQ服务器重启时会丢失,如果需要消息被持久化到磁盘,需要将该值设置为2。
- contentType:消息体的内容类型,比如application/json,text/plain等。
- contentEncoding:消息体的字符集编码。
- expiration:消息的过期时间,单位为毫秒。如果消息在过期时间之前没有被消费者消费,则会被自动删除。
- priority:消息的优先级,取值范围为0-9,数字越大,优先级越高。
- correlationId:关联ID,用于关联RPC请求和响应。如果请求消息有correlationId,响应消息应该带有相同的correlationId。
- replyTo:RPC响应队列名,用于指定RPC响应消息的目的地。
- messageId:消息ID。
- timestamp:消息的创建时间戳。
- headers:消息头,是一个Map类型,用于存储自定义的消息头信息。
例如,以下代码创建一个持久化的JSON消息:
```
byte[] messageBodyBytes = "{\"foo\":\"bar\"}".getBytes();
MessageProperties props = MessagePropertiesBuilder
.newInstance()
.setContentType("application/json")
.setDeliveryMode(MessageDeliveryMode.PERSISTENT)
.build();
Message message = new Message(messageBodyBytes, props);
```
通过设置MessageProperties对象的各种属性,可以灵活地控制RabbitMQ消息的行为和内容。
阅读全文