【发布时间】:2012-06-06 16:02:11
【问题描述】:
我在网上发现了一些非常矛盾的信息,我认为每个不同的 JMS 提供者也可能会改变答案。
我试图了解在将 XML 发送到 JMS 系统(例如 ActiveMQ)时是否应该使用
BytesMessage :我可以保证 XML 已正确序列化,并且前导码将与实际编码匹配。此外,我可以确定客户端将能够正确获取原始表示。
TextMessage :在许多队列实现中都有用于轻松发送 XML 的 API。我也了解消息附加了“编码”信息。但我冒着以一种格式编码消息(并将其编写为序言)并将其作为另一种格式接收的风险。
有没有人有明确的答案,或者至少有一些理由让您选择其中一个而不是另一个?
【问题讨论】:
-
没有明确的答案,对不起,伙计。我的 2cts:XML 是一种文本格式,因此使用 TextMessage。如果您要发送二进制数据,例如 zip 或 jpg,则使用 BytesMessage。让事情本身有意义(没有文档)。它让(开发人员/测试人员/维护人员)的生活更轻松。
-
尝试为国防项目工作并告诉您的经理“我们不会记录它以使其更容易......”。我仍然明白你在说什么。 Base 64 编码的 UTF8 还不错,无需求助于 MTOM 之类的东西。
标签: java xml serialization character-encoding jms