Event Passing from one Application server to Another in Clustering

[font=Verdana]
We are doing clustering in Glassfish for our vaadin application. In vaadin, event queue mechanism is used.

My question that:
We want that if application is not able to process requests on one application server, it should redirect to next request to the another Server.
This is part of clustering. It is done.
Problem is that
User A does some changes on the Server A. Because of load on Server A, User B request is processed on Server B.
Here because of the
User A has made some changes, server B application page should be refreshed due to change happened
.

[u]
[i]

[/i]How do we pass event generated on Server A user to the Server B user?
[/u]

Please give some light on this.
[/font]

Hi,

As you probably imagined, this is quite difficult.

I think you actually have two problems here

  1. Distributed events to the application servers in the cluster
  2. Pushing changes from the application server to the browser.

Problem 1) is completely outside of Vaadin’s sphere of responsiblity. I would look at using either JMS publish-subscribe messaging (we use
ActiveMQ
with great success) if you are just looking at simple events or
Terracotta
if you are trying something more sophisitcated (distributed caching etc)

Problem 2) is rather more in Vaadin’s area; essentially when your Application receives an event from another server, you want to push the data from the server to the browser - in effect, refresh. There are a few options : The simplest is to use
Refresher
which essentially polls the server.
IcePush
actually does a form of push from the server to the client. Finally, there is also
DontPush
which I believe is still at an experimental stage.

FWIW, I have not used any of these add-ons yet.

Cheers,

Charles