The JMS resource adapter includes the following components:
ra.xml
file—An xml
file used to configure the JMS resource adapter to interoperate between foreign application servers and WebLogic JMS.
wlthint3client.jar
file—The WebLogic Thin T3 Java client is a lightweight client that provides integration between applications running on foreign application servers and WebLogic Server. One common use case is integration with WebLogic JMS destinations.
See Understanding the WebLogic Thin T3 Client in Developing Standalone Clients for Oracle WebLogic Server.
The following classes and JAR files to support Oracle Wallet:
oraclepki.jar
osdt_cert.jar
osdt_core.jar
WalletUtilWrapper.class
weblogic.jms.ra.jar
file—The WebLogic Server resource adapter implementation that complies with the Java EE Connector Architecture version 1.7.
Complete the following tasks to integrate the JMS resource adapter with a foreign application server, allowing applications to interoperate with WebLogic JMS:
Make sure that the application is JMS-compliant and can use the weblogic.jms.extensions
API.
See Understanding the WebLogic JMS Resource Adapter and General Limitations and Considerations for information about JMS resource adapter features, support, and limitations.
See Understanding WebLogic JMS in Developing JMS Applications for Oracle WebLogic Server for basic information about programing WebLogic JMS.
Configure the ra.xml
file for your environment, as described in the following chapters:
Deploy and manage the JMS resource adapter. Use the foreign application server's native support for management tasks such as deployment, configuration, and monitoring. See Administering the JMS Resource Adapter on Oracle GlassFish Server.
Error Messages provides information about the error messages you may encounter when using the JMS resource adapter and other Oracle Fusion Middleware components.
Note the following considerations and limitations when you use the JMS resource adapter:
If two or more JMS resource adapters are deployed on the same application server, those deployments must use the same version of Oracle WebLogic Server in the wljmsra.rar
file. Different release versions of the JMS resource adapter may contain differences that can produce unpredictable results.
The JMS resource adapter does not automatically unsubscribe (that is, remove) a durable subscriber if the listening message-driven bean (MDB) becomes unavailable. Although WebLogic Server MDBs support the ability to unsubscribe, they also create and name the subscription. Foreign application servers typically allow users to specify subscription names in MDB configurations, making it difficult to determine if it is appropriate to unsubscribe a given durable subscriber. Even it can be determined that it is appropriate to remove a given subscription, the Java Connector Architecture contract does not provide a standard implementation to provide the callback interface to remove a subscriber.
Automatic JMS client failover is not supported.
Applications that use the WebLogic JMS resource adapter automatically use WebLogic JMS connections that are associated with a foreign application server's connection manager. These managed JMS connections are created, used, and returned to the foreign application server's connection pool for reuse by other applications, as described in various Java EE specifications. This has the following limitations:
Using the setClientID
method on a connection is not supported. If a ClientID
property is set on a connection, then the connection can't be removed, and every application that reuses the connection gets a ClientID
value. An application using such a connection is also prevented from invoking the setClientID
method on that connection because this operation will have already been performed.
As specified by the Java EE 7 specification, other methods that may interfere with connection management by the container, such as setExceptionListener
, are not supported.
You must set connection properties, for example by using the setSubscriptionSharingPolicy
method, as part of the connection factory settings. Otherwise, you need to make sure that the connection and session are created in the managed connection pool before you attempt to set the property directly on the connection.
When configuring the message listener for an MDB, the only values you may use with the <trans-attribute>
element are REQUIRED
and NOT_SUPPORTED
.
See the description of the TransactionAttributeType
enumerated type at the following URL:
http://docs.oracle.com/javaee/7/api/javax/ejb/TransactionAttributeType.html
The following topics explain how the JMS resource adapter supports the weblogic.jms.extensions
API:
The JMS resource adapter uses custom wrapper classes to automatically implement the weblogic.jms.extensions
interfaces and provide support for WebLogic features such as Unit-of-Order (UOO) and message scheduling. The JMS resource adapter ra.xml
file is prepopulated with entries corresponding to the correct WebLogic JMS wrapper classes so that you do not need any additional configuration to access supported WebLogic JMS features.
Note:
Use WebLogic connection factories when using the weblogic.jms.extensions
API, as explained in JMS Resource Adapter Connection Factories.
The JMS resource adapter supports the following weblogic.jms.extensions
interfaces:
weblogic.jms.extensions.WLConnection
weblogic.jms.extensions.WLSession
weblogic.jms.extensions.WLQueueSession
weblogic.jms.extensions.WLTopicSession
weblogic.jms.extensions.WLDestination
weblogic.jms.extensions.WLMessageProducer
weblogic.jms.extensions.WLMessage
weblogic.jms.extensions.XMLMessage
The JMS resource adapter supports the following weblogic.jms.extensions
classes:
weblogic.jms.extensions.ClientSAFEncrypt
weblogic.jms.extensions.ClientSAFFactory
weblogic.jms.extensions.ClientSAFGenerate
weblogic.jms.extensions.ClientSAFParser
weblogic.jms.extensions.ConsumerInfo
weblogic.jms.extensions.DestinationInfo
weblogic.jms.extensions.JMSDestinationAvailabilityHelper
weblogic.jms.extensions.JMSHelper
weblogic.jms.extensions.JMSMessageFactoryImpl
weblogic.jms.extensions.JMSMessageInfo
weblogic.jms.extensions.JMSModuleHelper
weblogic.jms.extensions.JMSRuntimeHelper
weblogic.jms.extensions.Schedule
Oracle provides a JMS resource adapter example that is available when you install and configure the examples component of WebLogic Server. This example demonstrates how to use a JMS resource adapter that is deployed on a foreign application server. This example interoperates with the WebLogic JMS service using a simple employee clock-in application.
This example shows how to:
Configure and use a WebLogic Server cluster
Configure and use WebLogic connection factories.
Configure and use distributed topics and queues.
Deploy the JMS resource adapter on one of the supported foreign application servers listed in Supported Application Servers.
Configure JMS resource adapter config-properties
file, which specifies:
A WebLogic JNDI context for the WebLogic Server instance that provides the JMS service
An adminobject
element, which maps the local JNDI name sample/destination/queue
to the destination bound to the WebLogic JNDI as DistributedQueue
An adminobject
element, which maps the local JNDI name sample/destination/topic
to the destination bound in the WebLogic JNDI as DistributedTopic
A connection factory bound in the local JNDI name as a sample or factory that maps to the connection factory bound to WebLogic JNDI as weblogic.jms.ConnectionFactory
Configure the resource-ref
and resource-env-ref
elements in a servlet's web.xml
deployment descriptor file that map to the local JNDI names defined for the JMS resource adapter's connection factory and destinations
Configure activation-config
elements required to allow MDBs to consume inbound messages
When installed, the JMS resource adapter example is located in the ORACLE_HOME
\wl_server\samples\server\examples\src\samples\jms\resourceAdapter
directory. See Sample Applications and Code Examples in Understanding Oracle WebLogic Server.