Package org.nustaq.utils
Class AsyncHttpActor
java.lang.Object
org.nustaq.kontraktor.Actors
org.nustaq.kontraktor.Actor<AsyncHttpActor>
org.nustaq.utils.AsyncHttpActor
- All Implemented Interfaces:
java.io.Serializable,java.util.concurrent.Executor,org.nustaq.kontraktor.monitoring.Monitorable
public class AsyncHttpActor extends org.nustaq.kontraktor.Actor<AsyncHttpActor>
wraps apache async client in order to simplify concurrent / async crawling / downloads etc.
actor-styled
- See Also:
- Serialized Form
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.http.impl.nio.client.CloseableHttpAsyncClientasyncHttpClientstatic booleanDUMP_GETstatic intMAX_CONN_PER_ROUTEstatic intMAX_CONN_TOTALFields inherited from class org.nustaq.kontraktor.Actor
__cbQueue, __clientConnection, __connections, __currentDispatcher, __mailbox, __mailboxCapacity, __mbCapacity, __publishTarget, __remoteId, __scheduler, __self, __stopped, __ticketMachine, connection, sender, userData, zzRoutingGCEnabled, zzServerMsgCallback -
Constructor Summary
Constructors Constructor Description AsyncHttpActor() -
Method Summary
Modifier and Type Method Description voidenableShortTimeContentCache(long time)caches getContent calls for some time.org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>get(java.lang.String url, java.lang.String... headers)protected org.apache.http.impl.nio.client.CloseableHttpAsyncClientgetClient()org.nustaq.kontraktor.IPromise<java.lang.String>getContent(java.lang.String url, java.lang.String... headers)org.nustaq.kontraktor.IPromise<byte[]>getContentBytes(java.lang.String url, java.lang.String... headers)org.nustaq.kontraktor.IPromise<java.lang.String>getContentRaw(boolean bChrome, java.lang.String url, java.lang.String... headers)org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>getRaw(boolean bChrome, java.lang.String url, java.lang.String... headers)static AsyncHttpActorgetSingleton()static voidmain(java.lang.String[] args)org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>post(java.lang.String url, java.lang.String postData, java.lang.String... headers)org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>postWithContext(java.lang.String url, java.lang.String postData, org.apache.http.protocol.HttpContext ctx, java.lang.String... headers)static byte[]readContentBytes(org.apache.http.HttpResponse resp, java.lang.String enc)static java.lang.StringreadContentString(org.apache.http.HttpResponse resp)voidsetLimits(int maxConPerRoute, int maxConTotal)overwrite static limits, WARNING: careful when accessing the singletonorg.nustaq.kontraktor.IPromisesync()static byte[]unGZip(byte[] barr, int read)Methods inherited from class org.nustaq.kontraktor.Actor
__addDeadLetter, __addRemoteConnection, __addStopHandler, __dispatchRemoteCall, __enqueueCall, __getCachedMethod, __removeRemoteConnection, __stop, __stopImpl, __submit, ask, askMsg, asyncstop, checkThread, close, closeCurrentClient, current, cyclic, debounce, delayed, execInThreadPool, execute, getActor, getActorRef, getCallbackSize, getConnections, getCurrentDispatcher, getFactory, getMailboxSize, getQSizes, getReport, getScheduler, getSubMonitorables, getUntypedRef, hasStopped, inside, inThread, isCallbackQPressured, isEmpty, isMailboxPressured, isProxy, isPublished, isRemote, isStopped, ping, router$clientPing, self, serialOn, setServerMsgCallback, stop, stopSafeClose, tell, tellMsg, unpublish, zzkrouterLostClient, zzRoutingRefGCMethods inherited from class org.nustaq.kontraktor.Actors
AddDeadLetter, all, all, all, allMapped, AsActor, AsActor, AsActor, AsActor, AsUntypedActor, awaitAll, awaitAll, awaitAll, awaitAll, complete, complete, DeadLetters, flow, InThread, isComplete, isCont, isError, isErrorOrComplete, isResult, isTimeout, kYield, kYield, promise, race, race, reject, resolve, resolve, stream, SubmitDelayed, yieldCallbacks
-
Field Details
-
MAX_CONN_PER_ROUTE
public static int MAX_CONN_PER_ROUTE -
MAX_CONN_TOTAL
public static int MAX_CONN_TOTAL -
asyncHttpClient
protected org.apache.http.impl.nio.client.CloseableHttpAsyncClient asyncHttpClient -
DUMP_GET
public static boolean DUMP_GET
-
-
Constructor Details
-
AsyncHttpActor
public AsyncHttpActor()
-
-
Method Details
-
readContentString
public static java.lang.String readContentString(org.apache.http.HttpResponse resp) throws java.io.IOException- Throws:
java.io.IOException
-
readContentBytes
public static byte[] readContentBytes(org.apache.http.HttpResponse resp, java.lang.String enc) throws java.io.IOException- Throws:
java.io.IOException
-
unGZip
public static byte[] unGZip(byte[] barr, int read) throws java.io.IOException- Throws:
java.io.IOException
-
getClient
protected org.apache.http.impl.nio.client.CloseableHttpAsyncClient getClient() -
getSingleton
-
sync
public org.nustaq.kontraktor.IPromise sync() -
setLimits
public void setLimits(int maxConPerRoute, int maxConTotal)overwrite static limits, WARNING: careful when accessing the singleton- Parameters:
maxConPerRoute-maxConTotal-
-
enableShortTimeContentCache
public void enableShortTimeContentCache(long time)caches getContent calls for some time. WARNING: IGNORES headers !! -
getContent
public org.nustaq.kontraktor.IPromise<java.lang.String> getContent(java.lang.String url, java.lang.String... headers) -
getContentRaw
public org.nustaq.kontraktor.IPromise<java.lang.String> getContentRaw(boolean bChrome, java.lang.String url, java.lang.String... headers) -
getContentBytes
public org.nustaq.kontraktor.IPromise<byte[]> getContentBytes(java.lang.String url, java.lang.String... headers) -
get
public org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse> get(java.lang.String url, java.lang.String... headers) -
getRaw
public org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse> getRaw(boolean bChrome, java.lang.String url, java.lang.String... headers) -
post
public org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse> post(java.lang.String url, java.lang.String postData, java.lang.String... headers) -
postWithContext
public org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse> postWithContext(java.lang.String url, java.lang.String postData, org.apache.http.protocol.HttpContext ctx, java.lang.String... headers) -
main
public static void main(java.lang.String[] args) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-