问题标签 [nservicebus4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nservicebus - NServiceBus 4.03 删除工作节点
我们有蓝/绿部署流程,我们想要移除几个工人。如何删除存储在存储 q 中的工作人员消息?我们已经解决了清空存储 q 的问题。
NServiceBus 是否提供了开箱即用的方法?
nservicebus - NServiceBus SatelliteLauncher 异常
我有以下 EndpointConfig.cs
我得到以下异常:
有任何想法吗?
谢谢
nservicebus4 - 无法将失败的消息转发到错误队列
当从处理程序调用的代码中发生异常时,主机会尝试 5 次,然后使用以下消息关闭服务:
2013-10-17 08:57:12,091 [13] FATAL NServiceBus.Faults.Forwarder.FaultManager [(null)] - 无法将失败的消息转发到错误队列。Autofac.Core.Registration.ComponentNotRegisteredException:请求的服务“NServiceBus.Transports.ISendMessages”尚未注册。要避免此异常,请注册一个组件以提供服务,使用 IsRegistered() 检查服务注册,或使用 ResolveOptional() 方法解决可选依赖项。2013-10-17 08:57:12,139 [13] FATAL NServiceBus [(null)] - 故障管理器无法处理 ID 为 e0fc75b2-4eef-4f90-a450-a25901130c9a System.InvalidOperationException 的失败消息:无法将失败消息转发到错误队列。---> Autofac.Core.Registration.ComponentNotRegisteredException:请求的服务'NServiceBus.Transports。ISendMessages' 尚未注册。要避免此异常,请注册一个组件以提供服务,使用 IsRegistered() 检查服务注册,或使用 ResolveOptional() 方法解决可选依赖项。
这是我的配置:
这是我的总线初始化代码:
我不太确定为什么它在失败 5 次后无法尝试 SLR,并且在那之后也将其转发到错误队列。
任何帮助表示赞赏!
谢谢普拉萨德
nservicebus - NServiceBus 4.03,性能计数器成功处理的消息数量未更新
我在成功处理的消息数中看不到任何活动。我可以看到关键时间正在正确更新
nservicebus4 - 如何将应用程序日志记录与 NServiceBus 框架日志记录分开
NServiceBus 将日志写入主机进程所在的文件夹。如何使用 log4net 将特定于应用程序的日志写入单独的文件,以便查看应用程序日志,然后如果存在 NServiceBus 问题,我会查看 NServiceBus 日志。
如果我走 IWantCustomLogging 路线,所有内容都会写入目标文件。
有什么建议么?
谢谢普拉萨德
c# - nservicebus 加载双重订阅
我的ICommand
处理程序被调用了两次!
我在 IIS 中自托管 nservicebus(并使用 Cassini 进行调试)。
这是启动后 SQL 服务器 [audit] 表中的消息头,同一个事件处理程序有两个订阅?
我遇到了与ICommand
处理程序相同的问题,因为它被调用两次以响应bus.Send(new CommandInstance())
对于程序集中的特定命令,我有一个命令处理程序。它被调用了两次。
该事件被调用两次
nservicebus - 当工作单元中发生异常时,避免将 saga 保存到 RavenDb
如果在工作单元的 End 方法中发生异常,是否有任何方法(除了注册分布式事务)来避免将 Saga 数据保存到 NServiceBus 中的 RavenDB?
我将 NSB 4.1 设置为不使用 DTC
我有一个 SqlUnitOfWork,在提交对数据库的更改时可能会因为某些约束或超时或数据库中的某些意外而失败。
当那里发生异常时,消息会重试,但 saga 已经保存到 ravendb。我发现的解决方法是不使用工作单元并在消息处理程序的 Handle 方法的末尾提交更改,但是当传输消息具有多个逻辑消息时,这不起作用。
有没有聪明的方法来做到这一点?
nservicebus - Sagas 可以在不显眼模式下工作吗?
我有一个名为 UploadService 的端点,它包含一个由另一个程序集中定义的命令启动的 saga。该程序集中的命令通过以下行在端点的初始化中注册:
但是,当通过 Debug->Start new instance 启动端点时,NServiceBus.Core 会抛出以下异常:
“传奇 'MySaga' 实现了 'IHandleMessages`1',但消息类型 'MyCommand' 未被归类为消息。您应该使用 'Unobtrusive Mode Messages' 或者消息应该实现 'IMessage'、'IEvent' 或 '指挥部'。”
我有一个单独的端点,它引用了相同的命令程序集,并以相同的方式定义了自定义初始化,并且启动得很好(唯一的区别是另一个端点不使用 sagas)。
更新:我正在使用 NServiceBus 4.2
handler - NServiceBus Saga 找不到处理程序,因为它使用了错误的 ID
我正在使用 NSB 4。我有一个具有以下内容的传奇
BasSaga 只是包装了 saga。我不知道为什么我现在有更大的鱼要炸。
然后我有
我的 OrderSagaData 看起来像这样
供应商创建消息
然后终于在我的日志中我得到了
找不到 ID 为 7af7dff2-bf03-4ebd-9e6c-a27a01125ceb 的消息类型 Messages.Vendors.VendorCreatedMessage 的传奇。将调用 SagaNotFoundHandlers。
该消息是正确的名称空间,但 id (7af7) 不仅是错误的 id,而且我在其他任何地方都找不到。它不在供应商服务日志或传奇日志中。当我查看队列时,供应商服务正在发送正确的 SagaId。
我很困惑,不知道它在哪里变得奇怪(7af7)id 或者为什么它没有使用正确的 sagaid。
任何帮助,将不胜感激。
nhibernate - NServiceBus 的 NHibernate 会话问题
我们有一个简单的 nservicebus (v4) 设置,其中 Web 应用程序将各种消息发送到后端端点进行处理。在提高并发级别之前,一切都进行得很顺利。通常,但并非所有时候,我们都会遇到以下异常 -
我猜这一定是 NHibernate(v3.1) 会话管理的问题。现在,我们在每个处理程序中创建一个新的会话工厂和具有单例生命周期的会话(所以每个处理程序都应该有自己的会话,对吧?)。基于此异常,我最好的猜测是会话上的连接正在被另一个处理程序使用?
任何人都可以解释一下吗?为什么这是一个不一致的问题?