使用 Camel CXF 休息端点时如何指定 JAXB 注释 类?

How to specify JAXB annotated classes when using Camel CXF rest endpoint?

我有工作的 Camel CXF 端点,在 spring 文件中定义如下:

<cxf:cxfEndpoint id="myEndpoint" address="myAddress"
  serviceClass="myServiceClass"
  loggingFeatureEnabled="true" skipFaultLogging="true" >

它工作正常,可以自动获取 JAXB 类 我已经用 @XmlRootElement 和 @XmlSeeAlso 进行了注释。两个项目使用相同的端点定义,我想将一些 类 移动到它们适当的子项目,因为我确实需要它们访问该子项目中的其他 类。问题是要做到这一点,我必须从顶层 类 的 @XmlSeeAlso 注释中删除它们。我试过这个,在子项目中实例化端点时创建的 JAXB 上下文不知道 类。解决这个问题最简单的方法是什么?最初我认为很容易找到一个 属性 允许我指定一个或多个额外的 类 由 CXF 提供给 JAXB 上下文,但是我看不到如何应用CXF 文档中给定的 Camel 上下文配置。例如,这里配置:

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 中创建路线时我看不到如何应用它?

 <cxf:dataBinding>
            <bean id="extraJaxBClasses" class="org.apache.cxf.jaxb.JAXBDataBinding">
                <property name="extraClass">
                    <list>
                        <value>your class here</value>
                        <value>your class here</value>
                    </list>
                </property>
            </bean>
        </cxf:dataBinding>