I have an environment wherein there are two non clustered Weblogic instances with each having a couple of EJB's (primarily stateless) deployed. There is a ESB server before the Weblogic stack (also non clustered). Each ESB server communicates to its respective Weblogic. There is a load balancer that sits on top of these two ESB server instances and routes the request to each one of them. The client jar's for the EJB's are deployed in the ESB servers. Now when the first weblogic server is down, we need to connect to the next available Weblogic server. At present the environment comprises of 2 physical servers, but later it might increase. Is there a readily available failover mechanism to realize this scenario? Any suggestions, ideas are welcome!
I managed to get this done. But I have some concerns with respect to multi threading. In essence I have a class which has a List of valuen objects and in this value object I have the jndi looked up ejb reference. Now when the first weblogic instance is shut down, then the client requests will be routed directly to the next available instance in the List. I now have to make the read and write operations to this List thread safe. At the same time, the write operation to the List involves a remote JNDI lookup which definitely is not a candidate to be synchronized. Any suggestions?