Index Changes

Difference between version and version     

Back to JMSJCA Readme, or JMSJCA Readme Info


At line 89 added 7 lines.
!6.3
* {{JMSJCA.overrideissamerm}} added
* Configuration compatibility with GenericJMSRA added (javabean)
* {{JMSJCA.stats}} added as a property on the inbound message wrapper
* {{JMSJCA.destination}} added as a property on the inbound message wrapper
* Certified WebSphere MQ v7.0.1.2
At line 168 changed 1 line.
|{{IdleTimeout}}|(''deprecated; use JMSJCA.idletimeout instead'') This parameter is used for connection validation. If a connection is not used successfully for a period longer than the {{IdleTimeout}} period, the connection is marked as invalid. "Successfully" is defined as a msg was sent or received without an exception from the underlying JMS implementation.
|{{IdleTimeout}}|(''deprecated; use {{JMSJCA.idletimeout}} instead'') This parameter is used for connection validation. If a connection is not used successfully for a period longer than the {{IdleTimeout}} period, the connection is marked as invalid. "Successfully" is defined as a msg was sent or received without an exception from the underlying JMS implementation.
At line 258 changed 1 line.
|JMSJCA.idletimeout}}|out|This parameter is used for connection validation. If a connection is not used successfully for a period longer than the IdleTimeout period, the connection is marked as invalid. "Successfully" is defined as a msg was sent or received without an exception from the underlying JMS implementation.
|{{JMSJCA.idletimeout}}|out|This parameter is used for connection validation. If a connection is not used successfully for a period longer than the IdleTimeout period, the connection is marked as invalid. "Successfully" is defined as a msg was sent or received without an exception from the underlying JMS implementation.
At line 564 added 2 lines.
|{{JMSJCA.stats}}|n/a|java.lang.Map<String, Long>|getObjectProperty()|Delivery statistics|Returns the delivery statistics of the activation.
|{{JMSJCA.destination}}|n/a|javax.jms.Destination|getObjectProperty()|-|Returns the destination object (or equivalent) that was used to read the message from. With {{sync}} delivery, this may not be the destination object from a different session that is part of the same delivery. This option is useful in cases such as WebSphere MQ when messages are read that do not return a valid value on {{getJMSDestination()}}.
At line 558 removed 1 line.
At line 566 removed 1 line.
At line 782 added 2 lines.
!!Delivery statistics
Statistics are kept of the adapter receiving messages from the queue and trying to process them, either by invoking {{onMessage()}} on the MDB or by special redelivery handling. The statistics are available as a {{Map<String, Long>}} where the {{String}} is the key denoting the statistical metric, and the {{Long}} is the statistical value of that metric.
At line 785 added 1 line.
These metrics can be accessed in the MDB or in an interceptor by calling {{getObjectProperty("JMSJCA.stats")}} on the inbound message.
At line 787 added 1 line.
The following metrics are gathered:
At line 789 added 13 lines.
| key | moniker | Explanation
| DC | Delivery Commits | Number of times a transaction was committed after invoking onMessage(). When this number is changes, the BCSLDC is reset to zero.
| BC | Bypass Commits | Number of times a transaction was committed without invoking onMessage(). This happens when a message is sent to the dead letter queue or is being deleted as part of redelivery handling. When this number changes, the When this number is changes, the DCSLBC is reset to zero.
|BCSLDC| Bypass Commits Since Last Delivery Commit| Number of times a transaction was committed without invoking onMessage() since the last time DC was changed.
|DCSLBC| Delivery Commits Since Last Bypass Commit | Number of times a transaction was committed after invoking onMessage() since the last time BC was changed.
| DA | Delivery Attempts| Total number of times that a message was received.
| R | Redeliveries| Total number of times that a redelivered message was received.
| RM | Redelivered Messages| Total number of messages that were seen and recognized as a redelivered message
| A-EP | Active End Points | The number of MDBs that are currently processing messages
| H-EP | Highest End Points | Highest number of endpoints seen sofar
| EP | End Points | Number of endpoints created, currently in use or in the pool
|D(s4) | Deliveries at sample 4|The number of DA at which the 4th time sample is taken. Next to D(s4), there are also values for 0, 1, 2, and 3.
|t(s4) | Time at sample 4|Absolute wallclock time (System.currentTimeMillis()) when D was incremented to D(s4). Next to t(s4), there are also values for 0, 1, 2, and 3.
At line 779 changed 5 lines.
Delivery statistics, especially {{DC}}, {{BC}}, {{BCSLDC}} and {{DCSLBC}} are useful when developing interceptors that undertake special actions when it is detected that all messages are sent to a dead letter destination.
At line 1086 added 1 line.
* WebSphere MQ v7.0.1.2
At line 1095 changed 1 line.
* When using {{jndi://}} instead of {{wmq://}} as the URL, make sure to specify the following options:
** {{JMSJCA.concurrencymode=sync}}
** {{JMSJCA.overrideissamerm=true}}
At line 1274 added 3 lines.
!!!Support for SonicMQ
JMSJCA does not have explicit support for SonicMQ, and it has not been tested with the JMSJCA test suite. However, several reports from users indicate that SonicMQ works "just fine" with JMSJCA. For instructions see for instance [this blog entry|http://www.tricoder.net/blog/?p=144].
At line 1290 changed 1 line.
To be documented
!Deployment descriptor, inbound
To make an MDB use JMSJCA, a JBoss-specific deployment descriptor is required. In this deployment descriptor, the MDB needs to be associated with JMSJCA rather than the default resource adapter. Here is a sample of such a deployment descriptor for an MDB:
{{{
<?xml version="1.0" encoding="UTF-8"?>
At line 1321 added 84 lines.
<!DOCTYPE jboss PUBLIC
"-//JBoss//DTD JBOSS 4.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
<jboss>
<enterprise-beans>
<message-driven>
<ejb-name>MyMDB</ejb-name>
<resource-adapter-name>sun-jms-adapter.rar</resource-adapter-name>
<configuration-name>MDB receiving from JMSJCA</configuration-name>
</message-driven>
</enterprise-beans>
<invoker-proxy-bindings>
<invoker-proxy-binding>
<name>jmsjca-message-driven-bean</name>
<invoker-mbean>default</invoker-mbean>
<proxy-factory>org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory</proxy-factory>
<proxy-factory-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>
</invoker-proxy-bindings>
<container-configurations>
<container-configuration>
<container-name>JMSJCA Message Driven Bean</container-name>
<call-logging>false</call-logging>
<invoker-proxy-binding-name>jmsjca-message-driven-bean</invoker-proxy-binding-name>
<container-interceptors>
<interceptor>org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor</interceptor>
<interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor>
<interceptor>org.jboss.ejb.plugins.RunAsSecurityInterceptor</interceptor>
<!-- CMT -->
<interceptor transaction="Container">org.jboss.ejb.plugins.TxInterceptorCMT</interceptor>
<interceptor transaction="Container">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
<interceptor transaction="Container" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
<interceptor transaction="Container">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
<!-- BMT -->
<interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor</interceptor>
<interceptor transaction="Bean">org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT</interceptor>
<interceptor transaction="Bean">org.jboss.ejb.plugins.CallValidationInterceptor</interceptor>
<interceptor transaction="Bean" metricsEnabled="true">org.jboss.ejb.plugins.MetricsInterceptor</interceptor>
<interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
</container-interceptors>
<instance-pool>org.jboss.ejb.plugins.MessageDrivenInstancePool</instance-pool>
<instance-cache></instance-cache>
<persistence-manager></persistence-manager>
<container-pool-conf>
<MaximumSize>100</MaximumSize>
</container-pool-conf>
</container-configuration>
</container-configurations>
</jboss>
}}}
!Outbound
To enable connection validation, add the tags {{&lt;background-validation&gt;true&lt;/background-validation&gt;}} and {{&lt;background-validation-minutes&gt;1&lt;/background-validation-minutes&gt;}} to the {{jmsjca-ds.xml}} file. E.g.:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE connection-factories
PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<connection-factories>
<tx-connection-factory>
<jndi-name>jms/tx/ConnectionFactory</jndi-name>
<background-validation>true</background-validation>
<background-validation-minutes>1</background-validation-minutes>
<xa-transaction />
<track-connection-by-tx />
<rar-name>jmsjca.rar</rar-name>
<connection-definition>javax.jms.ConnectionFactory</connection-definition>
</tx-connection-factory>
...
}}}
At line 1418 added 2 lines.
[test|JMSJCAtest]

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-37) was last changed on 28-May-10 10:42 AM, -0700 by NeckerLee