我在 RabbitMQ 中有这样的代码:
byte[] rawBytes = serialize(trxEntities);
byte[] zipped = rawBytes;
if (shouldBeCompress) {
zipped = compressor.compress(rawBytes);
}
BasicProperties persistentBasic = MessageProperties.PERSISTENT_BASIC;
channel.basicPublish("", queueName, persistentBasic, zipped);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我的一些消息应该被压缩,而其他一些则不应该被压缩。
有什么方法可以设置任何属性来告诉消费者“嘿!这是一条压缩消息”?
附言。“ com.rabbitmq.client.AMQP.BasicProperties.BasicProperties(..., Map headers, ...) ”对我有帮助吗?我的意思是我可以在 BasicProperties.header 中设置任何参数吗?
我想你可以在标题中添加任何你喜欢的内容。但是,有一个名为“contentEncoding”的字段,我认为它更适合这种情况。您可以在此字段中输入“gzip”、“deflate”或压缩算法,请查看此页面以了解为 HTTP 定义的编码:http ://www.w3.org/Protocols/rfc2616/rfc2616-sec3 .html#sec3.5
| 归档时间: |
|
| 查看次数: |
12884 次 |
| 最近记录: |