I have a Flex/BlazeDS webapp (pseudo content management system) with a Java backend running on 2 Weblogic 10.3 servers for load balancing and HA purposes.
Basically, I'm using AMF polling to update my app such that when a user opens a document from the search results, the corresponding row will display a locked icon across all user displays that currently have that document on the screen.
The problem I have is that if a user connected to Server A opens up document X, the locked icon will only appear on the screens of other users connected to Server A. The displays of users connected to Server B will not be updated. Is there any established paradigm or best practice to ensure that the locked update will propagate across all servers?
The easiest way would be to use a database implemented lock (if you already are using a database in your application).
Another solution is to implement a publisher/subscriber scenario and to use the BlazeDS clustering feature, described here. Using JGroups, BlazeDS can be configured to work in a cluster and a message created by a publisher (lock an document) will be propagated to all the publishers.
The BlazeDS messaging features are described here. I still recommend the first version (the database).
For more "exotic" options you can try with ZooKeeper, Hazelcast etc. I would not use them in your case, however.