【发布时间】:2020-07-31 14:39:37
【问题描述】:
例如,如果多个资源端点需要访问某些消息总线来处理请求怎么办?当服务类本身不是资源而是由资源使用时,当然有一些方法可以注册单例服务类并将其注入资源中。
我在提供程序或自定义 HK2 绑定中看到的所有示例都涉及资源。
我找到的最接近我正在寻找的东西是这个问题:
Trouble creating a simple singleton class in Jersey 2 using built-in Jersey dependency injection
执行此操作的最佳 JAX-RS/Jersey 方式是什么?
请注意,编程方式最有用,我没有使用 xml 文件来配置服务器。
【问题讨论】:
-
如果您的 JAX-RS 资源也是单例,那么这个答案很好。否则,除了这个答案之外,您还必须处理多线程
-
谢谢@Paul。你能详细说明线程问题吗?你的意思是多个请求将同时由同一个资源对象提供服务吗?
-
是(15 个字符)。
-
如果资源不是单例,则为每个请求创建一个新的,但您注入的服务只有一个实例。当心任何并发陷阱。如果所有方法都相互独立,那么你应该没问题。这就是我要说的
标签: jersey jax-rs jersey-2.0 hk2