Hi,

Jay SenSharma

Jay SenSharma

Here in this post there are some standard MDB3.0 annotations are demonstrated which can be used to make our MDBs Code Container Independent. Now if we use the following Properties as part of @javax.ejb.ActivationConfigProperty then our MDB will become Vendor independent and then we can deploy the same MDB in most of the Popular containers like OC4J, WebLogic…etc.

Advantage of using @javax.ejb.ActivationConfigProperty annotation is …It eliminates the presence of “weblogic-ejb-jar.xml” (WebLogic Specific configuration file for EJBs).

NOTE: If we will provide @javax.ejb.ActivationConfigProperty and “weblogic-ejb-jar.xml” file configurations together then Always “weblogic-ejb-jar.xml” file configuration will take precedence over the Annotations.

Example:


@MessageDriven(
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") ,
@ActivationConfigProperty(propertyName="connectionFactoryJndiName",propertyValue="QCF"),
@ActivationConfigProperty(propertyName="destinationJndiName", propertyValue="TestQ")
},mappedName="TestQ"
)

More Examples can be seen in the following Link:    mdb3-0-sample-for-weblogic-application-server/

For Informations And Meaning about the Tags of “weblogic-ejb-jar.xml” Please refer to:
http://download.oracle.com/docs/cd/E15051_01/wls/docs103/ejb/DDreference-ejb-jar.html#wp1113444

Below are the Tags of “weblogic-ejb-jar.xml” and their Equivalent proeprties which can be used in the @ActivationConfigProperty

WebLogic 10.3.3 provides Support for many Properties Mentioned Below:

connection-factory-jndi-name (Equivalent Property: connectionFactoryJndiName)
destination-jndi-name (Equivalent Property: destinationJndiName)
distributed-destination-connection (Equivalent Property:distributedDestinationConnection)

connection-factory-resource-link (Equivalent Property: connectionFactoryResourceLink )
resource-adapter-jndi-name (Equivalent Property: resourceAdapterJndiName)
destination-resource-link (Equivalent Property: destinationResourceLink)

Jms-polling-interval-seconds(Equivalent Property: jmsPollingIntervalSeconds )
jms-client-id(Equivalent Property: jmsClientId)
durable-subscription-deletion (Equivalent Property: durableSubscriptionDeletion )
max-messages-in-transaction (Equivalent Property: maxMessagesInTransaction)
max-suspend-seconds (Equivalent Property: maxSuspendSeconds)
init-suspend-seconds (Equivalent Property: initSuspendSeconds)

use81-style-polling (Equivalent Property: use81StylePolling)
initial-context-factory (Equivalent Property: initialContextFactory)
provider-url (Equivalent Property: providerURL)

.
.
Thanks
Jay SenSharma

If you enjoyed this post, please considerleaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.