Oracle® Containers for J2EE Enterprise JavaBeans Developer's Guide 10g (10.1.3.1.0) Part Number B28221-02 |
|
|
View PDF |
You can configure an EJB 2.1 MDB to access a message service provider directly (without a J2CA resource adapter).
Note:
Oracle recommends that you access a message service provider using a J2CA resource adapter such as the Oracle JMS Connector. For more information, see:You can do this by using deployment XML (see "Using Deployment XML").
OC4J supports both XA factories for two-phase commit (2PC) transactions and non-XA factories for transactions that do not require 2PC. For more information on 2PC support, see "How do You Participate in a Global or Two-Phase Commit (2PC) Transaction?".
To configure an EJB 2.1 MDB to access a JMS message service provider directly (without a J2CA resource adapter) by using deployment XML, you can use either the ejb-jar.xml
or orion-ejb.jar.xml
file. You use the orion-ejb-jar.xml
file configuration to override settings in ejb-jar.xml
or to add OC4J-specific settings. For example, the connection factory and destination name that you define in ejb-jar.xml
may be logical names that may not exist in your local JNDI environment. The deployer can override these settings in the orion-ejb-jar.xml
file and map them to the actual names. For more information on mapping logical names, see "Configuring an Environment Reference to a JMS Destination or Connection Resource Manager Connection Factory (JMS 1.0)".
To configure
Specify the required activation configuration properties.
You may specify activation configuration properties using any combination of <config-property>
elements in the orion-ejb-jar.xml
file <message-driven-deployment>
element and <activation-config-property>
elements in the ejb-jar.xml
file <message-driven
> element (as Example 18-3 shows). The orion-ejb-jar.xml
file configuration overrides that in the ejb-jar.xml
file.
For more information, see:
Example 18-3 shows how to configure ejb-jar.xml
to configure a message-driven bean to use a non-J2CA JMS message service provider. It assumes that you defined connection factory jms/MyQCF
and queue jms/MyQueue
when you configured your message service provider. You can define either XA-enabled factories for two-phase commit (2PC) support or non-XA factories if 2PC support is not required. For more information, see "Configuring Message Services".
Example 18-3 ejb-jar.xml for a Non-J2CA Message Service Provider
<message-driven> <ejb-name>QueueMDB</ejb-name> <ejb-class>test.QueueMDB</ejb-class> <message-destination-type>javax.jms.Queue</message-destination-type> <transaction-type>Container</transaction-type> <activation-config> <activation-config-property> <activation-config-property-name> ConnectionFactoryJndiName </activation-config-property-name> <activation-config-property-value> jms/MyQCF </activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name> DestinationName </activation-config-property-name> <activation-config-property-value> jms/MyQueue </activation-config-property-value> </activation-config-property> </activation-config> </message-driven>
The actual names you use depend on your message service provider installation. For more information, see the following: