Skip to content

Releases: freshncp/Larva.MessageProcess

v1.2.8

14 Sep 22:54

Choose a tag to compare

1)DefaultMessageProcessor 增加Mailbox的淘汰策略,默认为LFU策略,目的是降低Mailbox的内存消耗;
2)内置 AutoIdempotentInterceptor 拦截器,并调整 IAutoIdempotentStore 接口,不再区分 multipleMessageHandler。

v1.2.7

19 Aug 13:37

Choose a tag to compare

1)Mailbox 当传入参数continueWhenHandleFail=true时,消息重试时间间隔bug修复。

v1.2.6

12 Aug 20:24

Choose a tag to compare

1)retryIntervalSeconds 如果设置为-1,表示不重试;
2)Mailbox 执行Stop后,对于Task.Delay这类异步处理时间长的,传入CancellationToken以尽快停止。

v1.2.5

12 Aug 19:19

Choose a tag to compare

1)修复Mailbox处理消息时,如果continueWhenHandleFail=true,当发生错误后,MessageProcessor将无法停止的bug;
2)简化处理问题消息的逻辑。

v1.2.1

10 Aug 12:28

Choose a tag to compare

1)代码重构,更好支持基于接口的依赖注入,目前支持 IProcessingMessageMailboxProvider、IProcessingMessageHandler;
2)修复存在问题消息时,停止DefaultMessageProcessor陷入死循环的bug。

v1.2.0

09 Aug 01:22

Choose a tag to compare

1)支持消息消费失败自动重试,重试间隔以秒计(失败不一定是业务代码bug造成);
2)ProcessingMessage的属性ContinueWhenHandleFail、MessageSubscriber,转为IProcessingMessageHandler、IMessageProcessor的初始化参数。

v1.1.1

12 Jul 11:30

Choose a tag to compare

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

Choose a tag to compare

1)升级Larva.DynamicProxy;
2)Handlers 重命名为 Handling;
3)新增幂等支持,通过标准拦截器的PreProceed,使用实现了IAutoIdempotentStore的幂等存储,来判断是否已处理过,已处理过的抛出DuplicateMessageHandlingException异常,在PostProceed中保存已处理。

v1.0.4

20 Jun 01:59

Choose a tag to compare

1)去掉名字空间Interception,改为依赖Larva.DynamicProxy。

v1.0.3

18 Jun 22:51

Choose a tag to compare

1)修复StandardInterceptor,拦截异步方法时,Dispose的调用应仍在主线程里执行,确保类似AsyncLocal变量在主线程上被释放;
2)优化StandardInterceptor,对PostProceed、ExceptionThrown、Dispose的调用,捕获异常抛出。