首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Azure总线主题为启用会话的订阅创建连续接收方

从Azure总线主题为启用会话的订阅创建连续接收方
EN

Stack Overflow用户
提问于 2022-09-15 11:49:01
回答 1查看 53关注 0票数 0

我们有一个启用会话的蔚蓝总线主题。此主题可以有多个具有不同会话ID的消息。我们想要创建一个侦听器/接收者来不断地读取来自主题的消息。由于我们有多个动态会话ID,所以不能使用acceptSession创建处理程序。我们尝试过使用createReceiveracceptNextSession方法的ServiceBusClient,但它们存在以下问题

  1. CreateReceiver:此方法不适用于启用会话的订阅,从而导致运行时错误。
  2. acceptNextSession:此方法只侦听第一条消息,不读取进一步的消息。

我们目前的代码是:

代码语言:javascript
复制
 const serviceBusSettings = this.appSettings.Settings.serviceBus;
 const sbClient = new ServiceBusClient(serviceBusSettings.connectionString);

 //const receiver = sbClient.createReciver(topicName, subscriptionName);
 const receiver = sbClient.acceptNextSession(topicName, subscriptionName);
 const handleTopicError = async (error: any) => {
             this.logger.error(error);
             throw error;
        };

 (await receiver).subscribe({
        processMessage: handleTopicMessage, // handleTopicMessage is a method passed as an argument to the function where this code snippet exists
        processError: handleTopicError
 });

我们还尝试实现一个示例代码repo。但是,示例中共享的方法似乎在@azure/service-bus 链接到已试用的示例的新npm版本中不再可用。

有人能提出解决这个问题的办法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-09-19 22:41:33

这里有一个示例,展示了如何持续阅读所有可用的会话。你能检查一下是否有用吗?

https://github.com/Azure/azure-sdk-for-js/blob/21ff34e2589f255e8ffa7f7d5d65ca40434ec34d/sdk/servicebus/service-bus/samples/v7/javascript/advanced/sessionRoundRobin.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73730576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档