We have been using JBossCache in our application to distribute the state of our system
server to clients. It has and does work very well until today.
We had a problem overnight which took the number of objects in the cache to over 45000.
This is not a problem in that we started the apps up with extra memory and everything
appeared to work.
The problem we are having is that we take a view of the cache at some time after our
client application has started the cache. This time is dependant on other processes that
need to be brought up, but up until today, there has been enough time for the cache to
replicate (we are using REPL_SYNC).
Today though as the cache was so large, replication was still in progress when we started
to take a view of the objects that were in the cache, and the cache reported that there
were none. New objects raised in to the cache appear but we never go back a pre-populate
the views with data that has appeared when replication completes.
This is the problem we are having. How do you know when replication has completed?
We start the cache, but can not seem to find any event we can tag on to so as to be
informed that replication has completed. Can this be done? Is there another way?
Below is how we start the cache.
| public CacheManager( final InputStream is, final String clusterName ) throws Exception
| {
| PropertyConfigurator configurator = new PropertyConfigurator();
| TreeCache cache = new TreeCache();
|
| configurator.configure( cache, is );
| cache.setFetchStateOnStartup( true );
| if ( clusterName != null )
| {
| cache.setClusterName( clusterName );
| }
| cache.start();
| setTreeCache( cache );
| }
We are currently based on 1.24
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991688#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...