问题标签 [rebus]

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.

0 投票
1 回答
215 浏览

structuremap - 在 rebus 中使用每条消息的嵌套容器

我们目前正在考虑将我们的一个应用程序从 rhino-esb 转移到 rebus。我们背后的原因是 rhino-esb 这些天几乎不活跃。

今天我们依靠结构映射来为每条消息使用一个嵌套容器,我们希望保持这种方式,这样我们就不需要改变我们基础设施的大部分。我已经浏览了 rebus api,但还没有找到处理嵌套容器的好方法。有没有人对如何解决它有任何建议?或者也许你自己实现了它?

0 投票
1 回答
648 浏览

c# - rebus log4net 日期错误

当我在消息类型的处理程序中引发异常时,异常会使用 UTCDate 记录,但这应该是计算机日期。

奇怪的是它正确地记录它然后又错误地登录,因此将多条日志消息添加到文件中。这不是必需的!

下面日志中正确的时间是2014-02-18 14:... 错误的时间是18-02-2014 13:.... 我不需要错误时间的日志日志:

Log4Net 配置:

Rebus 日志记录设置:

异常被 Rebus 捕获

我如何防止或配置 rebus 如何记录这个?正如您在日志中看到的,一些 rebus 日志记录是可以的,而另一些则不是。

0 投票
1 回答
236 浏览

nservicebus - 竞争消费者场景的进度报告方法

我正在考虑消息传递。目前我们正在使用 Rebus 增加一些场景。我们也在考虑 NServiceBus。

我们正在尝试构建的场景是后台任务处理系统的概念证明。今天,我们有一些以不同方式托管的后端服务。(网络、Windows 服务、控制台应用程序)我希望将它们连接到 rebus 并开始使用竞争消费者来消费消息,一些消息将有一个侦听器,而一些消息将共享消息负载。优雅的 :)

我从另一个问题中得到了一个很好的开始,我应该如何为一个生产者和许多消费者设置 rebus,它在概念验证中运行良好。

现在我想开始报告进度。我最初的方法是设置 pub/sub 并启动一个服务来监听来自所有服务的进度事件。如果一项服务对未来的特定进展感兴趣,则很容易订阅感兴趣的消息并开始收听。

但是我应该如何设置竞争消费者和发布/订阅?它是两个独立的东西吗?(在 rebus 情况下,一个适配器使用 UseSqlServerInOneWayClientMode / UseSqlServer 和另一个使用我们想要的协议为发布/订阅设置的适配器?)

还是有比这里有两个“公共汽车”更好的解决方案?

0 投票
1 回答
514 浏览

c# - Rebus:为每条消息添加用户上下文的建议

首先让我们将'UserContext'定义为在用户的正确上下文中执行接收消息所需的许多属性,因此它不仅仅是一个string. 在我的情况下,这还包括用户正在使用哪个应用程序“实例”的数据。

正如我所看到的,有两个主要选项可以为消息提供“UserContext”:

  1. 作为标题
  2. 作为消息的基类

当使用 Header 时,我需要提供自己的序列化,当使用基类时,Rebus 会为我解决序列化。

所以我使用一个小示例程序使用了一个基类:

但是当我运行程序时,我看到SimpleMessage正在处理两次。这是“设计使然”还是错误?

另一方面,我可以取消注释 的注册UserContextHandler,而不是SimpleMessageHandler从继承UserContextHandler,但是我必须将UserContext塞进MessageContext,并从SimpleMessageHandler.

0 投票
1 回答
235 浏览

c# - 在 MongoDb 中持久化 Rebus saga 时使用自定义约定

当我将我的域存储在 MongoDB 中时,我使用自定义约定(如此所述)以便将我的枚举作为字符串表示形式进行持久化,因为我们在调试时发现它更容易。

在 Rebus 中使用 MongoDB 作为我的 saga 存储时,我也想做同样的事情。有没有办法做到这一点?

0 投票
2 回答
621 浏览

masstransit - 消息总线中的总线发现

我试图让我的头脑围绕消息总线和国际奥委会,但我的头脑中充满了问题。

这是我想到的场景

三台电脑通过局域网连接,无法上网。三台计算机各有一个服务,运行并自动发现其他计算机,换句话说,它们各自在公共总线上发送消息??这表明了自己。

从那时起,他们可以交换任何类型的消息。

这在第一个实例中是否可能仅使用消息总线架构?

如果是,自我发现位将如何工作?我看到的所有示例似乎都是特定于机器的本地队列。我似乎找不到远程队列发送消息或完成自我发现的示例。

我在 .Net 中有一个使用 rebus 的本地服务,但现在希望了解这个难题的缺失部分。

我现在不是在谈论使用 ASP.Net 或任何东西的任何花哨的设置。任何帮助是极大的赞赏

0 投票
1 回答
227 浏览

rebus - 在多租户应用程序中使用 Rebus

您将如何在多租户应用程序中使用 rebus?

你会选择:

  • 所有租户一起的rebus队列或
  • 每个租户一个 rebus 队列(输入/错误)
0 投票
1 回答
1111 浏览

c# - 当它已经超时时,我们如何避免多个 Rebus 消息?

我们使用 Rebus 作为带有 Sql 服务器的队列系统。我们有多个不同类型消息的收件人。每条消息都可以由特定类型的多个工作人员处理。一条消息只能由一个工人(第一个拉它的工人)处理/处理。如果工作人员由于某种原因无法完成它,它会使用超时服务推迟消息。

如果我理解正确,它将成为 TimeoutRequest 并放入超时表中。当需要重新运行时,它会在作为原始消息重新引入队列之前成为 TimeoutReply。

我们遇到的问题是,当它变成 TimeoutReply 时,所有工作人员都会将其拾取并创建原始消息。一条原始消息在超时时会变成多条消息(与工人一样多)。

我们的 Rebus 设置如下:

“服务器端”:

“工人方面”:

非常感谢解决问题或提供理解的任何帮助!

0 投票
2 回答
453 浏览

c# - 重新提交事件以重新分配

处理完一条消息后,我需要发送一条新消息。这是一些命令事件模式,我刚刚处理了一个命令,并且需要提交一个事件(到同一总线)。

消息来自的总线上下文是否在处理程序中可用?如果不是,你会如何建议我找到合适的巴士?

0 投票
1 回答
290 浏览

c# - 消息总线对象类型所有权

我仍在研究我的消息队列概念,请参阅:消息总线中的总线发现

我有另一个问题。我有一个通用类型库,即存储订阅者和接收者可以发送和接收的所有类型的库。

一种消息类型可能从多个发布者发送,因为不同的发布者可以出于不同的目的使用相同的消息类型做不同的事情

  1. 这有可能起作用吗,尤其是在rebus中
  2. 订阅者如何知道要连接哪个发布者

谢谢阅读