users@glassfish.java.net

IIOP bootstrapping redundancy with loadsharing and failover - how?

From: <glassfish_at_javadesktop.org>
Date: Thu, 26 Mar 2009 09:04:47 PDT

I am trying to get HA for our EJB connections on Glassfish SGCS 1.5, but I am confused by the way SGCS configures the redundancy for bootstapping IIOP endpoints using global parameters….

I am reading the SGCS HA Admin Guide
        chapter 8 "RMI-IIOP Load Balancing and Failover"
        Specifically bullet 7) Add at least two target-server elements in the sun-acc.xml
        http://docs.sun.com/app/docs/doc/820-4287/abdbd?a=view

From this I understand that to get HA we must specify at least 2 addresses for the initial bootstrapping, and when successful the SGCS will discover all the endpoint alternatives available in the serving cluster. These alternative endpoints will have been loadshared and will be used for EJB failover.

What I don't get is why the 2 bootstrap addresses must be configured as global parameters (According to this guide you configure the bootstrap addresses in either the sun-acc.xml or in the system property com.sun.appserv.iiop.endpoints=host1:port1,host2:port2 )

It doesn't make sense to me that these are global parameters, because the endpoints are specific to a connection not the entire client domain.(I mean a client may connect to many different backend systems and the bootstrapping is probably different for each backend system)

Normally when we do a JNDI lookup to connect to a remote server we create an initial context towards that server...
    Properties props = new Properties();
    props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
    props.setProperty("org.omg.CORBA.ORBInitialHost", "theHost");
    props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
    InitialContext ic = new InitialContext(props);


Now... i know i can get bootstrap redundancy by trying the first address and if this fails try the second, but after reading the first answer to post: http://forums.java.net/jive/message.jspa?messageID=243991 i get the impression that the use of ORBInitialHost and ORBInitialPort will bypass the failover and loadsharing algorithms.

So...I want create an initial context with at least 2 bootstrap addresses and I want the created initial Context to support both failover and loadsharing.
Does anyone know if this is possible? How?
[Message sent by forum member 'lowlyworm' (lowlyworm)]

http://forums.java.net/jive/thread.jspa?messageID=339162