Package org.igniterealtime.jbosh
Class ApacheHTTPSender
java.lang.Object
org.igniterealtime.jbosh.ApacheHTTPSender
- All Implemented Interfaces:
HTTPSender
Implementation of the
HTTPSender interface which uses the
Apache HttpClient API to send messages to the connection manager.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BOSHClientConfigSession configuration.private org.apache.http.client.HttpClientHttpClient instance to use to communicate.private final LockLock used for internal synchronization. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Dispose of all resources used to provide the required services.voidinit(BOSHClientConfig session) Initialize the HTTP sender instance for use with the session provided.private org.apache.http.client.HttpClientinitHttpClient(BOSHClientConfig config) send(CMSessionParams params, AbstractBody body) Create aCallableinstance which can be used to send the request specified to the connection manager.
-
Field Details
-
lock
Lock used for internal synchronization. -
cfg
Session configuration. -
httpClient
private org.apache.http.client.HttpClient httpClientHttpClient instance to use to communicate.
-
-
Constructor Details
-
ApacheHTTPSender
ApacheHTTPSender()Prevent construction apart from our package.
-
-
Method Details
-
init
Initialize the HTTP sender instance for use with the session provided. This method will be called once before use of the service instance.- Specified by:
initin interfaceHTTPSender- Parameters:
session- session configuration
-
destroy
public void destroy()Dispose of all resources used to provide the required services. This method will be called once when the service instance is no longer required.- Specified by:
destroyin interfaceHTTPSender
-
send
Create aCallableinstance which can be used to send the request specified to the connection manager. This method should return immediately, prior to doing any real work. The invocation of the returnedCallableshould send the request (if it has not already been sent by the time of the call), block while waiting for the response, and then return the response body.- Specified by:
sendin interfaceHTTPSender- Parameters:
params- CM session creation resopnse paramsbody- request body to send- Returns:
- callable used to access the response
-
initHttpClient
-