2016-11-09 38 views
0

wildfly 9.0.2.Finalで実行中のapache camelを取得しようとしています。Wildflyはラクダでうまく再生できません:IllegalArgumentException:型がコンポーネントの実装ではありません

ガイドhereを使用して、私はワイルドフライバンドルWildFly-Camel 3.3.0をダウンロードし、wildflyのインスタンスにパッチを当てました。

from("netty-http:http://localhost:8459/broker/router.jsp").convertBodyTo(String.class) 

だから私は自分のプロジェクトにラクダネッティー-HTTPバージョン2.16.2を追加しました:

私のルート設定は、次のように、網状-HTTPを使用しています。私は起動時に

は、しかし、私は次のスタックトレースを取得:

Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: netty-http://http://localhost: 
8459/broker/router.jsp due to: Cannot auto create component: netty-http 
     at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:590) 
     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) 
     ... 39 more 
Caused by: org.apache.camel.RuntimeCamelException: Cannot auto create component: netty-http 
     at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:412) 
     at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:388) 
     at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:560) 
     ... 47 more 
Caused by: java.lang.IllegalArgumentException: Type is not a Component implementation. Found: org.apache.camel.component.netty.http.NettyHttpComponent 
     at org.apache.camel.impl.DefaultComponentResolver.resolveComponent(DefaultComponentResolver.java:89) 
     at org.wildfly.extension.camel.handler.ComponentResolverAssociationHandler$WildFlyComponentResolver.resolveComponent(ComponentResolverAssociationHandler.java:67) 
     at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:401) 
     ... 49 more 

はラクダのソースhereを見ると、指定されたコンポーネントがorg.apache.camel.Componentないときに、この例外がスローされるようだ:

if (Component.class.isAssignableFrom(type)) { 
     return (Component) context.getInjector().newInstance(type); 
    } else { 
     throw new IllegalArgumentException("Type is not a Component implementation. Found: " + type.getName()); 
    } 

明らかにコンポーネントであり、正しいバージョンです。

どうしたらいいですか?おそらく、NettyHttpComponentクラスをロードするクラスローダーとは異なるクラスローダーを使用してComponentクラスを取得していますか?

答えて

0

netty-httpコンポーネントはwildfly-camelではサポートされていません。 https://wildflyext.gitbooks.io/wildfly-camel/content/components/index.html

+0

Jetty、およびnetty-httpは、それらの不在によって目立つようになります。 wildflyはhttpサーバなので、これは理にかなっています!したがって、内部に桟橋のコンポーネントが走っているのは意味がありません。 – mdarwin

関連する問題