Package org.igniterealtime.jbosh
Class ApacheHTTPSender
- java.lang.Object
-
- org.igniterealtime.jbosh.ApacheHTTPSender
-
- All Implemented Interfaces:
HTTPSender
final class ApacheHTTPSender extends java.lang.Object implements HTTPSender
Implementation of theHTTPSenderinterface which uses the Apache HttpClient API to send messages to the connection manager.
-
-
Field Summary
Fields Modifier and Type Field Description private BOSHClientConfigcfgSession configuration.private org.apache.http.client.HttpClienthttpClientHttpClient instance to use to communicate.private java.util.concurrent.locks.LocklockLock used for internal synchronization.
-
Constructor Summary
Constructors Constructor Description ApacheHTTPSender()Prevent construction apart from our package.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()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)HTTPResponsesend(CMSessionParams params, AbstractBody body)Create aCallableinstance which can be used to send the request specified to the connection manager.
-
-
-
Field Detail
-
lock
private final java.util.concurrent.locks.Lock lock
Lock used for internal synchronization.
-
cfg
private BOSHClientConfig cfg
Session configuration.
-
httpClient
private org.apache.http.client.HttpClient httpClient
HttpClient instance to use to communicate.
-
-
Method Detail
-
init
public void init(BOSHClientConfig session)
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
public HTTPResponse send(CMSessionParams params, AbstractBody body)
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
private org.apache.http.client.HttpClient initHttpClient(BOSHClientConfig config)
-
-