我们刚开始将Spring Cloud Stream与Solace Binders结合使用,并且正在做一个小型POC。
应用程序将消息发布到两个主题- T_TENNIS_OUT 和 T_HOCKEY_OUT 。
我们有一个队列- Q_GAME_DATA ,该队列同时订阅了主题T_TENNIS_OUT和T_HOCKEY_OUT。
我们需要编写一个使用者以从队列中读取消息。 所用的慰藉粘合剂的配置如下。
spring:
cloud:
stream:
bindings:
CHANNEL_GAME:
destination: Q_GAME_DATA
group: ????
binder: local_solace
binders:
local_solace:
type: solace
我们不清楚,正在寻找以下问题的答案-
答案 0 :(得分:0)
我认为您已经做的是您已经在Solace Event Broker上预先设置了队列,并向其中添加了必要的主题订阅。
但是,队列名称通常具有{prefix}{destination}.{group}
的格式。 https://github.com/SolaceProducts/solace-spring-cloud/tree/master/solace-spring-cloud-starters/solace-spring-cloud-stream-starter在“ Solace Binder配置选项”下也提到了这一点。
因此,请确保在Solace Event Broker上创建的队列的名称遵循{prefix}{destination}.{group}
的格式。完成后,请相应地将队列名称的相应部分映射到Solace配置文件中。另外,由于队列已在Solace Event Broker上预先设置,请在Solace配置文件中将provisionDurableQueue
设置为false。
根据您的用例说明,无需在Solace配置文件中声明多个通道。即使只有一个通道,您仍然可以让使用者使用队列中的消息。
如果必要的主题订阅已被添加到预先设置的队列中,则无需将主题订阅添加到Solace配置文件中。
此外,还需要在Solace配置文件中将provisionSubscriptionsToDurableQueue
设置为false。如果不这样做,那么将在Solace配置文件中的destination
中指定的值作为主题订阅添加到队列中。