【问题标题】:Configuring Inbound Websphere MQ in TomEE with EJB 2 MDBs在 TomEE 中使用 EJB 2 MDB 配置入站 Websphere MQ
【发布时间】:2014-12-03 15:37:20
【问题描述】:

我有一个项目,我试图在 TomEE 1.7 中部署 EJB 2 消息驱动 bean (MDB)。我需要这些 MDB 来连接和读取来自两个 Websphere MQ 的消息。但是,我在 Internet 上找不到足够的文档。从我可以从Websphere MQ configuration in JBoss 一起解析的任何内容中,我创建了以下内容

<Resource id="wmqRA" type="com.ibm.mq.connector.ResourceAdapterImpl" class-name="com.ibm.mq.connector.ResourceAdapterImpl">
    connectionConcurrency=5  
    maxConnections=10 
    logWriterEnabled=true 
    reconnectionRetryCount=5 
    reconnectionRetryInterval=300000 
    traceEnabled=false 
    traceLevel=3 

<Resource id="jms/ABC"  type="javax.jms.ConnectionFactory" class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl">
    TransactionSupport=none 
    ResourceAdapter=wmqRA 
    HostName=10.190.129.132   
    Port=1414 
    QueueManager=<QueueManagerName>
    Channel=<ChannelName>
    TransportType=Client
    UserName=mqm
    Password=abc
  </Resource>

<Container id="wmq" type="MESSAGE">
    ResourceAdapter=wmqRA
    MessageListenerInterface=javax.jms.MessageListener
    ActivationSpecClass=com.ibm.mq.connector.inbound.ActivationSpecImpl
</Container>

<Resource id="wmq-javax.jms.QueueConnectionFactory"  type="javax.jms.QueueConnectionFactory" class-name="com.ibm.mq.connector.outbound.ManagedQueueConnectionFactoryImpl">
TransactionSupport=xa 
ResourceAdapter=wmqRA 

<Resource id="wmq-javax.jms.TopicConnectionFactory"  type="javax.jms.TopicConnectionFactory" class-name="com.ibm.mq.connector.outbound.ManagedTopicConnectionFactoryImpl">
TransactionSupport=xa 
ResourceAdapter=wmqRA 
</Resource>

<Resource id="queue_id" type="javax.jms.Queue"  class-name="com.ibm.mq.connector.outbound.MQQueueProxy"> 
arbitraryProperties 
baseQueueManagerName=<QueueManagerName>
baseQueueName=<QueueName>
CCSID=1208 
encoding=NATIVE 
expiry=APP 
failIfQuiesce=true 
persistence=APP 
priority=APP 
readAheadClosePolicy=ALL 
targetClient=JMS 
</Resource>`

与队列管理器建立连接(使用 runmqsc 验证),但在将消息添加到队列时不会触发/创建 EJB。

任何方向都将不胜感激

【问题讨论】:

    标签: ibm-mq ejb-2.x tomcat8 apache-tomee


    【解决方案1】:

    经过多次尝试和错误后得到了解决方案。看起来我们需要在 ejb-jar.xml 中指定 EJB2 才能与 Tomee 一起使用。

    使用这个

    <message-driven>
            <ejb-name>beanName</ejb-name>
            <ejb-class>beanClass</ejb-class>
            <messaging-type>javax.jms.MessageListener</messaging-type>
            <transaction-type>Bean</transaction-type>
            <message-destination-type>javax.jms.Queue</message-destination-type>
            <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>*queueName*</activation-config-property-value>
                 </activation-config-property>
                 <activation-config-property>
                    <activation-config-property-name>channel</activation-config-property-name>
                    <activation-config-property-value>*channelName*</activation-config-property-value>
                 </activation-config-property>
                 <activation-config-property>
                    <activation-config-property-name>hostName</activation-config-property-name>
                    <activation-config-property-value>*hostName*</activation-config-property-value>
                 </activation-config-property>
                 <activation-config-property>
                    <activation-config-property-name>port</activation-config-property-name>
                    <activation-config-property-value>1414</activation-config-property-value>
                 </activation-config-property>
                 <activation-config-property>
                    <activation-config-property-name>queueManager</activation-config-property-name>
                    <activation-config-property-value>*queueManager*</activation-config-property-value>
                 </activation-config-property>
                 <activation-config-property>
                    <activation-config-property-name>transportType</activation-config-property-name>
                    <activation-config-property-value>CLIENT</activation-config-property-value>
                 </activation-config-property>
               </activation-config>
    

    【讨论】:

      猜你喜欢
      • 2013-04-06
      • 2019-10-25
      • 2017-01-30
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2013-03-31
      相关资源
      最近更新 更多