2011-01-24 10:09:44 [net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator]-[WARN] Exception on flushing of replication queue: null. Continuing...
java.lang.NullPointerException
at net.sf.ehcache.distribution.RMISynchronousCacheReplicator.listRemoteCachePeers(RMISynchronousCacheReplicator.java:313)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.flushReplicationQueue(RMIAsynchronousCacheReplicator.java:305)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.replicationThreadMain(RMIAsynchronousCacheReplicator.java:122)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator.access$100(RMIAsynchronousCacheReplicator.java:55)
at net.sf.ehcache.distribution.RMIAsynchronousCacheReplicator$ReplicationThread.run(RMIAsynchronousCacheReplicator.java:372)系统经常出现这个异常“是随机什么时候出得没有规律”,但不影响系统使用。
求解释这什么错

解决方案 »

  1.   

    RMI是调远程的方法,你什么地方用到net.sf.ehcache.distribution.*的包了 ,贴完整代码看看
      

  2.   


    <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="ehcache.xsd">   
        <diskStore path="java.io.tmpdir"/>
       
        <cacheManagerPeerProviderFactory class=
                              "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
                              properties="peerDiscovery=manual,
                              rmiUrls=//192.168.1.100:40000/sampleCache1|//192.168.1.101:40000/sampleCache1"
                              propertySeparator="," /><cacheManagerPeerListenerFactory 
    class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
    properties="port=40001, socketTimeoutMillis=2000"/>   
        <defaultCache
                maxElementsInMemory="10000"
                eternal="false"
                timeToIdleSeconds="120"
                timeToLiveSeconds="120"
                overflowToDisk="true"
                diskSpoolBufferSizeMB="30"
                maxElementsOnDisk="10000000"
                diskPersistent="false"
                diskExpiryThreadIntervalSeconds="120"
                memoryStoreEvictionPolicy="LRU"
                />
      
        <cache name="sampleCache11"
               maxElementsInMemory="10000"
               maxElementsOnDisk="1000"
               eternal="false"
               overflowToDisk="true"
               diskSpoolBufferSizeMB="20"
               timeToIdleSeconds="300"
               timeToLiveSeconds="600"
               memoryStoreEvictionPolicy="LFU"
                />    <cache name="sampleCache2"
               maxElementsInMemory="1000"
               eternal="true"
               overflowToDisk="false"
               memoryStoreEvictionPolicy="FIFO"
                />
      
        <cache name="sampleCache3"
               maxElementsInMemory="500"
               eternal="false"
               overflowToDisk="true"
               timeToIdleSeconds="300"
               timeToLiveSeconds="600"
               diskPersistent="true"
               diskExpiryThreadIntervalSeconds="1"
               memoryStoreEvictionPolicy="LFU"
                />    <cache name="sampleCache1"
               maxElementsInMemory="10"
               eternal="false"
               timeToIdleSeconds="100"
               timeToLiveSeconds="100"
               overflowToDisk="false">
            <cacheEventListenerFactory
                    class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
            <bootstrapCacheLoaderFactory
                    class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/>
        </cache>    <cache name="sampleDistributedCache2"
               maxElementsInMemory="10"
               eternal="false"
               timeToIdleSeconds="100"
               timeToLiveSeconds="100"
               overflowToDisk="false">
            <cacheEventListenerFactory
                    class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
                    properties="replicateAsynchronously=false, replicatePuts=false,
                                replicateUpdates=true, replicateUpdatesViaCopy=true,
                                replicateRemovals=false"/>
        </cache>
       
        <cache name="sampleDistributedCache3"
               maxElementsInMemory="10"
               eternal="false"
               timeToIdleSeconds="100"
               timeToLiveSeconds="100"
               overflowToDisk="false">
            <cacheEventListenerFactory
                    class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
                    properties="asynchronousReplicationIntervalMillis=200"/>
        </cache>
    </ehcache>