1

我已经成功地为 IBM Webshere 配置了 JMS 主题和队列。

我以这样一种方式使用 JMS 主题,即侦听器类是所有子类的基础。像以下方式:

public class Base implements MessageListener {
  public void onMessage(javax.jms.Message message) { } }

@MessageDriven(activationConfig={
@ActivationConfigProperty(propertyName="messagingType",propertyValue="javax.jms.MessageListener"),
@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Topic"),
@ActivationConfigProperty(propertyName="destination",propertyValue="topic/Test"),
@ActivationConfigProperty(propertyName="messageSelector",propertyValue="RECIPIENT='TestR'")},messageListenerInterface=MessageListener.class)

public class TopicSubScriber extends Base {    

}

我收到以下错误:

the class contains the @MessageDriven annotation but is not a valid
  message-driven bean: no message listener interface can be determined

注意:这两个类位于不同的模块中。

似乎它没有加载 Base 类。有任何想法吗?

4

2 回答 2

1

我也申请了以下 IBM Web sphere fix pack 7 但没有白费.. http://www-01.ibm.com/support/docview.wss?uid=swg1PM70521

问题也可以通过在 TopicSubScriper 上实现 MessageListener 来解决(即使超类得到了它)..因为这个解决方案没有虚构的影响,所以我很高兴:)

非常感谢 SiB 和 Aviram Segal 的帮助。

于 2012-08-31T10:54:34.237 回答
0

在 IBM Websphere 的一个类似线程中,答案说

回答

忽略此错误消息,因为没有功能影响。

Java EE 教程

建议但不是必需的,消息驱动 bean 类为它支持的消息类型实现消息侦听器接口。支持 JMS API 的 bean 实现javax.jms.MessageListener接口

不过如果你想避免错误信息,我觉得你可以implements MessageListener试试TopicSubScriper

于 2012-08-30T17:26:01.073 回答