0

На GlassFish Server, 2,1 Я создал GenericJMSRA для связи с ActiveMQ, как описано в данном руководстве: http://activemq.apache.org/sjsas-with-genericjmsra.htmlРазвертывание MDB с использованием GenericJMSRA на GlassFish с аннотациями?

я успешно смог развернуть MDB, используя классический путь инъекционного контекст с EJB-jar.xml :

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN'  'http://java.sun.com/dtd/ejb-jar_2_0.dtd'> 
<ejb-jar> 
    <enterprise-beans> 
    <message-driven> 
     <ejb-name>QueueListener</ejb-name> 
     <ejb-class>foo.QueueListenerMDB</ejb-class> 
     <transaction-type>Container</transaction-type> 
    </message-driven> 
    </enterprise-beans> 
</ejb-jar> 

и ВС-jar.xml-EJB

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sun-ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Application Server 8.1 EJB 2.1//EN' 'http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-1.dtd'> 
<sun-ejb-jar> 
    <enterprise-beans> 
    <ejb> 
     <ejb-name>QueueListener</ejb-name> 
     <mdb-connection-factory> 
      <jndi-name>jms/amqQueueConnectionFactory</jndi-name> 
     </mdb-connection-factory> 
     <mdb-resource-adapter> 
     <resource-adapter-mid>activemqra</resource-adapter-mid> 
     <activation-config> 
      <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-property> 
      <activation-config-property-name>destination</activation-config-property-name> 
      <activation-config-property-value>qRequest</activation-config-property-value> 
      </activation-config-property> 
     </activation-config> 
     </mdb-resource-adapter> 
    </ejb> 
    </enterprise-beans> 
</sun-ejb-jar> 

Как бы идти вперед инъекционного выше конфигурацию в аннотации приводится EJB 3.0 стиль? Более конкретно, это следующее свойство. Я не могу узнать, как вводить:

<resource-adapter-mid>activemqra</resource-adapter-mid> 

ответ

0

Получил его, чтобы работать наконец.

Я удалил ejb-jar.xml полностью и оставил sun-ejb-jar.xml нетронутым. Затем я аннотировал класс foo.QueueListenerMDB следующим образом:

@MessageDriven(name = "QueueListener", mappedName = "QueueListener") 
public class QueueListenerMDB implements MessageListener { 
    ... 
} 
Смежные вопросы