I have a PojoCache working on JBoss AS 4.0.5.
I have configured an Eviction Policy and a FileCacheLoader.
When I put an object into the cache, it is correctly inserted into the file 
system.
When the cache initialises it correctly reads the objects in the file system 
into its memory.
When my program, which accesses the cache, connects to the cache, the object is 
brought into memory and can be accessed.
The object is correctly evicted from memory after the configured time.
But after that, if I try to retrieve the object (either with the MBean 
printDetails() or programatically) it is no longer in the cache.
I understand from the TreeCache.pdf that this is not correct.
My xx-service.xml file is based on the example local-passivation-service.xml 
file, which was the only one I could find with both an Eviction Policy and 
CacheLoader.
My xx-service.xml file is below:

  | <?xml version="1.0" encoding="UTF-8"?>
  | 
  | <!-- ===================================================================== 
-->
  | <!--                                                                       
-->
  | <!--  Sample PojoCache Service Configuration                               
-->
  | <!--                                                                       
-->
  | <!-- ===================================================================== 
-->
  | 
  | <server>
  | 
  |    <!-- Used inside JBoss AS -->
  |    <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
  | 
  |    <!-- 
==================================================================== -->
  |    <!-- Defines configuration                                               
 -->
  |    <!-- 
==================================================================== -->
  | 
  |    <mbean code="org.jboss.cache.aop.PojoCache"
  |           name="jboss.cache:service=PojoCache">
  | 
  |       <!-- Used inside JBoss AS -->
  |       <depends>jboss:service=Naming</depends>
  |       <depends>jboss:service=TransactionManager</depends>
  |       
  |   
  |   
  | 
  | 
  |      <attribute 
name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
  | 
  |       <!--
  |           Configure the TransactionManager   
  |      Note: having no  TransactionManager configured results in this log msg:
  |      WARN  [org.jboss.cache.TreeCache] method _lock() should not be invoked 
on TreeCache
  |      
  |       -->
  |       <!--
  |           Node locking scheme:
  |               OPTIMISTIC
  |               PESSIMISTIC (default)
  |       -->
  |       <attribute name="NodeLockingScheme">OPTIMISTIC</attribute>
  | 
  |       <!--
  |           Note that this attribute is IGNORED if your NodeLockingScheme 
above is OPTIMISTIC.
  | 
  |           Isolation level : SERIALIZABLE
  |                             REPEATABLE_READ (default)
  |                             READ_COMMITTED
  |                             READ_UNCOMMITTED
  |                             NONE
  |       -->
  |       <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
  | 
  |         <!--
  |              Valid modes are LOCAL
  |                              REPL_ASYNC
  |                              REPL_SYNC
  |                              INVALIDATION_ASYNC
  |                              INVALIDATION_SYNC
  |         -->
  |         <attribute name="CacheMode">REPL_ASYNC</attribute>
  | 
  |         <!--
  |         Just used for async repl: use a replication queue
  |         -->
  |         <attribute name="UseReplQueue">false</attribute>
  | 
  |         <!--
  |             Replication interval for replication queue (in ms)
  |         -->
  |         <attribute name="ReplQueueInterval">0</attribute>
  | 
  |         <!--
  |             Max number of elements which trigger replication
  |         -->
  |         <attribute name="ReplQueueMaxElements">0</attribute>
  | 
  |         <!-- Name of cluster. Needs to be the same for all clusters, in 
order
  |              to find each other
  |         -->
  |       <attribute name="ClusterName">sipnotif</attribute>
  | 
  |       <!-- JGroups protocol stack properties. Can also be a URL,
  |            e.g. file:/home/bela/default.xml
  |          <attribute name="ClusterProperties"></attribute>
  |       -->
  | 
  |       <attribute name="ClusterConfig">
  |          <config>
  |             <!-- UDP: if you have a multihomed machine,
  |   set the bind_addr attribute to the appropriate NIC IP address -->
  |             <!-- UDP: On Windows machines, because of the media sense 
