使用jms发送xml有什么好处

时间:2012-04-28 23:06:50

标签: xml jms

在当前项目中,我们一直使用jms将xml作为textmessage发送。我不明白为什么他们不是简单地发送Objectmessage,为什么有处理xml的开销?

所以问题基本归结为为什么在jms中使用xml?

2 个答案:

答案 0 :(得分:6)

这一切归结为对消息序列化格式的设计决策。

首先,Objectmessage似乎是最有效的机制。但是在以下情况下它不会很好用:

  1. 消息验证(XML Schema充当消息合同的一种形式)
  2. 发件人和收件人之间软件版本的差异(邮件版本控制)
  3. 与非Java系统的通信
  4. 以XML格式化消息并不能完全解决这些问题,但某种形式的人类可读消息格式可以实现调试。

    最后,XML并不是城里唯一的游戏。 JSON作为XML替代品正变得越来越流行。 Protocol Buffers是Google的消息传递协议,可以很好地了解一些问题和Google的解决方案。

答案 1 :(得分:2)

在这种情况下使用XML的主要好处是可以消除在通信两端拥有相同软件堆栈的依赖性。

我曾经遇到过一个客户,他通过在一端创建SQL服务器数据库的每日图像,并在另一端恢复数据,与关键供应商交换数据。结果:除非另一方也在同一天升级,否则任何一方都无法升级到SQL服务器的新版本。

此外,正如O'Connor所提到的,XML使得在需求变化时扩展消息内容变得相对轻松,而且不必每个人都必须同时实现变更。