1 Reply Latest reply on Dec 18, 2006 7:22 AM by Manik Surtani

    JBossCache replication complete notification on start

    Carl Shelbourne Newbie

      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 );
       setTreeCache( cache );

      We are currently based on 1.24