私はApache Camel 2.17.1を使用していますが、Jettyコンポーネント(http://camel.apache.org/jetty.html)にSSLクライアント認証を設定する際にいくつか問題があります。サーバーSSLの最初の部分は円滑に実行されます(サーバーのキーストアを設定し、ブラウザーからHTTPSエンドポイントにアクセスします)。今では、クライアント証明書が必要な別のルート(別のhttpポート)を追加してアプリケーションを充実させようとしています。Camel 2.17以降でJetty SSL Connectorを設定する方法
<bean id="jetty" class="org.apache.camel.component.jetty.JettyHttpComponent">
<property name="sslSocketConnectors">
<map>
<entry key="8043">
<bean class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<property name="password"value="..."/>
<property name="keyPassword"value="..."/>
<property name="keystore"value="..."/>
<property name="needClientAuth"value="..."/>
<property name="truststore"value="..."/>
</bean>
</entry>
</map>
</property>
これらのフィールド名ので、ドキュメントは、更新されなかったようですが、縫い目:SSLのプロパティはキャメルによって直接公開されないので、これは、を介して達成することができるドキュメントから
SslContextFactoryにはもう存在しません。私は他の候補者を見つけるために管理しますが、エラーが発生しました:
"org.eclipse.jetty.server.ssl.SslSelectChannelConnector" class doesn't exist anymore.
The JettyHttpComponent.setSslSocketConnectors() method accepts Connector interface objects.
誰かが(2.17など)Apacheのキャメルの新しいバージョンをベースにしたソリューションを見つけることで私を助けてもらえますか?
[Camel 2.17は新しいJetty 9コネクタを使用しています](https://github.com/apache/camel/blob/camel-2.17.1/components/camel-jetty-common/src/main/java) /org/apache/camel/component/jetty/JettyHttpComponent.java#L623-L629)、ドキュメントは更新されていません。 (注: 'SslSelectChannelConnector'はJetty 8以前の古いクラスです) –