Question

We are running a websphere commerce application with several websphere application servers configured in a cluster.

We are using dynacache, so each server in the cluster will have its own cached objects in its own JVM. We are using CACHEIVL with database triggers for all cache invalidations.

I was reading http://www.ibm.com/developerworks/websphere/library/techarticles/0603_crick/0603_crick.html

and found an interesting sentence: "Furthermore, cache replication is necessary to ensure that invalidation messages are shared between the servers in a cluster."

After thinking about this it would make sense that for the invalidation to work it would need to be triggered on all the servers in the cluster, but I couldn't find confirmation of this in the mountains of IBM doco.

Does anyone know if you can use trigger based cache invalidation (through CACHEIVL) when you have several application servers clustered each with their own cache without DRS turned on? or do I need to use DRS for this to work?

Was it helpful?

Solution

There are 3 main techniques used to invalidate cache within WebSphere Commerce across a cluster:

  1. Let the cache entries expire after a configured time limit.
  2. Enable DRS so that one server may process the invalidation signals and propagate them to the other servers.
  3. Enable the cache invalidation scheduled job DynaCacheInvalidationCmd to run on each server of the cluster independently.

So, to answer your question : It is not mandatory to use DRS.

http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.admin.doc/tasks/tdcenabcdcinvalidtrigs.htm

OTHER TIPS

Better question to ask IBM Software Support. As far as I know, CACHEIVL does trigger the invalidation as you said but not exactly sure about DRS since I don't remember needing to configure that when setting up.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top