7.3. 创建共享订阅
共享订阅是远程服务器中代表一个或多个消息接收器的状态。由于它是共享的,多个客户端可以从同一消息流使用。
客户端通过在接收器源上设置 共享功能来配置共享 订阅。
共享订阅通过组合客户端容器 ID 和接收器名称来组成订阅 ID 来唯一标识。它们必须具有稳定的值,以便多个客户端进程可以找到相同的订阅。如果除了 共享 外设置了 全局 功能,则仅接收方名称用于标识订阅。
要创建共享订阅,请按照以下步骤执行:
将连接容器 ID 设置为 stable 值,如
client-1:ClientOptions clientOptions = new(); clientOptions.Id = "client-1"; IClient client = IClient.Create(clientOptions);
ClientOptions clientOptions = new(); clientOptions.Id = "client-1"; IClient client = IClient.Create(clientOptions);Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过设置共享功能来配置用于
共享的接收器:ReceiverOptions receiverOptions = new ReceiverOptions(); receiverOptions.SourceOptions.Capabilities = new String [] {"topic", "shared"}; receiverOptions.SourceOptions.DurabilityMode = DurabilityMode.UnsettledState; receiverOptions.SourceOptions.ExpiryPolicy = ExpiryPolicy.Never; using IReceiver receiver = connection.OpenDurableReceiver(address, "sub-1", receiverOptions);ReceiverOptions receiverOptions = new ReceiverOptions(); receiverOptions.SourceOptions.Capabilities = new String [] {"topic", "shared"}; receiverOptions.SourceOptions.DurabilityMode = DurabilityMode.UnsettledState; receiverOptions.SourceOptions.ExpiryPolicy = ExpiryPolicy.Never; using IReceiver receiver = connection.OpenDurableReceiver(address, "sub-1", receiverOptions);Copy to Clipboard Copied! Toggle word wrap Toggle overflow