public final class Dispatcher extends Object
ExecutorService在内部运行调用。
如果您提供自己的执行程序,它应该能够并发地运行配置的最大调用数| Constructor and Description |
|---|
Dispatcher() |
Dispatcher(ExecutorService executorService) |
| Modifier and Type | Method and Description |
|---|---|
void |
cancelAll()
取消当前排队或执行的所有调用。包括同步执行的
NewCall.execute()和异步
执行的NewCall.enqueue(org.aoju.bus.http.Callback)。
|
void |
enqueue(RealCall.AsyncCall call) |
void |
executed(RealCall call) |
ExecutorService |
executorService() |
void |
finished(RealCall.AsyncCall call) |
void |
finished(RealCall call) |
int |
getMaxRequests() |
int |
getMaxRequestsPerHost() |
List<NewCall> |
queuedCalls() |
int |
queuedCallsCount() |
List<NewCall> |
runningCalls() |
int |
runningCallsCount() |
void |
setIdleCallback(Runnable idleCallback)
设置一个回调,以便每次调度程序变为空闲时调用(当运行的调用数量返回零时)
|
void |
setMaxRequests(int maxRequests)
设置并发执行的最大请求数。上述请求在内存中排队,等待正在运行的调用完成
如果在调用它时有超过
maxRequests的请求在运行,那么这些请求将保持运行状态 |
void |
setMaxRequestsPerHost(int maxRequestsPerHost)
设置每个主机并发执行的最大请求数。这将根据URL的主机名限制请求。
注意,对单个IP地址的并发请求仍然可能超过这个限制:多个主机名可能共享一个IP地址,或者通过相同的HTTP代理进行路由
如果在调用它时有超过
maxRequestsPerHost的请求在运行,那么这些请求将保持运行状态 |
public Dispatcher(ExecutorService executorService)
public Dispatcher()
public ExecutorService executorService()
public int getMaxRequests()
public void setMaxRequests(int maxRequests)
maxRequests的请求在运行,那么这些请求将保持运行状态maxRequests - 最大请求数public int getMaxRequestsPerHost()
public void setMaxRequestsPerHost(int maxRequestsPerHost)
maxRequestsPerHost的请求在运行,那么这些请求将保持运行状态maxRequestsPerHost - 最大请求数public void setIdleCallback(Runnable idleCallback)
idleCallback - 回调public void enqueue(RealCall.AsyncCall call)
public void cancelAll()
public void executed(RealCall call)
public void finished(RealCall.AsyncCall call)
public void finished(RealCall call)
public int queuedCallsCount()
public int runningCallsCount()
Copyright © 2019. All rights reserved.