3-tier, client synchronization, JavaGroups

From: Laszlo Sinka (laszlo.sink..umanvalueservices.hu)
Date: Tue Aug 04 2009 - 08:54:45 EDT

  • Next message: Laszlo Sinka: "3-tier, client synchronization, xmpp"

    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.DataRowStor..265109,
    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))



    This archive was generated by hypermail 2.0.0 : Tue Aug 04 2009 - 08:55:22 EDT