Реактивный обмен сообщениями 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.

Другие вопросы по тегам