0 Replies Latest reply on Jun 14, 2005 3:47 PM by hchen

    JBoss Clustering and Fail-over

    hchen

      Our J2EE application are using separate Tomcat and JBoss Servers, we have 4 clustered JBoss server. Here is what happened:
      One of the Tomcats revokes an EJB call to one of the JBOSS server, for example:

      Customer retrieveCustomer(long Id) throws RemoteException{


      }

      The process on JBOSS side is fine, there is not error in JBoss server.log
      But Tomcat got RemoteException. We figured it out, it?s because of the Customer value objects are out of sync on Tomcat and JBoss.

      Because we have 4 JBoss server clustered, so this EJB call failed over to other JBoss server one by one before it returned to Tomcat with RemoteException
      This behavior suppose to be normal JBoss fail-over behavior. But It cause problem for us, as what I said before, there is no error in the JBoss container, so all database transactions are committed, the customer sent out one request, but it was processed 4 times, if this process involves a charge to the customer?s credit card, it will charge 4 times. Of course, we can make sure the Customer value object is in sync both on Tomcat and JBoss, but it will not guarantee there is not Remote Exception occurred due to other reason.

      So is there a way to configure JBoss clustering and fail-over to depend on some customized situations? For example, we can control fail-over by ourselves in the process, can turn it on or off in our code.

      Any help would be appreciated!

      Harold Chen