Верблюд и т. д. Смотри / получи действие не удалось с sslContextParameter
При написании корня camel-etcd для действия watch Если я использую sslContextParameter в качестве параметра OPTION, заканчивающегося ошибкой ниже
SSLContextParameters sslContextParam = new SSLContextParameters();
KeyStoreParameters keyStoreParam = new KeyStoreParameters();
keyStoreParam.setResource(caCertFile);
TrustManagersParameters trustMgr = new TrustManagersParameters();
trustMgr.setKeyStore("\etcd-ca.crt");
sslContextParam.setTrustManagers(trustMgr);
sslContextParam.setSessionTimeout("10000");
parentalRatingWatchRouteEndPoint =
"etcd:watch"+etcdHeaderPath+parentalRatingKey+"?recursive=true"+"&uris="+etcdRestEndPoint+"&sslContextParameter"+sslContextParam;
from(parentalRatingWatchRouteEndPoint).startupOrder(2).autoStartup(true)
.routeId(parentalRatingWatchRouteId)
.onCompletion()
.....
из-за: Не удалось найти подходящий установщик для свойства: sslContextParameters, так как не существует метода установщика с таким же типом: java.lang.String, ни преобразование типа невозможно: нет доступных преобразователей типа для преобразования из типа: java.lang.String to Обязательный тип: org.apache.camel.util.jsse.SSLContextParameters со значением SSLContextParameters[keyManagers=null, trustManagers=TrustManagerType[keyStore=KeyStoreParameters[type=null, password=********, provider=null, resource=etcd-ca.crt], provider=null, алгоритма =null], secureRandom=null, clientParameters=null, serverParameters=null, provider=null, secureSocketProtocol=null, certAlias = null, getCipherSuites () = null, getCipherSuitesFilter () = null, getSecureSocketProtocols () = null, getSecureSocketProtocolsFilter () = null, getSessionTimeout () = 10000]
etcd: // часы / развертывания / прод / конфигурация /parentalRatings/v1 рекурсивные = истина &sslContextParameters=SSLContextParameters%5BkeyManagers%3Dnull%2C+trustManagers%3DTrustManagerType%5BkeyStore%3DKeyStoreParameters%5Btype%3Dnull% пароль% 2C + 3D*****? ***%2C+% поставщик 3Dnull% 2C + ресурс%3D%2Fetcd-ca.crt%5D%2C+% поставщик 3Dnull% 2C + алгоритм%3Dnull%5D%2C+ SecureRandom%3Dnull%2C+clientParameters%3Dnull%2C+serverParameters%3Dnull%2C+ поставщик%3Dnull%2C+secureSocketProtocol%3Dnull%2C+certAlias%3Dnull%2C+getCipherSuites%28%29%3Dnull%2C+getCipherSuitesFilter%28%29%3Dnull%2C+getSecureSocketProtocols%28%29%3Dnull%2C+getSecureSocketProtocolsFilter%28%29%3Dnull%2C+getSessionTimeout%28%29%3D10000%5D& URIs = HTTPS%3A%2F%2Flocalhost%3A2379%2Fv2%2Fkeys
Он должен подключиться к серверу ETCD с помощью sslContextParameter.
1 ответ
Вам нужно поместить хранилище ключей ssl в реестр верблюдов и ссылаться на него как "etcd:...&sslContextParameter=#yourSslContextParameter"