Interface IIOPPrimaryToContactInfo

  • All Known Implementing Classes:
    ClientGroupManager, ParserTable.TestIIOPPrimaryToContactInfo

    public interface IIOPPrimaryToContactInfo
    This interface is the "sticky manager" for IIOP failover. The default ORB does NOT contain a sticky manager. One is registered by supplying a class via the com.sun.corba.ee.transport.ORBIIOPPrimaryToContactInfoClass. It uses the IIOP primary host/port (with a SocketInfo.IIOP_CLEAR_TEXT type) as a key to map to the last ContactInfo that resulted in successful' communication. It mainly prevents "fallback" - if a previously failed replica comes back up we do NOT want to switch back to using it - particularly in the case of statefull session beans. Note: This assumes static lists of replicas (e.g., AS 8.1 EE). This does NOT work well with LOCATION_FORWARD.
    • Method Detail

      • reset

        void reset​(ContactInfo primary)
        Parameters:
        primary - - clear any state relating to primary.
      • hasNext

        boolean hasNext​(ContactInfo primary,
                        ContactInfo previous,
                        java.util.List contactInfos)
        Parameters:
        primary - the key.
        previous - if null return true. Otherwise, find previous in contactInfos and if another ContactInfo follows it in the list then return true. Otherwise false.
        contactInfos - the list of replicas associated with the primary.
        Returns:
        if there is another
      • next

        ContactInfo next​(ContactInfo primary,
                         ContactInfo previous,
                         java.util.List contactInfos)
        Parameters:
        primary - the key.
        previous - if null then map primary to failover. If failover is empty then map primary to first ContactInfo in contactInfos and mapped entry. If failover is non-empty then return failover. If previous is non-null that indicates that the previous failed. Therefore, find previous in contactInfos. Map the ContactInfo following previous to primary and return that ContactInfo.
        contactInfos - the list of replicas associated with the primary.
        Returns:
        the next ContactInfo