我在 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 中设置任何参数吗?