Tuesday

Configure Oracle Coherence as a second level(L2) cache

It's republish of my blog from another domain. The post was published at May 13 2008.
A few weeks before Oracle corporation bought company tangosol, which have a caching framework for enterprise application. Coherence might be used as a second level cache or as Cache store in any enterprise solution. How to use coherence as a Cache store would be found in the following URL:http://www.oracle.com/technology/pub/articles/vohra-coherence.html  . In the current blog we will configure a coherence L2 cache using Hibernate (Hibernate - a well known ORM framework).

First, download oracle Coherence from the following URL http://www.oracle.com/technology/software/products/ias/htdocs/coherence.html

Using Coherence as L2 cache we only need 3 libraries out of others: coherence.jar, coherence-hibernate.jar, tangosol.jar.

Install them in local maven2 repositories. Now we have to configure hibernate.cfg.xml which should be in application classPath as follows:

By default Coherence will use configuration from coherence-hibernate.jar/coherence-config.xml. We may override the configuration by providing a new configuration file relaid in classpath named coherence-cache-config.xml. A simple coherence-cache-config provide in the following:

If logging is enable for the application, we would see log messages as follows:
2008-05-12 10:56:19,079 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,079 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,079 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,266 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,266 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,266 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,282 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,282 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,282 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,282 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,282 INFO [org.hibernate.cfg.SettingsFactory] -
2008-05-12 10:56:19,329 INFO [org.hibernate.impl.SessionFactoryImpl] -
2008-05-12 10:56:19.547 Oracle Coherence 3.3.1/389 (thread=main, member=n/a): Loaded operational configuration from resource "jar:file:/C:/Documents%20and%20Settings/sahmed/.m2/repository/com/tangosol/coherence/coherence/1.0/coherence-1.0.jar!/tangosol-coherence.xml"
2008-05-12 10:56:19.547 Oracle Coherence 3.3.1/389 (thread=main, member=n/a): Loaded operational overrides from resource "jar:file:/C:/Documents%20and%20Settings/sahmed/.m2/repository/com/tangosol/coherence/coherence/1.0/coherence-1.0.jar!/tangosol-coherence-override-dev.xml"
2008-05-12 10:56:19.547 Oracle Coherence 3.3.1/389 (thread=main, member=n/a): Optional configuration override "/tangosol-coherence-override.xml" is not specified

Oracle Coherence Version 3.3.1/389
Grid Edition: Development mode
Copyright (c) 2000-2007 Oracle. All rights reserved.

2008-05-12 10:56:20.954 Oracle Coherence GE 3.3.1/389 (thread=Cluster, member=n/a): Service Cluster joined the cluster with senior service member n/a
2008-05-12 10:56:24.204 Oracle Coherence GE 3.3.1/389 (thread=Cluster, member=n/a): Created a new cluster with Member(Id=1, Timestamp=2008-05-12 10:56:20.625, Address=172.24.11.226:8088, MachineId=49122, Location=process:3396@s-ahmed, Edition=Grid Edition, Mode=Development, CpuCount=2, SocketCount=1) UID=0xAC180BE200000119DBEA6091BFE21F98
2008-05-12 10:56:24.250 Oracle Coherence GE 3.3.1/389 (thread=main, member=1): Loaded cache configuration from resource "jar:file:/C:/Documents%20and%20Settings/sahmed/.m2/repository/com/tangosol/coherence/hibernate/coherence-hibernate/1.0/coherence-hibernate-1.0.jar!/config/hibernate-cache-config.xml"
2008-05-12 10:56:24.532 Oracle Coherence GE 3.3.1/389 (thread=ReplicatedCache:HibernateReplicatedCache, member=1): Service HibernateReplicatedCache joined the cluster with senior service member 1
2008-05-12 10:56:25,000 INFO [org.hibernate.impl.SessionFactoryObjectFactory] -
2008-05-12 10:56:25,016 INFO [org.hibernate.cache.UpdateTimestampsCache] -
2008-05-12 10:56:25,016 INFO [org.hibernate.cache.StandardQueryCache] -
2008-05-12 10:56:25.157 Oracle Coherence GE 3.3.1/389 (thread=main, member=1): Loaded cache configuration from resource "file:/E:/WorkSpace/MyProjects/Coherence/coherence-test/target/classes/coherence-cache-config.xml"
entity cache items:SafeNamedCache: CacheHandler

A much more configurations detailed in the user guide.
Post a Comment