0
나는 간단한 Akka-Camel 소비자를 실행하려고합니다. uri의 주소에 응답하는 서버를 만들었습니다 (코드 예제에서). 코드를 실행하면 예외가 발생합니다. 내가 뭘 잘못하고 있는지 모르겠다. 어떻게 든 부두를 구성해야합니까? 그렇다면 어떻게?방파제가있는 Akka Camel NoSuchMethodError : UnsafeUriCharactersEncoder
이 Akka 샘플은 예제로 사용하고 있으며 예제에서는 uri가 간단한 문자열로 작성되어 있습니다. (https://github.com/akka/akka/tree/master/akka-samples/akka-sample-camel-java)
예외 :
Uncaught error from thread [test-system-akka.actor.default-dispatcher-4] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[test-system]
java.lang.NoSuchMethodError: org.apache.camel.util.UnsafeUriCharactersEncoder.encodeHttpURI(Ljava/lang/String;)Ljava/lang/String;
at org.apache.camel.component.jetty.JettyHttpComponent.createEndpoint(JettyHttpComponent.java:169)
at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:91)
at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:461)
at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:50)
at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:186)
...
...
내 코드 :
public static void main(String[] args) {
ActorSystem system = ActorSystem.create("test-system");
ActorRef historyActor = system.actorOf(Props.create(CamelActor.class));
}
public class CamelActor extends UntypedConsumerActor {
private String uri;
public CamelActor() { this.uri = "jetty:http://0.0.0.0:9000/mymain?myparam=true"; }
@Override
public String getEndpointUri() { return uri; }
@Override
public void onReceive(Object message) throws Exception {
if (message instanceof CamelMessage) {
CamelMessage camelMessage = (CamelMessage) message;
System.out.println("==>"+camelMessage.toString());
} else {
unhandled(message);
}
}
}
감사합니다,
가이
클래스 경로 _at runtime_에 필요한 모든 jar 파일을 제공하지 못한 것 같습니다. –
당신이 맞습니다, 나는 정말로 낙타의 핵심을 잊어 버렸습니다. –
답변을 추가하고 해결 된 것으로 표시하십시오. –