通过设置use.async.http.conduit上下文属性使用CXF HttpAsyncClient

时间:2013-12-10 14:24:39

标签: java cxf jax-rs

我试图通过使用文档http://cxf.apache.org/docs/asynchronous-client-http-transport.html

上下文属性“use.async.http.conduit”来强制使用HttpAsyncClient

但是我不知道在我的应用程序中在何处/如何设置这种上下文属性。

我正在使用基于代理的客户端

JAXRSClientFactoryBean factoryBean = new JAXRSClientFactoryBean();
factoryBean.setAddress("http://localhost:6061/services");
factoryBean.setServiceClass(MyServiceInterface.class);
documentCapture = (MyServiceInterface) factoryBean.create();

有谁知道如何设置这种上下文属性并强制使用HttpAsyncClient?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在org.apache.cxf.endpoint.Client上设置这些属性。只需通过调用静态方法来获取它:ClientProxy.getClient(proxy)。

在你的情况下:

JAXRSClientFactoryBean factoryBean = new JAXRSClientFactoryBean();
factoryBean.setAddress("http://localhost:6061/services");
MyServiceInterface documentCapture = factoryBean.create(MyServiceInterface.class);

Client client = ClientProxy.getClient(documentCapture);
client.getRequestContext().put("use.async.http.conduit", Boolean.TRUE);