Hi,

I'm on JBossCache 1.4.0.SP1. I'm just testing pojo cache replication between 
two machines. I wrote a simple test case and a pojo class. I started the test 
on one machine and put the object into the cache. I then started the second 
machine and the initial state did get replicated over. 

However, when I modified the pojo on the first machine I never saw the 
modification got replicated. Below is my code. Maybe I'm making some simple 
mistake? Thanks for any help.

Test case:
========================================
public class Driver
{
        static Logger logger = Logger.getLogger(Driver.class);
        
        public static void main(String[] args)
        {
                BasicConfigurator.configure();
                logger.getRoot().setLevel(Level.INFO);
                try {
                        PojoCache cache = new PojoCache();
                        PropertyConfigurator configurator = new 
PropertyConfigurator();
                        configurator.configure(cache, new 
FileInputStream("jboss-cache.xml"));
                        cache.addTreeCacheListener(new Driver());
                        cache.startService();
                        
//this is the code executed on the first machine
                        Router r0 = new Router(0, "12:34:56:78:FF:00");
                        cache.putObject("/router", r0);

//this is the code on the second machine. I simply get that pojo from the cahce
                         //Router r0 = (Router)cache.getObject("/router");
                        
// start a thread to display the router every 3 seconds
// never saw the change got replicated to the second machine!
                        DisplayThread display = new DisplayThread();
                        display.setRouter(r0);
                        new Thread(display).start();


                        BufferedReader reader = new BufferedReader(new 
InputStreamReader(System.in));

//start a loop to insert new address into the POJO 
                        while ( true ) {
                                System.out.print("Enter ip...");
                                String line = reader.readLine();
                                r0.addAddress(line);
                        }
                        
                } catch ( Throwable tx ) {
                        tx.printStackTrace();
                }
        }
}
=========================================
@PojoCacheable
public class Router
{
        private List addresses;
        private int id;
        private String mac;
        
        public Router() 
        {
                
        }
        
        public Router(int id, String mac)
        {
                this.id = id;
                this.mac = mac;
                addresses = new ArrayList();
        }

        public List getAddresses()
        {
                return addresses;
        }

        public int getId()
        {
                return id;
        }

        public String getMac()
        {
                return mac;
        }
        
        public void addAddress(String address)
        {
                addresses.add(address);
        }
        
        public String toString()
        {
                StringBuffer sb = new StringBuffer();
                sb.append("router ").append(id).append(" 
mac").append(mac).append("addresses:").append("\n");
                for ( String s: addresses ) {
                        sb.append(s).append(" ");
                }
                sb.append("\n");
                
                return sb.toString();
        }
}



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

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

Reply via email to