feature
  |       being broken with multicast (even after disabling media sense)
  |       set the loopback attribute to true -->
  |             <UDP mcast_addr="228.1.2.5" mcast_port="45577"
  |                  ip_ttl="64" ip_mcast="true"
  |                  mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
  |                  ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
  |                  loopback="false"/>
  |             <PING timeout="2000" num_initial_members="3"
  |                   up_thread="false" down_thread="false"/>
  |             <MERGE2 min_interval="10000" max_interval="20000"/>
  |             <FD shun="true" up_thread="true" down_thread="true"/>
  |             <VERIFY_SUSPECT timeout="1500"
  |                             up_thread="false" down_thread="false"/>
  |             <pbcast.NAKACK gc_lag="50" 
retransmit_timeout="600,1200,2400,4800"
  |                            up_thread="false" down_thread="false"/>
  |             <pbcast.STABLE desired_avg_gossip="20000"
  |                            up_thread="false" down_thread="false"/>
  |             <UNICAST timeout="600,1200,2400" window_size="100" 
min_threshold="10"
  |                      down_thread="false"/>
  |             <FRAG frag_size="8192"
  |                   down_thread="false" up_thread="false"/>
  |             <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
  |                         shun="true" print_local_addr="true"/>
  |             <pbcast.STATE_TRANSFER up_thread="false" down_thread="false"/>
  |          </config>
  |       </attribute>
  | 
  | 
  |       <!--
  |           The max amount of time (in milliseconds) we wait until the
  |           initial state (ie. the contents of the cache) are retrieved from
  |           existing members in a clustered environment
  |       -->
  |       <attribute name="InitialStateRetrievalTimeout">20000</attribute>
  | 
  |       <!--
  |           Number of milliseconds to wait until all responses for a
  |           synchronous call have been received.
  |       -->
  |       <attribute name="SyncReplTimeout">15000</attribute>
  | 
  |       <!-- Max number of milliseconds to wait for a lock acquisition -->
  |       <attribute name="LockAcquisitionTimeout">10000</attribute>
  | 
  |       <!--
  |       <attribute name="EvictionPolicyClass"></attribute>
  |       -->
  | 
  |       <!-- Name of the eviction policy class. We have commented it off to 
disable eviction.
  |       -->
  |       <attribute 
name="EvictionPolicyClass">org.jboss.cache.aop.eviction.AopLRUPolicy</attribute>
  | 
  |       <!-- Specific eviction policy configurations. This is LRU -->
  |       <attribute name="EvictionPolicyConfig">
  |          <config>
  |             <attribute name="wakeUpIntervalSeconds">5</attribute>
  |             <!-- Cache wide default -->
  |             <region name="/_default_">
  |                <attribute name="maxNodes">5000</attribute>
  |                <attribute name="timeToLiveSeconds">1000</attribute>
  |             </region>
  |             <region name="/mailboxes">
  |                 <attribute name="maxNodes">100</attribute>
  |                 <attribute name="timeToLiveSeconds">10</attribute>
  |             </region>
  |          </config>
  |       </attribute>
  |       
  |             <!-- New 1.3.x cache loader config block-->
  |         <attribute name="CacheLoaderConfiguration">
  |             <config>
  |                 <passivation>true</passivation>
  |                 <preload>/</preload>
  |                 <shared>false</shared>
  | 
  |                 <cacheloader>
  |                     <class>org.jboss.cache.loader.FileCacheLoader</class>
  |                     <properties>
  |                       location=${jboss.server.data.dir}${/}pojoCache
  |                     </properties>
  |                     <async>false</async>
  |                     <fetchPersistentState>true</fetchPersistentState>
  |                     <ignoreModifications>false</ignoreModifications>
  |                 </cacheloader>
  |             </config>
  |        </attribute>
  |       
  |       
  |       <attribute name="UseRegionBasedMarshalling">true</attribute>
  |       <!--<attribute name="InactiveOnStartup">true</attribute>-->
  |       
  |       </mbean>
  |    
  |  
  | 
  | </server>
  | 
  | 

I would be extremely greatful if someone could comment.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4044734#4044734

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4044734
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to