Websphere 如何将asyncHttpClient与commonj workmanager集成?

Websphere 如何将asyncHttpClient与commonj workmanager集成?,websphere,commonj,Websphere,Commonj,我们有一个用例,来自最终用户的单个请求将触发一个或多个到其他远程系统的http请求。来自远程系统的所有响应将聚合为对最终用户的单个响应。我们通过在websphere中使用commonj workmanager实现了这一点 现在,我们希望使用asyncHttpClient,以便使用较少的线程来服务多个并发http调用 所以我的问题是: 如何将asyncHttpClient与commonj workmanager集成?我们必须使用commonj作为线程池,因为这是在wehsphere中管理线程的唯一

我们有一个用例,来自最终用户的单个请求将触发一个或多个到其他远程系统的http请求。来自远程系统的所有响应将聚合为对最终用户的单个响应。我们通过在websphere中使用commonj workmanager实现了这一点

现在,我们希望使用asyncHttpClient,以便使用较少的线程来服务多个并发http调用

所以我的问题是:

如何将asyncHttpClient与commonj workmanager集成?我们必须使用commonj作为线程池,因为这是在wehsphere中管理线程的唯一方法


请告知。

您需要做的就是创建一个新的Executor服务,该服务利用工作经理,如下所示

  • 查找WorkManager并构建WASThreadFactory

    InitialContext ctx=新的InitialContext(); WorkManager wm=(WorkManager)ctx.lookup(“java:comp/env/wm/default”); ThreadFactory tf=新的WASSThreadFactory(wm)

  • 使用有界缓冲区创建ThreadPoolExecutor

    BlockingQueue q=新阵列BlockingQueue(50); ExecutorService myOwnThreadPool==新线程池执行器( 1,10,5000,TimeUnit.ms,q,tf)

  • 您可以根据他们的需要指定要使用的ExecutorService,如下所示

    Builder Builder=new AsyncHttpClientConfig.Builder(); builder.setExecutorService(myOwnThreadPool); AsyncHttpClient=新的AsyncHttpClient(builder.build())

  • 注意:未验证是否编译。然而,我在我早期的项目中使用了它