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 Summary
Modifier and TypeMethodDescriptionbooleanhasNext(ContactInfo primary, ContactInfo previous, List contactInfos) next(ContactInfo primary, ContactInfo previous, List contactInfos) voidreset(ContactInfo primary)
-
Method Details
-
reset
- Parameters:
primary- - clear any state relating to primary.
-
hasNext
- Parameters:
primary- the key.previous- if null return true. Otherwise, find previous incontactInfosand if anotherContactInfofollows it in the list then return true. Otherwise false.contactInfos- the list of replicas associated with the primary.- Returns:
- if there is another
-
next
- Parameters:
primary- the key.previous- if null then map primary to failover. If failover is empty then map primary to firstContactInfoin 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 theContactInfofollowing previous to primary and return thatContactInfo.contactInfos- the list of replicas associated with the primary.- Returns:
- the next ContactInfo
-