Реактивный обмен сообщениями AMQP и служебная шина с Open Liberty
Open Liberty поставляется с функцией mpReactiveMessaging-1.0, которая включает коннектор Kafka.
Я хочу выполнить интеграцию со служебной шиной Azure и использую соединитель Smallrye AMQP (версия 1.0.8).
При попытке отправить в очередь служебной шины с помощью @Outgoing
-аннотацию я получаю
javax.net.ssl.SSLHandshakeException: Failed to create SSL connection
который я заметил при отладке реализации Smallrye.
Я просмотрел документы Proton, vert.x и AMQP служебной шины Azure, но не могу найти примеров или указаний на то, что не так с моим набором свойств конфигурации MP для работающего подключения к служебной шине AMQP.
mp.messaging.outgoing.servicebus.address=xxxxxxx
mp.messaging.outgoing.servicebus.connector=smallrye-amqp
mp.messaging.outgoing.servicebus.host=xxxxx.servicebus.windows.net
mp.messaging.outgoing.servicebus.port=5672
mp.messaging.outgoing.servicebus.username=my_saspolicyname
mp.messaging.outgoing.servicebus.password=the_saskey
mp.messaging.outgoing.servicebus.use-ssl=true
mp.messaging.outgoing.servicebus.hostname-verification-algorithm=''
mp.messaging.outgoing.servicebus.containerId=mycontainer
mp.messaging.outgoing.servicebus.amqp-use-ssl=true
1 ответ
Open Liberty по умолчанию не доверяет стандартному списку сертификатов CA, предоставляемому Java. Я не знаком с служебной шиной Azure, но, поскольку я не могу найти в документации ничего о настройке сертификатов, я предполагаю, что он использует сертификат, подписанный доверенным центром.
В этом случае вам, вероятно, нужно добавить это в свой server.xml
чтобы сообщить OpenLiberty доверять сертификатам CA, включенным в Java.
<ssl id="defaultSSLConfig" trustDefaultCerts="true"/>
Эта опция была добавлена в Open Liberty версии 19.0.0.12.