Java 指定MDB的消息侦听器接口

Java 指定MDB的消息侦听器接口,java,websphere,ibm-mq,message-driven-bean,Java,Websphere,Ibm Mq,Message Driven Bean,我正在尝试使用部署描述符完全定义我的消息驱动bean,因为我正在将我的应用程序部署到Websphere,而它不能很好地处理注释 我想知道是否有办法在ejb-jar.xml文件中指定MDB的消息侦听器接口?必须使用@javax.ejb.MessageDriven注释将ejb类型声明为消息驱动。可以指定以下可选属性: messageListenerInterface指定消息侦听器接口,如果您没有显式地实现它,或者如果bean实现了其他接口 bean类必须直接或间接地实现它所支持的消息类型或消息侦听器

我正在尝试使用部署描述符完全定义我的消息驱动bean,因为我正在将我的应用程序部署到Websphere,而它不能很好地处理注释


我想知道是否有办法在ejb-jar.xml文件中指定MDB的消息侦听器接口?

必须使用
@javax.ejb.MessageDriven
注释将ejb类型声明为消息驱动。可以指定以下可选属性:

  • messageListenerInterface指定消息侦听器接口,如果您没有显式地实现它,或者如果bean实现了其他接口
  • bean类必须直接或间接地实现它所支持的消息类型或消息侦听器接口的方法所需的消息侦听器接口。对于JMS,这是javax.JMS.MessageListener接口

  • activationConfig指定一个激活配置属性数组,用于在其操作环境中配置bean
  • 激活配置属性是在部署MDB时传递给MDB容器的名称-值对。属性可以在ejb-jar.xml部署描述符中声明,也可以使用MDB bean类上的
    @ActivationConfigProperty
    注释来声明

    ejb-jar.xml中设置的激活配置属性

    <message-driven>
          . . .
          <activation-config>
            <activation-config-property>
                <activation-config-property-name>destinationJNDIName</activation-config-property-name>
                <activation-config-property-value>myQueue</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
                <activation-config-property-name>destinationType</activation-config-property-name>
                <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
            <activation-config-property>
          </activation-config>
          . . .
        </message-driven>
        <message-driven>
          . . .
          <activation-config>
            <activation-config-property>
                <activation-config-property-name>destinationJNDIName</activation-config-property-name>
                <activation-config-property-value>myQueue</activation-config-property-value>
            </activation-config-property>
            <activation-config-property>
                <activation-config-property-name>destinationType</activation-config-property-name>
                <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
            <activation-config-property>
          </activation-config>
          . . .
        </message-driven>
    
    
    . . .
    目的地名称
    我的队列
    目的型
    javax.jms.Queue
    . . .
    . . .
    目的地名称
    我的队列
    目的型
    javax.jms.Queue
    . . .