CamelでJettyを使用しようとしています。 私はPOMに依存関係を追加しました:次のようにCamel 2.15のJettyコンポーネントの設定
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-jetty</artifactId>
<version>2.15.5</version>
</dependency>
マイCamelContextが初期化されます。
public void startCamelContext() throws Exception {
CamelContext camelContext = new DefaultCamelContext();
camelContext.addComponent("jetty", new JettyHttpComponent8());
camelContext.start();
}
私のように定義されたエンドポイントとルートを持っている私のサービス、起動しようとすると:
をjetty:http://0.0.0.0:9000/httpInput
私は例外を取得:
java.lang.NullPointerException: null
at org.apache.camel.component.jetty8.JettyHttpComponent8.createConnectorJettyInternal(JettyHttpComponent8.java:48)
at org.apache.camel.component.jetty.JettyHttpComponent.createConnector(JettyHttpComponent.java:585)
at org.apache.camel.component.jetty.JettyHttpComponent.getSocketConnector(JettyHttpComponent.java:527)
at org.apache.camel.component.jetty.JettyHttpComponent.getConnector(JettyHttpComponent.java:517)
at org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:320)
at org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:185)
at org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:53)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
at org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:2885)
at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:3179)
at org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:3115)
at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3045)
at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:2813)
at org.apache.camel.impl.DefaultCamelContext.startAllRoutes(DefaultCamelContext.java:865)
Jettyコンポーネントをセットアップする方法に関するドキュメントは、まったく欠けています。 JettyHttpComponentがCamel 2.15以降抽象化され、JettyHttpComponent8または9を使用してそのコンポーネントを設定する必要があると言われたメーリングリストのエントリが見つかりました。link
私の場合、私はCamel 2.15.5を使用していますクラスパスでJettyHttpComponent9を使用できず、8を使用すると上記の例外が発生します。 また、実際にそのコンポーネントを使用する方法についての情報がないので、関連するディスカッションhereも見つかりました。