在JMS的以前版本中,用于点对点和Pub/Sub域的客户端编程都是类似的,但使用不同的类层次。在JMS1.1 中,现在有一个不依赖域的方式来编写客户端应用。这有以下几个好处:

• 对于客户端程序员,简化了编程模型。

• 提供了在同一事务中使用队列(Queue)和主题(topic)的能力,现在可以在同一个会话内创建它们。

• 对于JMS提供商,通过线程池管理增加了优化实现的机会。

为使用这些优点,JMS客户端开发者需要使用不依赖域的或“通用”的API。将来,某些域专有的API可能被废弃。

在JMS1.1中,所有来自JMS1.0.2b的类和方法仍然被保留以提供向后的兼容性。两种消息域的语义也被保留;PTP 域和Pub/Sub域的行为仍然是相同的,正如在第5章“JMS点对点模型”和第6章“JMS 发布/订阅模型”描述的一样。