RAWL is the connector for WebLogic JMS
The connector for RAWL is shipped as rawl.rar. It does NOT include the client runtime.
- The URL is identical to the WebLogic URL plus a query string. The query string uses the following parameters:
- JMSJCA.WLFACTORY=. Here is the JNDI name of the XA connection factory. It defaults to weblogic.jms.XAConnectionFactory. This connection factory is used both for XA and non XA (eventhough XA is emulated)
- prefix=. This is the prefix used for looking up destinations. Example: t3://blue:7001?xacf=myxa&prefix=jms/destinations. The query string can also include parameters for JMSJCA.
- Before deploying the connector, add the following jars to the classpath suffix (see below for version info):
- wlclient.jar
- wljmsclient.jar
- createQueue(name) will do the following: lookup prefix/name in JNDI using the context pointing to the WebLogic server. The prefix parameter is configurable. The destinations are cached after the lookup so that subsequent lookups of the same destination are very fast.
- The activation spec uses the same convention of lookup(prefix/name).
- WebLogic JMS 8 and 9 do not support XA on the client side. Hence, XA is emulated (pseudo XA). Pseudo XA supports commit() and rollback(), but does not support prepare() (a no-op) and does not support recover(). This limits the reliability. It uses the LastAgentResource facility in the Java CAPS Integration Server to increase the reliability. The LastAgentResource facility will order the resources in a transaction such the last resource is a WebLogic resource on which a single-phase commit is performed in case of last agent commit optimization.
- WebLogic JMS 8 and 9 do not support Connection Consumer mode outside of the WebLogic server; sync mode is used instead of Connection Consumer. This implies that concurrent processing is not supported for topics.
WebLogic JMS and obtaining connection factories and destinations (JNDI lookup) rely on CORBA. WebLogic CORBA on the client side makes particular assumptions about the environment that it is running on. These assumptions are correct in a standalone Java program running on Sun JVMs, but are wrong in Java server programs that use the Sun CORBA EE ORB.
To work around WebLogic's CORBA problem, this server has a special patch made for the WebLogic JMS 9.0 client jars. Only these client jars have been verified to work; there is some evidence that the client jars of WebLogic 9.2 can also be used. WebLogic 8.1.6 client jars do not work. This solution has been tested with WebLogic 8.1.6, 9.0, and 9.2.
When adding the two client jars to the IS/lib directory, make sure to remove the file jndi.properties from the wlclient.jar file.
In CAPS 5.1.3 the patch for WebLogic's CORBA problem has been disabled by default. To turn on this functionality, change domain.xml so that is changed to . Refer to the following snippet from domain.xml
<iiop-service client-authentication-required="false">
<orb use-thread-pool-ids="thread-pool-1" message-fragment-size="1024" max-connections="1024"/>
<se-orb enabled="true"/>
The file domain.xml can be found in logicalhost/is/lib/domains//config. Shut down the IS before modifying domain.xml.
The CORBA EE has been customized especially to work with WebLogic 9.0.
Note that WebLogic client jars 9.0 have proven to work with WebLogic JMS 9.2, and WebLogic JMS 8.1.6.