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 Details

    • reset

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

      boolean hasNext(ContactInfo primary, ContactInfo previous, 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, 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