【发布时间】:2017-06-19 17:18:59
【问题描述】:
我有工作 Camel CXF 端点,在这样的 spring 文件中定义:
<cxf:cxfEndpoint id="myEndpoint" address="myAddress"
serviceClass="myServiceClass"
loggingFeatureEnabled="true" skipFaultLogging="true" >
它工作正常,可以自动获取我用@XmlRootElement 和@XmlSeeAlso 注释的JAXB 类。两个项目使用相同的端点定义,我想将一些类移动到它们相应的子项目中,因为我确实需要它们访问该子项目中的其他类。问题是,要做到这一点,我必须从顶级类的 @XmlSeeAlso 注释中删除它们。我已经尝试过了,并且在子项目中实例化端点时创建的 JAXB 上下文不知道这些类。解决此问题的最简单方法是什么?最初我认为很容易找到一个属性,该属性允许我指定一个或多个由 CXF 提供给 JAXB 上下文的附加类,但是我看不到如何将 CXF 文档中给出的配置应用到骆驼语境。例如这里配置:
http://cxf.apache.org/docs/jax-rs-data-bindings.html
谈论使用“extraClass”属性:
<bean id="jaxb" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
<property name="extraClass">
<list>
<value>org.apache.cxf.jaxrs.resources.SuperBook</value>
</list>
</property>
</bean>
但是,在 Camel 中创建路线时,我看不到如何应用它?
【问题讨论】:
标签: jaxb apache-camel jax-rs cxf