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 - MANDATORYdestinationType
- the type of destination valid values arejavax.jms.Queue
or
javax.jms.Topic
messageSelector
- the message selector of the subscription - default is nullacknowledgeMode
- the type of acknowledgement when not using transacted jms - valid valuesAUTO_ACKNOWLEDGE/Auto-acknowledge
or
DUPS_OK_ACKNOWLEDGE/Dups-ok-acknowledge
- default is
Auto-acknowledge
clientId
- the client id of the connection - default is nullsubscriptionDurability
- whether topic subscriptions are durable - valid valuesDurable
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 - defaultjava:/DefaultJMSProvider
user
- the user id used to connect to the jms serverpassword
- the password of the usermaxMessages
- 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 1maxSession
- the maximum number of jms sessions that can concurrently deliver messages to this mdb - default 15keepAlive
- 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 valuestrue
or
false
- default is
true
DLQHandler
- theorg.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 10DLQJNDIName
- 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 serverDLQPassword
- the password of theDLQUser
DLQClientID
- the client id of the dlq connection - default is nullForceTransacted
- whether to force the use of transactions inside the adapter when using an XASession. Available from JBoss Application 5.2.0.GA - valid valuestrue
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
Comments