Cometd:在 java 客户端中指定最大线程数

Cometd: specifying max threads in java client

0

cometd 文档说“最大线程数”属性 可以在客户端和服务器上设置...但实际上并没有提供示例。我知道这不可能是实际的 属性 名称,因为它包含一个 space,当我搜索 'maxThreads' 时,我只看到一个明显不同的服务器 属性 属性 因为它有不同的默认值。

当我查看 javadoc 时,我可以看到有一个 AbstractService 有一个 'maxThreads' 的构造函数参数,但我没有看到与 BayeuxClient 相同的参数。

我错过了什么?

如果这很重要,我们目前使用的是 5.0.9,但一旦我们的兄弟项目提高了他们的 jetty 版本,就应该移动到 6.x。

(之前发布在 salesforce.stackexchange.com 运气不好)

对于 HTTP:

int maxThreads = 256;

// Create and configure the HTTP client.
HttpClient httpClient = new HttpClient(new HttpClientTransportOverHTTP());
httpClient.setExecutor(new QueuedThreadPool(maxThreads));
httpClient.start();

// Create the BayeuxClient with the CometD HTTP transport.
BayeuxClient bayeuxClient = new BayeuxClient(cometdURL, new JettyHttpClientTransport(null, httpClient));

同样,所有与HTTP(而不是CometD)相关的属性都在HttpClient中配置,例如HttpClient.maxConnectionsPerDestination

WebSocket 类似;如果您使用 Jetty 的 WebSocketClient,您将一个 HttpClient(它可能与 HTTP 传输共享)传递给 WebSocketClient 的构造函数,并在 HttpClient 和 WebSocket 中配置 HTTP 属性WebSocketClient.

中的属性