public class ClientImpl extends AbstractBasicInterceptorProvider implements Client, Retryable, MessageObserver
| Modifier and Type | Class and Description |
|---|---|
class |
ClientImpl.EchoContext |
class |
ClientImpl.IllegalEmptyResponseException |
Client.Contexts| Modifier and Type | Field and Description |
|---|---|
protected Bus |
bus |
protected ConduitSelector |
conduitSelector |
protected Map<String,Object> |
currentRequestContext |
protected Executor |
executor |
static String |
FINISHED |
protected PhaseChainCache |
inboundChainCache |
protected Thread |
latestContextThread |
protected PhaseChainCache |
outboundChainCache |
protected ClientOutFaultObserver |
outFaultObserver |
protected Map<Thread,ClientImpl.EchoContext> |
requestContext |
protected Map<Thread,org.apache.cxf.endpoint.ClientImpl.ResponseContext> |
responseContext |
static String |
SYNC_TIMEOUT
When a synchronous request/response invoke is done using an asynchronous transport mechanism,
this is the timeout used for waiting for the response.
|
protected int |
synchronousTimeout |
static String |
THREAD_LOCAL_REQUEST_CONTEXT |
KEEP_CONDUIT_ALIVE, REQUEST_CONTEXT, RESPONSE_CONTEXT| Constructor and Description |
|---|
ClientImpl(Bus b,
Endpoint e) |
ClientImpl(Bus b,
Endpoint e,
Conduit c) |
ClientImpl(Bus b,
Endpoint e,
ConduitSelector sc) |
ClientImpl(Bus bus,
Service svc,
QName port,
EndpointImplFactory endpointImplFactory)
Create a Client that uses a specific EndpointImpl.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
destroy()
Indicates that the client is no longer needed and that any resources it holds
can now be freed.
|
Bus |
getBus()
Retrieves the Bus that was used to create the Client
|
Conduit |
getConduit()
Get the Conduit that messages for this client will be sent on.
|
ConduitSelector |
getConduitSelector()
Get the ConduitSelector responsible for retreiving the Conduit.
|
protected ConduitSelector |
getConduitSelector(ConduitSelector override) |
Client.Contexts |
getContexts() |
Endpoint |
getEndpoint() |
protected Exception |
getException(Exchange exchange) |
Map<String,Object> |
getRequestContext()
Gets the request context used for future invocations
|
Map<String,Object> |
getResponseContext()
Gets the response context from the last invocation on this thread
|
int |
getSynchronousTimeout() |
Object[] |
invoke(BindingOperationInfo oi,
Object... params)
Invokes an operation synchronously
|
Object[] |
invoke(BindingOperationInfo oi,
Object[] params,
Exchange exchange) |
Object[] |
invoke(BindingOperationInfo oi,
Object[] params,
Map<String,Object> context)
Invokes an operation synchronously
|
Object[] |
invoke(BindingOperationInfo oi,
Object[] params,
Map<String,Object> context,
Exchange exchange)
Invokes an operation synchronously
|
void |
invoke(ClientCallback callback,
BindingOperationInfo oi,
Object... params)
Invokes an operation asynchronously
|
void |
invoke(ClientCallback callback,
BindingOperationInfo oi,
Object[] params,
Exchange exchange)
Invokes an operation asynchronously
|
void |
invoke(ClientCallback callback,
BindingOperationInfo oi,
Object[] params,
Map<String,Object> context)
Invokes an operation asynchronously
|
void |
invoke(ClientCallback callback,
BindingOperationInfo oi,
Object[] params,
Map<String,Object> context,
Exchange exchange)
Invokes an operation asynchronously
|
void |
invoke(ClientCallback callback,
QName operationName,
Object... params)
Invokes an operation asynchronously
|
void |
invoke(ClientCallback callback,
String operationName,
Object... params)
Invokes an operation asynchronously
|
Object[] |
invoke(QName operationName,
Object... params)
Invokes an operation synchronously
|
Object[] |
invoke(String operationName,
Object... params)
Invokes an operation synchronously
|
void |
invokeWrapped(ClientCallback callback,
QName operationName,
Object... params)
Invokes an operation asynchronously
|
void |
invokeWrapped(ClientCallback callback,
String operationName,
Object... params)
Invokes an operation asynchronously
|
Object[] |
invokeWrapped(QName operationName,
Object... params)
Invokes an operation synchronously
|
Object[] |
invokeWrapped(String operationName,
Object... params)
Invokes an operation synchronously
|
boolean |
isThreadLocalRequestContext()
Checks if the Request context is thread local or global.
|
protected void |
modifyChain(InterceptorChain chain,
Message ctx,
boolean in) |
protected void |
modifyOnewayChain(InterceptorChain chain,
Message ctx) |
protected void |
onewayOnly(Exchange exhange) |
void |
onMessage(Message message)
Called for an incoming message, i.e.
|
protected void |
prepareConduitSelector(Message message) |
protected Object[] |
processResult(Message message,
Exchange exchange,
BindingOperationInfo oi,
Map<String,Object> resContext) |
void |
releaseThreadContexts() |
void |
setConduitSelector(ConduitSelector selector)
Set the ConduitSelector responsible for retreiving the Conduit.
|
protected void |
setContext(Map<String,Object> ctx,
Message message) |
protected void |
setEndpoint(Endpoint e) |
protected void |
setExchangeProperties(Exchange exchange,
Endpoint endpoint,
BindingOperationInfo boi) |
void |
setExecutor(Executor executor)
Sets the executor which is used to process Asynchronous responses.
|
protected void |
setOutMessageProperties(Message message,
BindingOperationInfo boi) |
protected void |
setParameters(Object[] params,
Message message) |
protected Map<String,Object> |
setResponseContext(Map<String,Object> ctx) |
void |
setSynchronousTimeout(int synchronousTimeout) |
void |
setThreadLocalRequestContext(boolean b)
Sets whether the request context is thread local or global to this client.
|
protected PhaseInterceptorChain |
setupInterceptorChain(Endpoint endpoint) |
protected void |
waitResponse(Exchange exchange) |
getInFaultInterceptors, getInInterceptors, getOutFaultInterceptors, getOutInterceptors, setInFaultInterceptors, setInInterceptors, setOutFaultInterceptors, setOutInterceptorsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetInFaultInterceptors, getInInterceptors, getOutFaultInterceptors, getOutInterceptorspublic static final String THREAD_LOCAL_REQUEST_CONTEXT
public static final String SYNC_TIMEOUT
public static final String FINISHED
protected Bus bus
protected ConduitSelector conduitSelector
protected ClientOutFaultObserver outFaultObserver
protected int synchronousTimeout
protected PhaseChainCache outboundChainCache
protected PhaseChainCache inboundChainCache
protected Thread latestContextThread
protected Map<Thread,ClientImpl.EchoContext> requestContext
protected Map<Thread,org.apache.cxf.endpoint.ClientImpl.ResponseContext> responseContext
protected Executor executor
public ClientImpl(Bus b, Endpoint e, ConduitSelector sc)
public ClientImpl(Bus bus, Service svc, QName port, EndpointImplFactory endpointImplFactory)
bus - svc - port - endpointImplFactory - public Bus getBus()
Clientpublic void destroy()
Clientpublic Endpoint getEndpoint()
getEndpoint in interface Clientpublic void releaseThreadContexts()
public Client.Contexts getContexts()
getContexts in interface Clientpublic Map<String,Object> getRequestContext()
ClientgetRequestContext in interface Clientpublic Map<String,Object> getResponseContext()
ClientgetResponseContext in interface Clientpublic boolean isThreadLocalRequestContext()
ClientisThreadLocalRequestContext in interface Clientpublic void setThreadLocalRequestContext(boolean b)
ClientsetThreadLocalRequestContext in interface Clientpublic Object[] invoke(BindingOperationInfo oi, Object... params) throws Exception
Clientpublic Object[] invoke(String operationName, Object... params) throws Exception
Clientinvoke in interface ClientoperationName - The name of the operation to be invoked. The service namespace will be used
when looking up the BindingOperationInfo.params - The params that matches the parts of the input message of the operation. If the
BindingOperationInfo supports unwrapping, it assumes the params are in the "unwrapped" form. If
params are in the wrapped form, use invokeWrappedExceptionpublic Object[] invoke(QName operationName, Object... params) throws Exception
Clientinvoke in interface ClientoperationName - The name of the operation to be invokedparams - The params that matches the parts of the input message of the operation. If the
BindingOperationInfo supports unwrapping, it assumes the params are in the "unwrapped" form. If
params are in the wrapped form, use invokeWrappedExceptionpublic Object[] invokeWrapped(String operationName, Object... params) throws Exception
ClientinvokeWrapped in interface ClientoperationName - The name of the operation to be invoked. The service namespace will be used
when looking up the BindingOperationInfo.params - The params that matches the parts of the input message of the operationExceptionpublic Object[] invokeWrapped(QName operationName, Object... params) throws Exception
ClientinvokeWrapped in interface ClientoperationName - The name of the operation to be invokedparams - The params that matches the parts of the input message of the operationExceptionpublic Object[] invoke(BindingOperationInfo oi, Object[] params, Exchange exchange) throws Exception
Exceptionpublic Object[] invoke(BindingOperationInfo oi, Object[] params, Map<String,Object> context) throws Exception
Clientinvoke in interface Clientoi - The operation to be invokedparams - The params that matches the parts of the input message of the operationcontext - Optional (can be null) contextual information for the invocationExceptionpublic void invoke(ClientCallback callback, String operationName, Object... params) throws Exception
Clientinvoke in interface Clientcallback - The callback that is called when the response is readyoperationName - The name of the operation to be invoked. The service namespace will be used
when looking up the BindingOperationInfo.params - The params that matches the parts of the input message of the operation. If the
BindingOperationInfo supports unwrapping, it assumes the params are in the "unwrapped" form. If
params are in the wrapped form, use invokeWrappedExceptionpublic void invoke(ClientCallback callback, QName operationName, Object... params) throws Exception
Clientinvoke in interface Clientcallback - The callback that is called when the response is readyoperationName - The name of the operation to be invokedparams - The params that matches the parts of the input message of the operation. If the
BindingOperationInfo supports unwrapping, it assumes the params are in the "unwrapped" form. If
params are in the wrapped form, use invokeWrappedExceptionpublic void invokeWrapped(ClientCallback callback, String operationName, Object... params) throws Exception
ClientinvokeWrapped in interface Clientcallback - The callback that is called when the response is readyoperationName - The name of the operation to be invoked. The service namespace will be used
when looking up the BindingOperationInfo.params - The params that matches the parts of the input message of the operationExceptionpublic void invokeWrapped(ClientCallback callback, QName operationName, Object... params) throws Exception
ClientinvokeWrapped in interface Clientcallback - The callback that is called when the response is readyoperationName - The name of the operation to be invokedparams - The params that matches the parts of the input message of the operationExceptionpublic void invoke(ClientCallback callback, BindingOperationInfo oi, Object... params) throws Exception
Clientpublic void invoke(ClientCallback callback, BindingOperationInfo oi, Object[] params, Map<String,Object> context) throws Exception
Clientinvoke in interface Clientcallback - The callback that is called when the response is readyoi - The operation to be invokedparams - The params that matches the parts of the input message of the operationcontext - contextual information for the invocationExceptionpublic void invoke(ClientCallback callback, BindingOperationInfo oi, Object[] params, Exchange exchange) throws Exception
Clientinvoke in interface Clientcallback - The callback that is called when the response is readyoi - The operation to be invokedparams - The params that matches the parts of the input message of the operationexchange - The Exchange to be used for the invocationExceptionpublic void invoke(ClientCallback callback, BindingOperationInfo oi, Object[] params, Map<String,Object> context, Exchange exchange) throws Exception
Clientinvoke in interface Clientcallback - The callback that is called when the response is readyoi - The operation to be invokedparams - The params that matches the parts of the input message of the operationcontext - Optional (can be null) contextual information for the invocationexchange - Optional (can be null) The Exchange to be used for the invocationExceptionpublic Object[] invoke(BindingOperationInfo oi, Object[] params, Map<String,Object> context, Exchange exchange) throws Exception
Clientinvoke in interface Clientinvoke in interface Retryableoi - The operation to be invokedparams - The params that matches the parts of the input message of the operationcontext - Optional (can be null) contextual information for the invocationexchange - The Exchange to be used for the invocationExceptionprotected Object[] processResult(Message message, Exchange exchange, BindingOperationInfo oi, Map<String,Object> resContext) throws Exception
Exceptionprotected void onewayOnly(Exchange exhange)
protected void waitResponse(Exchange exchange) throws IOException
IOExceptionpublic void onMessage(Message message)
MessageObserveronMessage in interface MessageObserverpublic Conduit getConduit()
ClientgetConduit in interface Clientprotected void prepareConduitSelector(Message message)
protected void setOutMessageProperties(Message message, BindingOperationInfo boi)
protected void setExchangeProperties(Exchange exchange, Endpoint endpoint, BindingOperationInfo boi)
protected PhaseInterceptorChain setupInterceptorChain(Endpoint endpoint)
protected void modifyChain(InterceptorChain chain, Message ctx, boolean in)
protected void modifyOnewayChain(InterceptorChain chain, Message ctx)
protected void setEndpoint(Endpoint e)
public int getSynchronousTimeout()
public void setSynchronousTimeout(int synchronousTimeout)
public final ConduitSelector getConduitSelector()
ClientgetConduitSelector in interface ClientgetConduitSelector in interface ConduitSelectorHolderprotected final ConduitSelector getConduitSelector(ConduitSelector override)
public final void setConduitSelector(ConduitSelector selector)
ClientsetConduitSelector in interface ClientsetConduitSelector in interface ConduitSelectorHolderselector - the ConduitSelector to usepublic void close()
throws Exception
close in interface AutoCloseableExceptionpublic void setExecutor(Executor executor)
ClientsetExecutor in interface ClientApache CXF