users@genericjmsra.java.net

Re: EIS-specific properties defined at RA level for GenericJMSRA ?

From: Binod <Binod.Pg_at_Sun.COM>
Date: Mon, 16 Jan 2006 19:57:19 +0530

Max Poon wrote:

> 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)

Have you tried to provide these on the activation-config of
sun-ejb-jar.xml? Note that for
inbound communication, MCF is not used.

- Binod.


> * 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>