New year is just 2 days away. It's time for us to plan new things, and carry all the learning from past to face new challenges of tomorrow. I wish you and your family a happy, joyous and prosperous new year 2012 !
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…
Sometime back I blogged about using JMS with ADF BC http://jobinesh.blogspot.com/2011/04/using-jms-with-adf-business-components.html . 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.