FUSE 与 CXF 休眠

FUSE hibernate with CXF

我能够开发两个应用程序(一个应用程序使用 Hibernate,另一个应用程序使用 CXF web 服务,然后是 this tutorial) 单独部署到 FUSE 6.3.0 没有任何问题。

但是当我尝试在 FUSE 中安装休眠时,我的问题出现了,而 FUSE 已经安装了我开发的 CXF 应用程序。我尝试执行以下命令来安装休眠。

fabric:profile-edit --bundle mvn:org.hibernate/hibernate-core/4.2.22.Final-redhat-1 jboss-fuse-full

如果我没有在 FUSE 中安装 CXF 应用程序,那么 FUSE 不会抛出异常,但是当我在 FUSE 中部署 CXF 应用程序时,它会出现以下异常。

    Exception in thread "SpringOsgiExtenderThread-2" org.apache.camel.RuntimeCamelException: org.apache.camel.FailedToCreateRouteException: Failed to create route cxf: Route(cxf)[[From[cxf:bean:serviceEndpoint]] -> [RecipientLis... because of Failed to resolve endpoint: cxf://bean:serviceEndpoint due to: No component found with scheme: cxf
            at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1690)
            at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:138)
            at org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:340)
            at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:96)
            at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:334)
            at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:954)
            at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
            at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.run(AbstractDelegatedExecutionApplicationContext.java:358)
            at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
            at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)
            at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)
            at java.lang.Thread.run(Thread.java:745)
    Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route cxf: Route(cxf)[[From[cxf:bean:serviceEndpoint]] -> [RecipientLis... because of Failed to resolve endpoint: cxf://bean:serviceEndpoint due to: No component found with scheme: cxf
            at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:201)
            at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)
            at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3301)
            at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3024)
            at org.apache.camel.impl.DefaultCamelContext.access[=11=]0(DefaultCamelContext.java:175)
            at org.apache.camel.impl.DefaultCamelContext.call(DefaultCamelContext.java:2854)
            at org.apache.camel.impl.DefaultCamelContext.call(DefaultCamelContext.java:2850)
            at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2873)
            at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2850)
            at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
            at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2819)
            at org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:275)
            at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:136)
            ... 10 more
    Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: cxf://bean:serviceEndpoint due to: No component found with scheme: cxf
            at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:594)
            at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:79)
            at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:211)
            at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:107)
            at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:113)
            at org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:69)
            at org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:89)
            at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1052)
            at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:196)
            ... 22 more

有没有人遇到过这种问题并且能够解决。请分享您解决此问题的经验。

当我尝试使用 ActiveMQ.I 安装 CXF 时我也遇到了同样的问题,通过卸载已经安装的 CXF 项目然后安装 ActiveMQ 能够解决它。

确保您已经正确安装了 Hibernate 所需的依赖项。验证您已安装所需的依赖项后,您可以重新安装 application/

因此在您的情况下,您可以先卸载 CXF 项目,然后再安装 Hibernate(请注意,您可能需要安装所需的所有依赖项)。然后重试安装 CXF 项目。

您可以使用以下命令卸载现有项目

uninstall <processID> 例如-: uninstall 418