Pages

Monday 3 February 2014

Oracle ADF: Tuning Application Module Pools and Connection Pools

We can tune default Application Module settings for Application Module pools, connection pools & data sources as per our requirements. It's mostly depends on use or access of an Application Module.

Oracle ADF: Tuning Application Module Pools and Connection Pools

Contact us for more details and Session Schedules at:
  IND: +91- 9948030675, 
USA: +1-319-804-4998
Email: info@sryitsolutions.com, 

As a performance optimization, when an instance of an AM is returned to the pool in "managed state" mode, the pool keeps track that the AM is referenced by that particular session. The AM instance is still in the pool and available for use, but it would prefer to be used by the same session that was using it last time because maintaining this so-called "session affinity" improves performance.

So, at any one moment in time, the instances of application modules in the pool are logically partitioned into three groups, reflecting their state:

Unconditionally available for use
Available for use, but referenced for session affinity reuse by an active user session XYZ
Unavailable, inasmuch as it's currently in use (at that very moment!) by some thread in the web container.

The values that you supply through the Configuration Manager are saved in an XML file named bc4j.xcfg. All of the configurations for all of the application modules in a single Java package are saved in the same file. For example, if you have a EmployeeReviewModule and a BonusAssignment application module which both live in the com.yourcompany.hr package, then the configuration information for both of these modules will be saved in the bc4j.xcfg file in the ./com/yourcompany/hr/common directory in your project's source path. When your project is compiled, this bc4j.xcfg file gets copied to the same directory in your project's out path, so that the ADF framework can find it at runtime.

Note that child elements of the <AppModuleConfig> tag appear with tag names matching their property values. It's also important to understand that if a property is currently set to its runtime default value, then the Configuration Manager does not write the entry to the bc4j.xcfg file.

User can manually manage Application Pool & Connection Pool using 

Application Pool Parameters
1. Pool Behavior Parameters
    1. Failover Transaction State Upon Managed Release (jbo.dofailover)
    2. Row-Level Locking Behavior Upon Release (jbo.locking.mode)
    3. Disconnect Application Module Upon Release (jbo.doconnectionpooling)
    4. Enable Application Module Pooling (jbo.ampool.doampooling)
    5. Support Dynamic JDBC Credentials (jbo.ampool.dynamicjdbccredentials)
    6. Reset Non-Transactional State Upon Unmanaged Release (jbo.ampool.resetnontransactionalstate))

2. Pool Sizing Parameters
1. Initial Pool Size (jbo.ampool.initpoolsize)
2. Maximum Pool Size (jbo.ampool.maxpoolsize)
3. Referenced Pool Size (jbo.recyclethreshold)
4. Maximum Instance Time to Live (jbo.ampool.timetolive)

3. Pool Cleanup Parameters
Pool Polling Interval (jbo.ampool.monitorsleepinterval)
Maximum Available Size (jbo.ampool.maxavailablesize)
Minimum Available Size (jbo.ampool.minavailablesize)
Idle Instance Timeout (jbo.ampool.maxinactiveage)
Maximum Instance Time to Live (jbo.ampool.timetolive)

**There are Equivalent Oracle WebLogic Server Data Source Parameters like Application Pool parameters.

Database Connection Pool Parameters
Initial Pool Size (jbo.initpoolsize)
Maximum Pool Size (jbo.maxpoolsize)
Pool Polling Interval (jbo.poolmonitorsleepinterval)
Maximum Available Size (jbo.poolmaxavailablesize)
Minimum Available Size (jbo.poolminavailablesize) :
Idle Instance Timeout (jbo.poolmaxinactiveage)

For more details check oracle documentation 41 Tuning Application Module Pools and Connection Pools

1 comment:

  1. This is nice information and it useful for oracle learners.we also provides the Best oracle Online Training in India,US, all over the world

    ReplyDelete