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
Modifier and TypeMethodDescriptionboolean
hasNext
(ContactInfo primary, ContactInfo previous, List contactInfos) next
(ContactInfo primary, ContactInfo previous, List contactInfos) void
reset
(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 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
- 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
-