Message Driven Beans AQ JMS Extensions

Interoperating with Oracle AQ JMS 7-9 A WebLogic application looking up the location jmsmyQueue references the AQ JMS queue defined by userQueue. Looking up the location AqTopic references the AQ JMS topic defined by myTopic. See: ■ Section 4.4.2.1, Creating Foreign Connection Factory Resources ■ Create foreign destinations in Oracle WebLogic Server Administration Console Help.

7.3 Programming Considerations

The following sections provide information on advanced WebLogic AQ JMS topics: ■ Section 7.3.1, Message Driven Beans ■ Section 7.3.2, AQ JMS Extensions ■ Section 7.3.3, Resource References ■ Section 7.3.4, JDBC Connection Utilization ■ Section 7.3.5, Oracle RAC Support ■ Section 7.3.6, Debugging ■ Section 7.3.7, Performance Considerations

7.3.1 Message Driven Beans

MDBs interoperate with AQ JMS by using a configured foreign server. See Section 7.2.2.3, Configure a JMS Foreign Server. The message driven parameters initial-context-factory and provider-url are not supported as these parameters are supplied as part of the JMS Foreign Server configuration. The destination type for the MDB destination in the ejb-jar.xml file should be configured to either: javax.jms.Queue or javax.jms.Topic. Additional MDB configuration is required to enable container managed transactions, durable topic subscriptions, and other MDB features. SeeProgramming Message-Driven Beans for Oracle WebLogic Server.

7.3.2 AQ JMS Extensions

AQ JMS extension APIs are supported by AQ JMS specific classes. You can invoke the AQ JMS extensions, after casting the standard JMS objects such as connection factories and destinations to proprietary AQ JMS classes. When you use resource references for a AQ JMS connection factory, WebLogic Server wraps the underlying AQ JMS connection factory with a wrapper object. This wrapper object implements the JMS standard API, but it cannot cast it to an AQ JMS class which provides AQ JMS extension APIs. To avoid the wrapping, users can specify the java.lang.Object as the resource type of the resource reference instead of javax.jms.XXXConnectionFactory in the deployment descriptor. This limitation is specific to AQ JMS, as resource references only support extensions that are exposed using Java interfaces. AQ JMS does not define Java interfaces for its extensions. With AQ JMS, avoiding wrapping does not disable automatic JTA transaction enlistment, nor does it prevent pooling, as AQ JMS obtains these capabilities implicitly through its embedded use of WebLogic data sources. 7-10 Configuring and Managing JMS for Oracle WebLogic Server

7.3.3 Resource References