[jboss-user] [JBossCache] - Re: FileCacheLoader partial preload

emailmsgbox do-not-reply at jboss.com
Mon Dec 18 05:38:11 EST 2006


I'm using POJO cache

this is a test code 

 
  | @PojoCacheable
  | public class TestData implements Serializable {
  |     Map<Integer,TestKukuData> kukuMap =  new HashMap<Integer,TestKukuData>();
  |     String myStr;
  |     int myInt;
  |     public TestData() {  }
  |     public TestData(String myStr, int myInt) {
  |         this.myStr = myStr;
  |         this.myInt = myInt;
  |     }
  |     public Map<Integer, TestKukuData> getKukuMap() {
  |         return kukuMap;
  |     }
  |     public void setKukuMap(Map<Integer, TestKukuData> kukuMap) {
  |         this.kukuMap = kukuMap;
  |     }
  |  
  | }


  | PojoCacheable
  | public class TestKukuData implements Serializable {
  |     String id;
  |     int miInt;
  | 
  |     public TestKukuData() {    }
  |         public TestKukuData(String id, int miInt) {
  |         this.id = id;
  |         this.miInt = miInt;
  |     }
  | 
  |     public String getId() {
  |         return id;
  |     }
  | 
  |     public void setId(String id) {
  |         this.id = id;
  |     }
  | 
  | }
  | 


  |  public class MYCache {
  |     final static Fqn TEST =   Fqn.fromString("/kuku/test");
  |     static PojoCacheIfc myCache;
  | ....
  | 
  |   public static TestData setTest(Integer id, TestData  data){
  |  
  |             return (TestData)myCache.putObject(new Fqn(TEST,id),data);
  |     }
  |     public static TestData getTest(Integer id){
  | 
  |             return (TestData)myCache.getObject(new Fqn(TEST,id));
  |      }
  | 
  | 



  | 
  | class MainTest{
  |      public void do(){
  |            int id = 1234
  |            TestData tData = MYCache.getTest(id);
  |            if(tData == null){
  |                TestData data = new TestData("TestData",1);
  |                 data.getKukuMap().put(new Integer(11),new TestKukuData("kukuID1",1+id));
  |                 data.getKukuMap().put(new Integer(22),new TestKukuData("kukuID2",2+id));
  |              
  |             MYCache.setTest(id,data);
  | 
  |            }
  |            else{
  |             int size = tData.getKukuMap.size();
  |             Collection c = tData.getKukuMap.values() ;
  |              TestKukuData kuku = (TestKukuData )ttData.getKukuMap.getObject(11)
  |           }
  | 
  |     
  | 
  | 
  | }
  | 

I run this twice 
first time I load the cache , then I restart Jboss
the second time size is 0 and the collection is empty

but kuku  is with the right value
what am I missing ?

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3994604



More information about the jboss-user mailing list