Используйте azure -servicebus lib для подключения к брокеру QPID - PullRequest
0 голосов
/ 16 апреля 2020

Мне нужно подключиться к служебной шине azure, и я подключился к azure -servicebus lib. Все отлично работает НО, для моих интеграционных тестов мне пришлось создать учетную запись в Microsoft. Это темная точка в моем процессе, потому что я не хочу, чтобы мой CI зависел от сети или служб Microsoft.

Поэтому я планировал использовать qpid в брокере памяти для теста для имитации служебной шины azure. , Я действительно не хотел бы менять свой рабочий код, который выглядит следующим образом (я работаю с kotlin):

class MessageHandlerForStackOverflow : IMessageHandler
{
    private lateinit var receiveClient: QueueClient
    private val messageHandlerOptions = MessageHandlerOptions(1, true, Duration.ofMinutes(1))
    private val executorService = Executors.newFixedThreadPool(2)

    fun register()
    {
        receiveClient = QueueClient(ConnectionStringBuilder(config.connectionString), ReceiveMode.PEEKLOCK)
        receiveClient.registerMessageHandler(this, messageHandlerOptions, executorService)
    }

    override fun onMessageAsync(message: IMessage): CompletableFuture<Void>
    {
           ... do some fancy things....
    }
}

Моя проблема заключается в строке подключения. Microsoft предоставила мне что-то вроде

Конечная точка = sb: //mydomain.servicebus.windows.net/; SharedAccessKeyName = RootManageSharedAccessKey; SharedAccessKey = mykey; EntityPath = test

Как я могу создать такую ​​строку подключения от брокера Qpid? Если я не могу, значит ли это, что azure -servicebus lib может подключаться только к azure брокеру?

Большое спасибо за любую помощь, которую вы мне могли бы оказать.

...