Skip to main content


Showing posts from December, 2011

Some Tips on Application Module Usage

Copying some points related to application module configuration on top of what you see in the following chapter - 44 Tuning Application Module Pools and Connection Pools

1. When a web client access a page a new AM instances will be created till the pool size crosses recycleThreshold.

2.Call to Configuration.createRootApplicationModule(qualifiedAMDefName, configName); will use instance from the pool if poolsize > recycleThreshold and unreferenced (free) AM instances are available.  Later when client calls Configuration.releaseRootApplicationModule(applicationModule, true); will remove the instance- doesn't matter how the instance is acquired .

3.Though the call Configuration.releaseRootApplicationModule(applicationModule, false/* remove flag */) , there is now way for a framework to identify the previously used AM instances if the client again calls Configuration.createRootApplicationModule(qualifiedAMDefName, configName) to create a new instance within the same request. Howeve…

Calling Application Module Methods from EJB and MDB

Sometime back I blogged about using JMS with ADF BC . I'm revisiting this topic with another example illustrating the usage of application module methods from EJB and MDB. The sample uses XA Data source which will help you to force both AM and EJB to share same db transaction. Note that,  I'm calling ApplicationModule::postChangesToDB() to post changes to database when AM method is used inside EJB method, leaving the 'commit' call to the underlying container.


You can download the sample workspace from here.Refer the previous post for setting up the MDB used in the sample + Configure XA Datasource with JNDI name jdbc/HRDS
[Runs with Oracle JDeveloper 11g R2 PS1 + HR Schema]