Apache CXF API

org.apache.cxf.endpoint
Class AbstractConduitSelector

java.lang.Object
  extended by org.apache.cxf.endpoint.AbstractConduitSelector
All Implemented Interfaces:
Closeable, ConduitSelector
Direct Known Subclasses:
DeferredConduitSelector, FailoverTargetSelector, UpfrontConduitSelector

public abstract class AbstractConduitSelector
extends Object
implements ConduitSelector, Closeable

Abstract base class holding logic common to any ConduitSelector that retrieves a Conduit from the ConduitInitiator.


Field Summary
static String CONDUIT_COMPARE_FULL_URL
           
protected  List<Conduit> conduits
           
protected  Endpoint endpoint
           
protected static String KEEP_CONDUIT_ALIVE
           
 
Constructor Summary
AbstractConduitSelector()
           
AbstractConduitSelector(Conduit c)
          Constructor, allowing a specific conduit to override normal selection.
 
Method Summary
 void close()
           
 void complete(Exchange exchange)
          Called on completion of the MEP for which the Conduit was required.
protected  Conduit createConduit(Message message, Exchange exchange, ConduitInitiator conduitInitiator)
           
protected  Conduit findCompatibleConduit(Message message)
          If address protocol was changed, conduit should be re-initialised
 Endpoint getEndpoint()
           
protected abstract  Logger getLogger()
           
protected  Conduit getSelectedConduit(Message message)
          Mechanics to actually get the Conduit from the ConduitInitiator if necessary.
protected  void removeConduit(Conduit conduit)
           
protected  boolean replaceEndpointAddressPropertyIfNeeded(Message message, String endpointAddress, Conduit cond)
           
 void setEndpoint(Endpoint ep)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.cxf.endpoint.ConduitSelector
prepare, selectConduit
 

Field Detail

CONDUIT_COMPARE_FULL_URL

public static final String CONDUIT_COMPARE_FULL_URL
See Also:
Constant Field Values

KEEP_CONDUIT_ALIVE

protected static final String KEEP_CONDUIT_ALIVE
See Also:
Constant Field Values

conduits

protected List<Conduit> conduits

endpoint

protected Endpoint endpoint
Constructor Detail

AbstractConduitSelector

public AbstractConduitSelector()

AbstractConduitSelector

public AbstractConduitSelector(Conduit c)
Constructor, allowing a specific conduit to override normal selection.

Parameters:
c - specific conduit
Method Detail

close

public void close()
Specified by:
close in interface Closeable

removeConduit

protected void removeConduit(Conduit conduit)

getSelectedConduit

protected Conduit getSelectedConduit(Message message)
Mechanics to actually get the Conduit from the ConduitInitiator if necessary.

Parameters:
message - the current Message

createConduit

protected Conduit createConduit(Message message,
                                Exchange exchange,
                                ConduitInitiator conduitInitiator)
                         throws IOException
Throws:
IOException

replaceEndpointAddressPropertyIfNeeded

protected boolean replaceEndpointAddressPropertyIfNeeded(Message message,
                                                         String endpointAddress,
                                                         Conduit cond)

getEndpoint

public Endpoint getEndpoint()
Specified by:
getEndpoint in interface ConduitSelector
Returns:
the encapsulated Endpoint

setEndpoint

public void setEndpoint(Endpoint ep)
Specified by:
setEndpoint in interface ConduitSelector
Parameters:
ep - the endpoint to encapsulate

complete

public void complete(Exchange exchange)
Called on completion of the MEP for which the Conduit was required.

Specified by:
complete in interface ConduitSelector
Parameters:
exchange - represents the completed MEP

getLogger

protected abstract Logger getLogger()
Returns:
the logger to use

findCompatibleConduit

protected Conduit findCompatibleConduit(Message message)
If address protocol was changed, conduit should be re-initialised

Parameters:
message - the current Message

Apache CXF API

Apache CXF