Ebiz Java Caching Framework R12

JVM Caching :-

Cache is simply a copy or pre-fetched date stored away from the original data, there are few well known computing caches hits us as bellow

# Oracle Database Buffer Cache of the SGA
# Disk Cache
# CPU Cache
# Web Cache
and in this scenario it is Java Cache.

Similarly data from EBS database is stored or cached in the OACoreGroup JVM memory at middle tier server, normally this is accomplished when data is accessed first. Also one more thing to remember when we talk about Java caching is that every OACoreGroup JVM has its own local Java Cache, this is different from others.

Here is the detailed architecture for caching framework.

 

How Java Caching helped in my Production System:

As caching is the words which is closely connected to the performance, my application performance increased because data is retrieved from JVM memory, which intern save network I/O to my database disks, one more important thing is that most suitable to be cached would be

1) Very expensive SQLs
2) Data which does not change
3) Data which frequently used

Now, since production mostly we will have multiple middle tiers, even though Ebiz uses distributed cache model, there is a challenge in java caching, because objects in one JVM are propagated through to other JVMs using the same database, if we have multiple middle tiers there should be a synchronization method to synch up OACoreGroup JVMs.

There are two synch up methods, one is JVMs talk to each other and send the updated object to the other JVMs. This is similar as our CRS data synch up in RAC, another one is JVM will just send an invalidation message for a specified object, this method is very common.

Another practical scenario which we would consider in production system is about the updates that happens outside of the JVMs, either through forms interface or a batch process, here an invalidation business event is triggered from the database, sending the JVMs an invalidation message for any records that have been updated. If object is invalidated in JVM, next time new version will be stored in JVM.

A very common issue that I noticed with our system is, changes to certain responsibilities are not taking effect immediately, this issue commonly reported after applying ATG RUP3, this is because ATG implemented java caching for responsibilities in RUP3. See Doc ID: 374309.1 for detail trouble shooting.

Check Java Cache in your Env :

login to URL http://<machinename>:<port> /OA_HTML/jtflogin.jsp
Login as sysadmin and navigate to Performance -> Components.

Errors I faced:

1) As I mentioned above, Unable to see responsibilities after RUP3, solution Note: 374309.1
2) Some internal 404, /OA_HTML/AppsLogin not found  browser error while accessing Apps, solution:
– Stop all services
– cd $INST_TOP/ora/10.1.3/opmn/conf
– remove .formfactor
– Start services


References:

1) JVM Tuning Recommendations for Apps 11i  ——–> http://blogs.oracle.com/schan/2007/03/01/
2) Oracle Applications Java Caching Framework Developer’s ——–> Metalink Note 275879.1
3) Diagnosing database invalidation issues with Java Cache for eBusiness Suite ——–> Note 455194.1

About the Author Atul Kumar

Leave a Comment:

Not found