当使用Camel-CXF rest端点时,如何指定JAXB注释类?

当使用Camel-CXF rest端点时,如何指定JAXB注释类?,jaxb,apache-camel,jax-rs,cxf,Jaxb,Apache Camel,Jax Rs,Cxf,我有一个工作Camel CXF端点,在spring文件中定义如下: <cxf:cxfEndpoint id="myEndpoint" address="myAddress" serviceClass="myServiceClass" loggingFeatureEnabled="true" skipFaultLogging="true" > 它工作正常,可以自动拾取我用@XmlRootElement和@xmlSeeAll注释的JAXB类。两个项目使用相同的端点定义,我想

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

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

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

讨论如何使用“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>

org.apache.cxf.jaxrs.resources.SuperBook
但是,我看不到在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>
你们班在这里吗 你们班在这里吗
我遇到了类似的情况,我用这段代码工作——它就像一个符咒。