|
Apache CXF API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.cxf.bus.managers.EndpointResolverRegistryImpl
public class EndpointResolverRegistryImpl
This implementation class is responsible for mediating access to registered EndpointResolvers, which themselves map between abstract and concrete endpoint references, and/or facilitate renewal of stale references.
An underlying mechanism in the style of the OGSA WS-Naming specification is assumed, where an EPR maybe be fully abstract, or concrete but with sufficient information embedded to enable its renewal if necessary.
Constructor Summary | |
---|---|
EndpointResolverRegistryImpl()
|
|
EndpointResolverRegistryImpl(Bus b)
|
Method Summary | |
---|---|
protected List<EndpointResolver> |
getResolvers()
|
EndpointReferenceType |
mint(EndpointReferenceType physical)
Walk the list of registered EndpointResolvers, so as to mint a new abstract EPR for a gievn physical EPR. |
EndpointReferenceType |
mint(QName serviceName)
Walk the list of registered EndpointResolvers, so as to mint a new abstract EPR for a given service name. |
void |
register(EndpointResolver resolver)
Register an endpoint resolver. |
EndpointReferenceType |
renew(EndpointReferenceType logical,
EndpointReferenceType physical)
Walk the list of registered EndpointResolvers, so as to force a fresh resolution of the given abstract EPR, discarding any previously cached reference. |
EndpointReferenceType |
resolve(EndpointReferenceType logical)
Walk the list of registered EndpointResolvers, so as to retrieve a concrete EPR corresponding to the given abstract EPR, returning a cached reference if already resolved. |
void |
setBus(Bus b)
|
void |
unregister(EndpointResolver resolver)
Unregister an endpoint resolver. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public EndpointResolverRegistryImpl()
public EndpointResolverRegistryImpl(Bus b)
Method Detail |
---|
public final void setBus(Bus b)
b
- Bus to encapsulatepublic void register(EndpointResolver resolver)
register
in interface EndpointResolverRegistry
resolver
- the EndpointResolver to add to the chain.public void unregister(EndpointResolver resolver)
unregister
in interface EndpointResolverRegistry
resolver
- the EndpointResolver to remove from the chain.public EndpointReferenceType resolve(EndpointReferenceType logical)
This API is used by any actor that requires a concrete EPR (e.g. a transport-level Conduit), and must be called each and every time the EPR content is to be accessed (e.g. before each connection establishment attempt).
resolve
in interface EndpointResolverRegistry
logical
- the abstract EPR to resolve
public EndpointReferenceType renew(EndpointReferenceType logical, EndpointReferenceType physical)
This API may be used by say the transport-level Conduit when it detects a non-transient error on the outgoing connection, or by any other actor in the dispatch with the ability to infer server-side unavailability.
renew
in interface EndpointResolverRegistry
logical
- the previously resolved abstract EPRphysical
- the concrete EPR to refresh
public EndpointReferenceType mint(QName serviceName)
mint
in interface EndpointResolverRegistry
serviceName
-
public EndpointReferenceType mint(EndpointReferenceType physical)
mint
in interface EndpointResolverRegistry
serviceName
-
protected List<EndpointResolver> getResolvers()
|
Apache CXF API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |