ExecutorService或异步jax-rs中的新线程

时间:2014-02-24 16:57:25

标签: jax-rs executorservice jersey-2.0

我一直在查看Asynchronous services in jersey,我看到我们将处理委托给新线程并让它处理返回响应。我有两种线程执行方法

  1. 创建匿名线程并在资源方法本身中启动它们
  2. 使用ExecutorService创建fixedThreadPool并将线程执行委托给executor
  3. 我担心使用1意味着编写更多的样板代码并且使用2本质上意味着我从系统生成的吞吐量受到执行程序线程池大小的限制。我确信这种情况很常见,我正在寻找一些可以帮助我的测试模式或实现。

1 个答案:

答案 0 :(得分:1)

如果使用选项2,则可以使用@Inject批注和HK2 AbstractBinder来使用依赖项注入来实例化Resource构造函数或成员变量。这允许您更改资源使用的执行程序服务(即,资源使用的执行程序服务的类型是可配置的)。