1212 using Microsoft . Extensions . Options ;
1313
1414 public class DefaultConfluentKafkaBus : EasyCachingAbstractBus
15- {
15+ {
1616
1717
1818 /// <summary>
@@ -77,7 +77,7 @@ public override void BasePublish(string topic, EasyCachingMessage message)
7777 /// <param name="cancellationToken">Cancellation token.</param>
7878 public override async Task BasePublishAsync ( string topic , EasyCachingMessage message , CancellationToken cancellationToken = default ( CancellationToken ) )
7979 {
80- var msg = _serializer . Serialize ( message ) ;
80+ var msg = _serializer . Serialize ( message ) ;
8181
8282 await _producer . ProduceAsync ( topic , new Message < Null , byte [ ] > { Value = msg } ) ;
8383 }
@@ -89,7 +89,27 @@ public override void BasePublish(string topic, EasyCachingMessage message)
8989 /// <param name="action">Action.</param>
9090 public override void BaseSubscribe ( string topic , Action < EasyCachingMessage > action )
9191 {
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 ( ( ) =>
93113 {
94114 for ( int i = 0 ; i < this . _kafkaBusOptions . ConsumerCount ; i ++ )
95115 {
0 commit comments