Hi, we try to run Cayenne(3.0m6) in 3-tier mode with client synchronization.
We set up a configuration to use cross-vm caching through JavaGroups (2.2.1) (with standard configuration). We have a simple object with a string attribute (ItemCategory, name). We have a tomcat5.5 deployed with the default HessianServlet (Hessian version: 3.1.6). We have a client that connects to the server, like String myChatRoom = "1111"; ClientConnection connection = new HessianConnection( "http://192.168.3.154:8081/HVS_CAYENNE_V3/HVS_DATA", "hvs", "hvs", myChatRoom); DataChannel channel = new ClientChannel(connection); context = new CayenneContext(channel, true, true); then the client fetches an object SelectQuery select = new SelectQuery(ItemCategory.class); category = (ItemCategory) context.performQuery(select).iterator().next(); we have a simple gui, which can update the name property: category.setName(nameField.getText()); context.commitChanges(); the server accepts the requests, changes the database and logs also the following message: 2009-08-04 14:03:29,125 DEBUG http-8081-Processor23 org.apache.cayenne.access.DataRowStore - postSnapshotsChangeEvent: [SnapshotEvent] source: org.apache.cayenne.access.datarowst...@1265109, modified 1 id(s) but, when we run two clients (both having reference to the same object), and one of them updates the object, the other client doesn't see the change, and for System.out.println(category.getName()); prints the old value, which the object had by the start of the client. We are using Eclipse(3.5) the client and server are in the same project, using the same configuration files, classes, libraries, etc., running on same machine. What do we wrong? What else do we need? p.s.: we have tried many configuration modes (tcp.xml, udp.xml)(different client connection attributes)(different versions (JavaGroups: 2.2.1, 2.2.9, 2.7.0)(Cayenne: 2.0, 3.0m6))