This is an automated email from the ASF dual-hosted git repository.
aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git
The following commit(s) were added to refs/heads/master by this push:
new 71d58d90 Bugfix: producer does not override BuildClientSetting
71d58d90 is described below
commit 71d58d9062a6ce314ef9ddf1758d11cdb563c00f
Author: Aaron Ai <[email protected]>
AuthorDate: Wed Dec 7 14:01:43 2022 +0800
Bugfix: producer does not override BuildClientSetting
---
csharp/rocketmq-client-csharp/Client.cs | 2 +-
csharp/rocketmq-client-csharp/Producer.cs | 22 ++++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/csharp/rocketmq-client-csharp/Client.cs
b/csharp/rocketmq-client-csharp/Client.cs
index 2e6a6ec6..ea44abf9 100644
--- a/csharp/rocketmq-client-csharp/Client.cs
+++ b/csharp/rocketmq-client-csharp/Client.cs
@@ -509,7 +509,7 @@ namespace Org.Apache.Rocketmq
protected readonly IClientManager Manager;
- private readonly HashSet<string> _topicsOfInterest = new
HashSet<string>();
+ protected readonly HashSet<string> _topicsOfInterest = new
HashSet<string>();
public void AddTopicOfInterest(string topic)
{
diff --git a/csharp/rocketmq-client-csharp/Producer.cs
b/csharp/rocketmq-client-csharp/Producer.cs
index 7d559043..c2c5e5db 100644
--- a/csharp/rocketmq-client-csharp/Producer.cs
+++ b/csharp/rocketmq-client-csharp/Producer.cs
@@ -83,8 +83,30 @@ namespace Org.Apache.Rocketmq
// Concept of ProducerGroup has been removed.
}
+ public override void BuildClientSetting(rmq::Settings settings)
+ {
+ base.BuildClientSetting(settings);
+
+ settings.ClientType = rmq.ClientType.Producer;
+ var publishing = new rmq.Publishing();
+
+ foreach (var topic in _topicsOfInterest)
+ {
+ var resource = new rmq.Resource()
+ {
+ Name = topic,
+ ResourceNamespace = ResourceNamespace
+ };
+ publishing.Topics.Add(resource);
+ }
+
+ settings.Publishing = publishing;
+ }
+
public async Task<SendReceipt> Send(Message message)
{
+ _topicsOfInterest.Add(message.Topic);
+
if (!_loadBalancer.ContainsKey(message.Topic))
{
var topicRouteData = await GetRouteFor(message.Topic, false);