General Limitations and Considerations

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.

    For more information, see JMS Resource Adapter Outbound Connection Limitations.

  • 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.

    For more information, see the description of the TransactionAttributeType enumerated type at the following URL:

    http://docs.oracle.com/javaee/7/api/javax/ejb/TransactionAttributeType.html