12
12
using Microsoft . Extensions . Options ;
13
13
14
14
public class DefaultConfluentKafkaBus : EasyCachingAbstractBus
15
- {
15
+ {
16
16
17
17
18
18
/// <summary>
@@ -77,7 +77,7 @@ public override void BasePublish(string topic, EasyCachingMessage message)
77
77
/// <param name="cancellationToken">Cancellation token.</param>
78
78
public override async Task BasePublishAsync ( string topic , EasyCachingMessage message , CancellationToken cancellationToken = default ( CancellationToken ) )
79
79
{
80
- var msg = _serializer . Serialize ( message ) ;
80
+ var msg = _serializer . Serialize ( message ) ;
81
81
82
82
await _producer . ProduceAsync ( topic , new Message < Null , byte [ ] > { Value = msg } ) ;
83
83
}
@@ -89,7 +89,27 @@ public override void BasePublish(string topic, EasyCachingMessage message)
89
89
/// <param name="action">Action.</param>
90
90
public override void BaseSubscribe ( string topic , Action < EasyCachingMessage > action )
91
91
{
92
- Task . Factory . StartNew ( ( ) =>
92
+ _ = StartConsumer ( topic ) ;
93
+ }
94
+
95
+ /// <summary>
96
+ /// Subscribe the specified topic and action async.
97
+ /// </summary>
98
+ /// <param name="topic">Topic.</param>
99
+ /// <param name="action">Action.</param>
100
+ /// <param name="cancellationToken">Cancellation token.</param>
101
+ public override async Task BaseSubscribeAsync ( string topic , Action < EasyCachingMessage > action , CancellationToken cancellationToken = default ( CancellationToken ) )
102
+ {
103
+ await StartConsumer ( topic ) ;
104
+ }
105
+
106
+ /// <summary>
107
+ /// Ons the consumer.
108
+ /// </summary>
109
+ /// <param name="topic">Topic</param>
110
+ private Task StartConsumer ( string topic )
111
+ {
112
+ return Task . Factory . StartNew ( ( ) =>
93
113
{
94
114
for ( int i = 0 ; i < this . _kafkaBusOptions . ConsumerCount ; i ++ )
95
115
{
0 commit comments