Мне нужно подключиться к служебной шине 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 брокеру?
Большое спасибо за любую помощь, которую вы мне могли бы оказать.