gpt4 book ai didi

java - 运行时添加@Resource注解中的自定义资源

转载 作者:行者123 更新时间:2023-12-02 08:36:04 26 4
gpt4 key购买 nike

我希望能够在无状态 session Bean 中执行类似的操作

@Resource(name="mycustomthingie") private CustomClass stuff;

注入(inject)的值取决于上下文(说:线程)。我想如果我将一个 ObjectFactory 绑定(bind)到 JNDI 上下文中并在请求时提供正确的对象,这是可能的。

据我了解,要使其工作,我必须将资源添加到“java:comp”JNDI 上下文中,但这显然是 EE5 规范不允许的。是否有一个允许我写作的子上下文,或者是否有其他方法可以得到类似工作的东西?

谢谢

彼得

最佳答案

根据this article来自 InfoQ,它很好地总结了 JSR-244 的资源注入(inject)部分。 (我在规范的一处找不到这个):

Injection is limited only to first class constructs defined in the Java EE platform, including:

  • SessionContext object
  • DataSources object
  • UserTransaction
  • EntityManager interface
  • TimerService interface
  • Other enterprise beans
  • Web services
  • Message queues and topics
  • Connection factories for resource adaptes
  • Environment entries limited to String, Character, Byte, Short, Integer, Long, Boolean, Double, and Float.

The injection facilities in Java EE 5 do not apply to any POJO (which is often criticized by the Spring community) [...]

因此,如果您的 CustomClass 不是托管组件,也不是简单的环境条目(情况似乎并非如此),我认为您无法注入(inject)它。

关于java - 运行时添加@Resource注解中的自定义资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com