You first enable JGroups in oscache.properties per OSCache docs:

http://www.opensymphony.com/oscache/wiki/Clustering.html

And then in your postUpdate/postRemove/postPersist listener you call

  dataContext.getQueryCache().removeGroup("groupName");

"groupName" should be the same String you are using in your select queries.

Andrus



On Sep 23, 2009, at 11:37 PM, Malcolm Edgar wrote:

Thanks for that information I will give it ago. Do you have an example of a listener which performs a flush. This is really what I am after, as there are a relatively small tables which need to be synched, others don't need to
be.
regards Malcolm Edgar

On Wed, Sep 23, 2009 at 11:51 PM, Andrus Adamchik <and...@objectstyle.org >wrote:

You are correct - flushing query cache groups across the cluster with
JGroups (or something else) is a low overhead way to propagate updates. My usual setup is to have post-update/remove/persist listeners generate a distributed event with a cache group appropriate for the object being saved.
This allows to define flush granularity at any level desired.

I don't have JGroups config specifically restricted to localhost, however I haven't seen any problems with network flooding with mine. Unless you also
have some security considerations, you can use something like that:


UDP(mcast_addr=231.12.21.132;mcast_port=45569;ip_ttl=4;tos=0;mcast_send_buf_size=150000;mcast_recv_buf_size=80000;bind_port=20000;port_range=500):PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096):pbcast.GMS(join_timeout=5000;shun=false;print_local_addr=true)

Andrus


On Sep 23, 2009, at 4:34 PM, Malcolm Edgar wrote:

Hi All,
I am looking to improve the performance of a set of web applications
running. We have one application which is used mainly for
adminsitration/configuration and a number of public facing web
applications
which can have a high load.

I have been experimenting with OSCache but the problem I see is that the query cache and the object cache are not unified, so I sometimes have situations where the objects from the caches are not consistent. While
the
query cache can timeout, the object cache doesn't, so if another web
application makes an update the object cache in this application is not
updated.

I presume the answer to this problem is using JGroups, if so does anyone have a configuration where its constrained to localhost. I don't really
want
to be broadcasting notification messages across the network.

regards Malcolm Edgar




Reply via email to