1
나는 낙타 라우팅을 더 많은 dinamically 사용하려고하는데, 거의 문제가 없었습니다. (내가 사용 낙타 core_2.9.0) 나는 지금이 과제가있는 경우Apache Camel - MethodNotFoundException in Transform
Object methodclass;
String methodname;
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
// TODO Auto-generated method stub
from("vm:internal0").
transform().method(methodclass, methodname).
to("vm:receiver");
}
});
경로 정의 방법을 변환 사용하고
(내가 "변환"방법 TransformLogic 클래스를했습니다 가정
methodclass = new TransformLogic();
methodname = "transform";
) 내가 문제를하지 않은,하지만 난이 과제가있는 경우
methodclass = TransformLogic.class;
methodname = "transform";
.
.
낙타 던지기`
org.apache.camel.FailedToCreateRouteException: Failed to create route route3 at: >>> Transform[bean{java.lang.Class, method=transform}] <<< in route: Route[[From[vm:internal0]] -> [Transform[bean{java.lang.Clas... because of org.apache.camel.component.bean.MethodNotFoundException: Method with name: transform not found on bean: class core.compoundterm.primitiveterm.DefaultTransformLogic of type: java.lang.Class
내가 잘못 했나요? 감사
덕분입니다! 나는 기본 no-arg 생성자 inTransformLogic 클래스가 있고 정적으로 메서드를 설정하면 같은 오류 메시지가 나타납니다. 왜 Camel이 java.lang.class 형식의 "transform"메서드를 찾으려고하는지 이해하지 못합니다. – giacomolm
아. 이것은 버그처럼 보입니다. 이름을 설정하기 위해 .toString을 수행하지만 가져온 다음 bean의 참조로 이름을 사용합니다. 티켓을 기록합니다 : https://issues.apache.org/jira/browse/CAMEL-4997 –
해결 방법은 작동하는 클래스 대신 인스턴스를 전달하는 것입니다. –