我正在努力从 TomEE 中的 JAX-RS 消息正文处理程序访问 CDI 托管 bean。
我的处理程序类 ( implements MessageBodyWriter<Object>, MessageBodyReader<Object>
) 是通过 中的cxf.jaxrs.providers
属性注册的openejb-jar.xml
。当我@Inject
在构造函数上使用注释时,处理程序被静默忽略(因为它缺少无参数构造函数)。改为使用字段注入时,该字段保持为空。显然,消息体处理程序在 TomEE (CXF) 中完全不受管理。
我尝试通过 JNDI 获取 BeanManager,但是没有记录异常就失败了。
有没有其他方法可以做到这一点,或者我做错了什么?或者,我当然希望有一种方法可以使处理程序本身受到管理,并以某种方式以编程方式注册它。