wildfly 9.0.2.Final에서 아파치 낙타를 실행하려고합니다.Wildfly는 낙타와 잘 어울리지 않습니다 : IllegalArgumentException : 유형이 구성 요소 구현이 아닙니다.
가이드 here을 사용하여 WildFly-Camel 3.3.0 번을 다운로드하고 wildfly 인스턴스를 패치했습니다.
내 경로 구성
은 다음과 같이, 그물코-HTTP를 사용 :from("netty-http:http://localhost:8459/broker/router.jsp").convertBodyTo(String.class)
그래서 내가 추가 한 낙타 그물코 - HTTP 버전 2.16.2을 내 프로젝트에.
그러나, 내가 시작할 때, 나는 다음과 같은 스택 추적을 얻을 :
: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
클래스를 선택했을 가능성이 있습니까?
부두 및 netty-http는 부재로 인해 두드러집니다. wildfly는 http 서버이므로 이해가됩니다! 따라서 내부에 부두 구성 요소가 실행되는 것은 의미가 없습니다. – mdarwin