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