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:
Serializable,Executor,org.nustaq.kontraktor.monitoring.Monitorable
wraps apache async client in order to simplify concurrent / async crawling / downloads etc.
actor-styled
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.nustaq.kontraktor.Actor
org.nustaq.kontraktor.Actor.ActorReport -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.apache.http.impl.nio.client.CloseableHttpAsyncClientstatic booleanstatic intstatic intFields inherited from class org.nustaq.kontraktor.Actor
__cbQueue, __clientConnection, __connections, __currentDispatcher, __mailbox, __mailboxCapacity, __mbCapacity, __publishTarget, __remoteId, __scheduler, __self, __stopped, __ticketMachine, connection, sender, userData, zzRoutingGCEnabled, zzServerMsgCallbackFields inherited from class org.nustaq.kontraktor.Actors
CONT, DEFAULT_TIMOUT, defaultScheduler, delayedCalls, exec, instance, MAX_EXTERNAL_THREADS_POOL_SIZE, version -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidenableShortTimeContentCache(long time) caches getContent calls for some time.org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>protected org.apache.http.impl.nio.client.CloseableHttpAsyncClientorg.nustaq.kontraktor.IPromise<String>getContent(String url, String... headers) org.nustaq.kontraktor.IPromise<byte[]>getContentBytes(String url, String... headers) org.nustaq.kontraktor.IPromise<String>getContentRaw(boolean bChrome, String url, String... headers) org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>static AsyncHttpActorstatic voidorg.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>org.nustaq.kontraktor.IPromise<org.apache.http.HttpResponse>postWithContext(String url, String postData, org.apache.http.protocol.HttpContext ctx, String... headers) static byte[]readContentBytes(org.apache.http.HttpResponse resp, String enc) static 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
- Throws:
IOException
-
readContentBytes
public static byte[] readContentBytes(org.apache.http.HttpResponse resp, String enc) throws IOException - Throws:
IOException
-
unGZip
- Throws:
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
-
getContentRaw
-
getContentBytes
-
get
-
getRaw
-
post
-
postWithContext
-
main
- Throws:
InterruptedException
-