camel-jetty で https を使用すると問題が発生します。キー ストア ファイルが変更された場合 (証明書の削除または追加など)、変更を有効にするにはどうすればよいですか? デフォルトでは、camel-jetty は変更を動的にリロードしないようです。
サンプルコード:
JettyHttpComponent jettyComponent = getContext().getComponent("jetty", JettyHttpComponent.class);
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector();
SslContextFactory sslFactory = sslConnector.getSslContextFactory();
sslFactory.setNeedClientAuth(true);
sslFactory.setKeyStore("d:" + File.separator +"serverkeystore");
sslFactory.setKeyManagerPassword("serverkey");
sslFactory.setKeyStorePassword("serverkeystore");
sslFactory.setTrustStore("d:" + File.separator +"servertruststore");
sslFactory.setTrustStorePassword("servertruststore");
Map<Integer, SslSelectChannelConnector> connectors = new HashMap<Integer, SslSelectChannelConnector>();
connectors.put(443, sslConnector);
jettyComponent.setSslSocketConnectors(connectors);
from("jetty:https://0.0.0.0/httpsservice")
.id("httpsserver")
.process(new Processor(){
public void process(Exchange exchange) throws Exception {
exchange.getOut().setBody("OK");
exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, 200);
}
});
ただし、キー ストア ファイルを動的に変更すると、アプリケーションを再起動しない限り、変更は有効になりません。変更を有効にする方法はありますか?
ありがとう