Releases: freshncp/Larva.MessageProcess
Releases · freshncp/Larva.MessageProcess
v1.2.8
14 Sep 22:54
Compare
Sorry, something went wrong.
No results found
1)DefaultMessageProcessor 增加Mailbox的淘汰策略,默认为LFU策略,目的是降低Mailbox的内存消耗;
2)内置 AutoIdempotentInterceptor 拦截器,并调整 IAutoIdempotentStore 接口,不再区分 multipleMessageHandler。
v1.2.7
19 Aug 13:37
Compare
Sorry, something went wrong.
No results found
1)Mailbox 当传入参数continueWhenHandleFail=true时,消息重试时间间隔bug修复。
v1.2.6
12 Aug 20:24
Compare
Sorry, something went wrong.
No results found
1)retryIntervalSeconds 如果设置为-1,表示不重试;
2)Mailbox 执行Stop后,对于Task.Delay这类异步处理时间长的,传入CancellationToken以尽快停止。
v1.2.5
12 Aug 19:19
Compare
Sorry, something went wrong.
No results found
1)修复Mailbox处理消息时,如果continueWhenHandleFail=true,当发生错误后,MessageProcessor将无法停止的bug;
2)简化处理问题消息的逻辑。
v1.2.1
10 Aug 12:28
Compare
Sorry, something went wrong.
No results found
1)代码重构,更好支持基于接口的依赖注入,目前支持 IProcessingMessageMailboxProvider、IProcessingMessageHandler;
2)修复存在问题消息时,停止DefaultMessageProcessor陷入死循环的bug。
v1.2.0
09 Aug 01:22
Compare
Sorry, something went wrong.
No results found
1)支持消息消费失败自动重试,重试间隔以秒计(失败不一定是业务代码bug造成);
2)ProcessingMessage的属性ContinueWhenHandleFail、MessageSubscriber,转为IProcessingMessageHandler、IMessageProcessor的初始化参数。
v1.1.1
12 Jul 11:30
Compare
Sorry, something went wrong.
No results found
1)移除参数的params修饰,此可能在传入null时,导致非预期结果;
2)调整MessageProcessor、Mailbox,使支持通过ObjectContainer可替换其他Mailbox实现类;
3)调整ObjectContainer,如果自定义解析器解析失败,则使用默认解析;
4)重命名名字空间MailBoxes为Mailboxes;
5)IAutoIdempotentStore 增加方法WaitForSave,用于服务停止时等待保存完成,从而降低不幂等概率;
6)Mailbox增加了校验,ProcessMessagesAsync的Task启动选项,改为默认。
v1.1.0
07 Jul 23:15
Compare
Sorry, something went wrong.
No results found
1)升级Larva.DynamicProxy;
2)Handlers 重命名为 Handling;
3)新增幂等支持,通过标准拦截器的PreProceed,使用实现了IAutoIdempotentStore的幂等存储,来判断是否已处理过,已处理过的抛出DuplicateMessageHandlingException异常,在PostProceed中保存已处理。
v1.0.4
20 Jun 01:59
Compare
Sorry, something went wrong.
No results found
1)去掉名字空间Interception,改为依赖Larva.DynamicProxy。
v1.0.3
18 Jun 22:51
Compare
Sorry, something went wrong.
No results found
1)修复StandardInterceptor,拦截异步方法时,Dispose的调用应仍在主线程里执行,确保类似AsyncLocal变量在主线程上被释放;
2)优化StandardInterceptor,对PostProceed、ExceptionThrown、Dispose的调用,捕获异常抛出。