我希望能够在无状态会话Bean中执行类似的操作
@Resource(name="mycustomthingie") private CustomClass stuff;
注入的值是context(speak:Thread)依赖。 我想如果我将ObjectFactory绑定到JNDI Context中,并在请求时提供正确的Object,那么这是可能的。
据我所知,为了实现这一点,我必须将资源添加到“java:comp”JNDI上下文中,但EE5规范显然不允许这样做。 是否存在允许我编写的子上下文,或者是否有其他方法可以获得类似的工作?
由于
彼得
答案 0 :(得分:2)
根据InfoQ的this article,它总结了JSR-244的资源注入部分的总结(我在规范中的一个地方找不到这个):
注射仅限于第一次 Java中定义的类构造 EE平台,包括:
SessionContext
objectDataSources
objectUserTransaction
EntityManager
interfaceTimerService
interface- 其他企业bean
- 网络服务
- 消息队列和主题
- 资源适应的连接工厂
- 环境条目仅限于String,Character,Byte,Short, 整数,长整数,布尔值,双精度数和 浮。
Java EE 5中的注入工具 不适用于任何POJO(即 经常被春天批评 社区)[...]
因此,如果您的CustomClass
不是托管组件而不是简单的环境条目(似乎不是这种情况),我认为您不能注入它。