действие camel etcd watch/get не удалось с sslContextParameter

при написании корня camel-etcd для действия просмотра. Если я использую 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 в требуемый тип: org.apache.camel.util.jsse.SSLContextParameters со значением SSLContextParameters[keyManagers=null, trustManagers=TrustManagerType[keyStore=KeyStoreParameters[type=null, password=********, provider=null, ресурс = etcd-ca.crt], провайдер = нуль, алгоритм = нуль], secureRandom = нуль, clientParameters = нуль, serverParameters = нуль, провайдер = нуль, secureSocketProtocol = нуль, certAlias ​​= нуль, getCipherSuites () = нуль, getCipherSuitesFilter ( )=null, getSecureSocketProtocols()=null, getSecureSocketProtocolsFilter()=null, getSessionTimeout()=10000]

etcd://watch/deployments/prod/config/parentalRatings/v1?recursive=true&sslContextParameters=SSLContextParameters%5BkeyManagers%3Dnull%2C+trustManagers%3DTrustManagerType%5BkeyStore%3DKeyStoreParameters%5Btype%3Dnull%2C+пароль%3D***** ***%2C+provider%3Dnull%2C+resource%3D%2Fetcd-ca.crt%5D%2C+provider%3Dnull%2C+algorithm%3Dnull%5D%2C+secureRandom%3Dnull%2C+clientParameters%3Dnull% 2C+serverParameters%3Dnull%2C+provider%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.


person Santosh Nesaragi    schedule 11.04.2019    source источник


Ответы (1)


вам нужно поместить хранилище ключей ssl в реестр верблюдов и сослаться на него как "etcd:...&sslContextParameter=#yourSslContextParameter"

person Luca Burgazzoli    schedule 11.04.2019