ConfigJMSMessageListener

JBoss's Generic JMS Inbound Resource Adapter

 

JCA 1.5 inbound resource adapter for any jms provider.

 

NOTE: You should check whether your jms provider has their own inbound rar.

 

Standard Activation Config Properties (from the jca 1.5 spec)

  •  

    destination
    - the jndi name of the Queue or Topic - MANDATORY

     

  •  

    destinationType
    - the type of destination valid values are

     

    javax.jms.Queue

    or

    javax.jms.Topic
  •  

    messageSelector
    - the message selector of the subscription - default is null

     

  •  

    acknowledgeMode
    - the type of acknowledgement when not using transacted jms - valid values

     

    AUTO_ACKNOWLEDGE/Auto-acknowledge

    or

    DUPS_OK_ACKNOWLEDGE/Dups-ok-acknowledge

    - default is

    Auto-acknowledge

     

  •  

    clientId
    - the client id of the connection - default is null

     

  •  

    subscriptionDurability
    - whether topic subscriptions are durable - valid values

     

    Durable

    or

    NonDurable

    - default is

    NonDurable

     

  •  

    subscriptionName
    - the subsription name of the topic subscription

     

 

JBoss extension Activation Config Properties

  • providerAdapterJNDI
    - the jndi name of the jms provider - default

     

    java:/DefaultJMSProvider

     

  • user
    - the user id used to connect to the jms server

     

  • password
    - the password of the user

     

  • maxMessages
    - read this number of messages before delivering messages to the mdb (each message is delivered individually on the same thread in an attempt to avoid excessive context switching) - default 1

     

  • maxSession
    - the maximum number of jms sessions that can concurrently deliver messages to this mdb - default 15

     

  • keepAlive
    - the length of time to keep inactive sessions in millis - default 60000 (60 seconds)

     

  • reconnectInterval
    - the length of time in seconds between attempts to (re-)connect to the jms provider - default 10 seconds

 

  • reconnectAttempts

- the number of times to attempt to reconnect to the JMS provider - default 5.  Available from JBoss Application 5 GA.  Prior to this version, reconnection attempts were infinite.

 

  • useDLQ
    - whether to use a DLQ handler; be aware that a JCA DLQ handler may take priority over the DLQ logic of the resident JMS provider (e.g. JBoss Messaging) depending on how it is configured; this feature only exists because JBossMQ did not have internal DLQ processing (see JBAS-7465) - valid values

     

    true

    or

    false

    - default is

    true

     

  • DLQHandler
    - the

     

    org.jboss.resource.adapter.jms.inflow.DLQHandler

    implementation class name - default

    org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler

     

  • DLQMaxResent
    - the maximum number of times a message is redelivered before it is sent to the DLQ - default is 10

     

  • DLQJNDIName
    - the JNDI location of the queue to which to send "dead" messages - default is "queue/DLQ"

     

  • DLQUser
    - the user id used to make the dlq connection to the jms server

     

  • DLQPassword
    - the password of the

     

    DLQUser

     

  • DLQClientID
    - the client id of the dlq connection - default is null

     

  • ForceTransacted
    - whether to force the use of transactions inside the adapter when using an XASession. Available from JBoss Application 5.2.0.GA - valid values

     

    true

    or

    false

    - default is

    false

    - which means that transactions are handled by the message endpoints.

  •  

 

Alternate MDB proxy factory

 

To activate the generic jms message inflow resource adapter rather than

the old 3.2 jms container invoker, in

conf/standardjboss.xml

replace the invoker proxy binding for

message-driven-bean

with the commented out version.

 

 

 

    <!-- Uncomment to use JMS message inflow from jmsra.rar
    <invoker-proxy-binding>
      <name>message-driven-bean</name>
      <invoker-mbean>default</invoker-mbean>
      <proxy-factory>org.jboss.ejb.plugins.inflow.JBossJMSMessageEndpointFactory</proxy-factory>
      <proxy-factory-config>
        <activation-config>
           <activation-config-property>
              <activation-config-property-name>providerAdapterJNDI</activation-config-property-name>
              <activation-config-property-value>DefaultJMSProvider</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>maxSession</activation-config-property-name>
              <activation-config-property-value>15</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>maxMessages</activation-config-property-name>
              <activation-config-property-value>1</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>reconnectInterval</activation-config-property-name>
              <activation-config-property-value>10</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>useDLQ</activation-config-property-name>
              <activation-config-property-value>true</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>dLQHandler</activation-config-property-name>
              <activation-config-property-value>org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>dLQJNDIName</activation-config-property-name>
              <activation-config-property-value>queue/DLQ</activation-config-property-value>
           </activation-config-property>
           <activation-config-property>
              <activation-config-property-name>dLQMaxResent</activation-config-property-name>
              <activation-config-property-value>10</activation-config-property-value>
           </activation-config-property>
        </activation-config>
        <endpoint-interceptors>
          <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
          <interceptor>org.jboss.ejb.plugins.inflow.MessageEndpointInterceptor</interceptor>
          <interceptor>org.jboss.proxy.TransactionInterceptor</interceptor>
          <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
        </endpoint-interceptors>
      </proxy-factory-config>
    </invoker-proxy-binding>
    -->

 

Related