Package com.sun.corba.ee.spi.transport
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
hasNext(ContactInfo primary, ContactInfo previous, java.util.List contactInfos)
ContactInfo
next(ContactInfo primary, ContactInfo previous, java.util.List contactInfos)
void
reset(ContactInfo primary)
-
-
-
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 incontactInfos
and if anotherContactInfo
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 firstContactInfo
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 theContactInfo
following previous to primary and return thatContactInfo
.contactInfos
- the list of replicas associated with the primary.- Returns:
- the next ContactInfo
-
-