是否可以覆盖TomEE中嵌入式CXF JaxRS容器的设置?我一直在尝试集成我自己的in-interceptor来处理JaxRS服务的路由。
我似乎无法做的是让TomEE在启动我的服务时加载拦截器。
我已经阅读了一些内容,说我应该能够通过添加< pojo-deployment>来配置TomEE中的CXF内容。到META-INF或WEB-INF中的openejb-jar.xml文件。当我尝试使用这种方法时,我的拦截器永远不会被调用。
我也看到过引用声明TomEE使用tomee.xml来替换openejb-jar.xml,所以我尝试在那里做pojo-deployment的东西,但后来我得到一个XML解析错误,因为tomee.xml没有似乎不了解pojo-deployment标签。
有人能指出一些不错的文档,或者更好的是在TomEE中配置CXF的一个小例子吗?
由于
答案 0 :(得分:2)
openejb-jar.xml是这样做的方法
我在这里发表了博客http://rmannibucau.wordpress.com/2012/10/04/jax-rsjax-ws-configuration-for-tomee-1-5-0/
只更改最近的tomee版本是你需要将你使用的jaxrs应用程序设置为class-name的事实(如果没有人使用" jaxrs-application"这意味着默认行为)
如下所示:
<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
<pojo-deployment class-name="jaxrs-application">
<properties>
cxf.jaxws.in-interceptors = org.superbiz.MyInInterceptor
</properties>
</pojo-deployment>
</openejb-jar>