0
私は、HTTP requests.andエンドポイントのための一般的なルートを書いています
中にapcheラクダにエンドポイントを取得するには、ルートの静的value.Codeではありません今のように、それは例外で失敗しますランタイム
Caused by: org.apache.camel.NoSuchEndpointException: No endpoint could be found for: ognl(simple{${body}}, getEndPointUri), please check your classpath contains the needed Camel component jar.
at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:81)
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.SendDefinition.resolveEndpoint(SendDefinition.java:62)
at org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:56)
at org.apache.camel.model.ProcessorDefinition.createProcessor(ProcessorDefinition.java:483)
at org.apache.camel.model.ProcessorDefinition.createOutputsProcessorImpl(ProcessorDefinition.java:446)
at org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:413)
at org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:165)
at org.apache.camel.model.ExpressionNode.createFilterProcessor(ExpressionNode.java:109)
at org.apache.camel.model.WhenDefinition.createProcessor(WhenDefinition.java:74)
at org.apache.camel.model.WhenDefinition.createProcessor(WhenDefinition.java:32)
at org.apache.camel.model.ProcessorDefinition.createProcessor(ProcessorDefinition.java:483)
at org.apache.camel.model.ChoiceDefinition.createProcessor(ChoiceDefinition.java:135)
at org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:534)
at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:495)
at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:219)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1069)
... 23 more
私たちは)我々はTOD(に存在するようにエンドポイントの一部を必要とするため、動的endpoints.But用)(TODを使用することができます知っているここで私がロードしようとしています。全体のエンドポイントを動的に変更します。
ありがとうございます。
おかげで(身体()により、URIを取得しようとしています。方法( "getEndPointUri")と言うよう
ので、その後、TODを使用しています。のtoString() )camelContextの開始時に、上記の式を解決しようとしますが、実行時にのみ解決できます。toD()と同じ問題です。 – sasidhar
toD( "$ {body.getEndpointUri()}")のようなtoDに組み込まれている簡単な言語を使ってください。ゲッターのために少し短くすることができます - 'toD(" $ {body.endpointUri } ")' - http://camel.apache.org/simple –
その仕事。ありがとう。 – sasidhar