有人能解释为什么在JMS规范(1.1和2.0)中javax.jms.QueueRequestor
和javax.jms.TopicRequestor
是一个类而不是接口吗?
JMS规范中的几乎所有类型(连接,会话,目的地,消息等)都是对我有意义的接口,因为规范只定义了一个通用接口,让JMS提供者实现实例化。 只有Exceptions才是简化实现的类(对我来说也很有意义)。
但仅 javax.jms.QueueRequestor
和javax.jms.TopicRequestor
不符合此约定。这使得在单元测试中模拟它变得更加复杂。
有谁知道原因?
答案 0 :(得分:0)
好的,我想我现在已经知道了答案: 这两个类只是一个简单的默认实现,它使用其他必需的接口(TopicRequestor,例如使用TopicSession,Topic和TemporaryTopic)来覆盖基本的请求/回复场景,而不知道它们的具体实现。
因此,它们只是简化请求/回复场景(对于JMS客户端)的实现的缩写。因此,JMS提供程序不必实现这些模式的自己版本。
很抱歉过早发布此问题。