Hi Binod
Pls see my testing results at the end of mail.
Binod wrote:
> Hi Max,
>
>> Hi Binod
>>
>> I noticed from article Getting Started with Connectors in Sun Java
>> System Application Server Platform Edition 8.0
>> <http://developers.sun.com/prodtech/appserver/reference/techart/as8_connectors/>
>> that we can "create multiple connector connection pools for a
>> connection definition in a functional resource adapter instance".
>>
>> However, in the GenericJMSRA User Guide
>> <https://genericjmsra.dev.java.net/docs/userguide/userguide.html>
>> "Resource Adapter Properties", I discovered that parameters like
>>
>> * ProviderIntegrationMode
>> * ConnectionFactoryClassName
>> * QueueConnectionFactoryClassName
>> * ...
>> * JndiProperties
>> * CommonSetterMethodName
>> * UserName
>> * Password
>>
>> which are specific to each of the different EIS (i.e.
>> QueueConnectionFactoryClassName=com.ibm.mq.jms.MQQueueConnectionFactory)
>> are defined in the generic resource adapter level, instead of
>> Connection Pool level. In this case, how can different connection /
>> connection-pool for different EIS (e.g. WMQ, TibEMS) be sharing one
>> and the same genericjmsra definition?
>
> Good question::
>
> As per connector spec, if a ManagedConnectionFactory allows overriding
> of any resource adapter property, then the overridden property
> in the MCF take precedence. So, all of these can be overridden in each
> connection pool.
>
> thanks,
> Binod.
I tested out that minimally, I need to specify the following (Still need
to include some EIS-specific parameters at RA, instead of MCF, level.
Otherwise got exception e.g. "cannot create ejb-container for
mdb-simpleEjb" during appserver startup)
* SupportsXA
* ProviderIntegrationMode
* UserName
* Password
* JndiProperties
... extracted from my working domain.xml. Supposedly, we do not need to
specify all of the above EIS-specifc parameters (e.g. some JMS providers
being integrated may support, while the other may not support XA).
<resource-adapter-config object-type="user"
resource-adapter-name="genericra">
<property name="SupportsXA" value="true"/>
<property name="ProviderIntegrationMode" value="jndi"/>
<property name="UserName" value=""/>
<property name="Password" value=""/>
<property name="JndiProperties"
value="java.naming.factory.url.pkgs=com.ibm.mq.jms.naming,java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url=file:/C:/IBM/WMQ6/JNDI"/>
</resource-adapter-config>
....
<connector-connection-pool
connection-definition-name="javax.jms.XAQueueConnectionFactory"
fail-all-connections="false" idle-timeout-in-seconds="300"
max-pool-size="32" max-wait-time-in-millis="60000" name="jms/wmqQCFPool"
pool-resize-quantity="2" resource-adapter-name="genericra"
steady-pool-size="8">
<property name="ConnectionFactoryJndiName" value="wmqQCF"/>
<property name="SupportsXA" value="true"/>
<property name="ProviderIntegrationMode" value="jndi"/>
<property name="UserName" value=""/>
<property name="Password" value=""/>
<property name="JndiProperties"
value="java.naming.factory.url.pkgs=com.ibm.mq.jms.naming,java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url=file:/C:/IBM/WMQ6/JNDI"/>
<property name="LogLevel" value="finest"/>
<property name="QueueClassName" value="com.ibm.mq.jms.MQQueue"/>
<property name="TopicClassName" value="com.ibm.mq.jms.MQTopic"/>
<property name="ConnectionFactoryClassName"
value="com.ibm.mq.jms.MQConnectionFactory"/>
<property name="QueueConnectionFactoryClassName"
value="com.ibm.mq.jms.MQQueueConnectionFactory"/>
<property name="TopicConnectionFactoryClassName"
value="com.ibm.mq.jms.MQTopicConnectionFactory"/>
<property name="XAConnectionFactoryClassName"
value="com.ibm.mq.jms.MQXAConnectionFactory"/>
<property name="XAQueueConnectionFactoryClassName"
value="com.ibm.mq.jms.MQXAQueueConnectionFactory"/>
<property name="XATopicConnectionFactoryClassName"
value="com.ibm.mq.jms.MQXATopicConnectionFactory"/>
</connector-connection-pool>