Version 18

    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