C# ActiveMQ,为什么不使用具有属性的ByteMessage?

C# ActiveMQ,为什么不使用具有属性的ByteMessage?,c#,activemq,protobuf-net,nms,C#,Activemq,Protobuf Net,Nms,使用ActiveMQ,我想用协议缓冲区(*)序列化我的对象。 然后我有一个字节数组。 现在我读到ByteMessage不应该与属性一起使用: (它们在java文档中也有相同的文本) 问题在哪里?什么时候会出现问题 (*)我们在内部使用此格式,如果可能的话,我也希望将is用作消息正文。在ActiveMQ的ByteMessage对象中使用消息属性应该不会有任何问题。NMS文档中有一些类似于JMS规范的警告,因为它意味着每个提供程序都是通用的,所以在其他提供程序中可能不是这样,但在ActiveMQ中

使用ActiveMQ,我想用协议缓冲区(*)序列化我的对象。 然后我有一个字节数组。
现在我读到ByteMessage不应该与属性一起使用:


(它们在java文档中也有相同的文本)

问题在哪里?什么时候会出现问题


(*)我们在内部使用此格式,如果可能的话,我也希望将is用作消息正文。

在ActiveMQ的ByteMessage对象中使用消息属性应该不会有任何问题。NMS文档中有一些类似于JMS规范的警告,因为它意味着每个提供程序都是通用的,所以在其他提供程序中可能不是这样,但在ActiveMQ中应该可以正常工作。

感谢您的回答。但是如果发生了问题,我怎么知道发生了呢?会发生什么?如果我从字节消息中进行校验和并将其与消息一起发送,是否会被保存?您编写了“应该可以正常工作”,消息体和属性在ActiveMQ中是不同的数据集,因此设置属性对消息体没有影响。如果您愿意,您可以在消息上自由设置校验和头,这不会损害任何内容,并为您提供对消息完整性的额外信心。