问题标签 [rhino-servicebus]

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 投票
2 回答
300 浏览

.net - Rhino Service Bus 是否处理单个用户响应?

我正在从 ASP.NET MVC 客户端尝试 Rhino 服务总线,但不确定它是否具有用于用户响应的内置工具。在 Alexandria 智能客户端示例中,IServiceBus.Reply 将自然地工作,因为每个用户的本地队列都有不同的 IP。(尽管如果他们的连接暂时断开会发生什么......?)

但是对于具有类似功能的网站,我是否需要为每个用户构建一个响应队列?所以队列名称的一部分可能包括 UserId 并且这样回复会回到正确的位置?他们可以共享相同的端口而只是 URL 不同吗?

0 投票
0 回答
100 浏览

rhino - 为什么要向所有 Sagas 发送消息?

我正在使用 Rhino 服务总线,我有两个 saga,SaveCustomerSaga 和 ProcessReceiptSaga,这两个操作都将 UpdateInvoicesCommand 发送到标准消息使用者。在更新发票之前,两个传奇都没有完成。两个 sagas 都实现了 Orchestrates<'InvoicesUpdated> 来完成。相同的 CorrelationId 用于所有消息。

然而,当 UpdateInvoicesCommand 的消费者回复消息 InvoicesUpdated 时,它被分派给两个 Sagas!事件虽然其中一个尚未启动并且 CorrelationId 属于另一个已经启动的 Saga。

它不应该只将它发送到具有匹配 CorrelationId 的适当 Saga 吗?是否有解决方法或拦截我可以执行此行为?

(使用 v2.3.0,但是快速查看提交历史似乎不是与此相关的新更改。)

0 投票
1 回答
695 浏览

rabbitmq - 将 RabbitMQ 与 Rhino 服务总线一起使用

我已经阅读了 Oren Eini 的关于 Rhino ESB 的MSDN 文章,其中提到可以使用 ActiveMQ、RabbitMQ 或其他代替 MSMQ 或 Rhino 队列。但我很难找到使用 MSMQ 或 Rhino 队列以外的任何示例的任何示例。我正在研究 RabbitMQ 和 Rhino ESB 的项目,但在我想要的配置上找不到任何东西。任何人都可以为我提供一些示例或链接吗?

0 投票
2 回答
441 浏览

rhino-servicebus - 通过 MSMQ 使用 Rhino 服务总线发送消息

我刚刚开始使用 Rhino 服务总线,我正在尝试使用 MSMQ 作为传输在 2 个服务器之间中继消息。由于某种原因,当后端/主机位于不同的服务器上时,Rhino 客户端不会收到消息,但在位于同一台机器上时可以正常工作。

如果我使用 Rhino 队列而不是 MSMQ 作为传输,那么消息将通过服务器发送。

我什至关掉了防火墙。我还确保消息端点指向正确的服务器,而总线端点始终是本地的。

有任何想法吗?

谢谢,

0 投票
0 回答
348 浏览

service - 后端未收到使用 MSMQ 消息的 Rhino Service Bus

我试图让一个简单的客户端和后端使用 Rhino 服务总线在两台机器上发送消息。我已经设法使用 Rhino Queues 让它工作,但是当我切换到 MSMQ 并发送消息时,它没有在后端收到。我正在使用取自此处的代码示例,并尝试实现最简单的示例“E1_Hello_world_using_MSMQ_as_transport”。

当从客户端向后端发送消息时,消息似乎消失而没有给出任何错误(使用下面定义的端点 uri 1 时)。然而,名为 DIRECT=TCP:192.168.35.10\private$\LearningRhinoESB.E1.Backend 的传出队列中确实出现了一个新文件夹,但队列消息文件夹仍然为空。

我在两台机器上都禁用了防火墙,并尝试了多种端点,

  1. msmq://192.168.35.10/LearningRhinoESB.E1.Backend <--这是使用 rhino 队列切换到 msmq 的方法没有乐趣
  2. msmq://192.168.35.10/private$/LearningRhinoESB.E1.Backend
  3. 格式名称:DIRECT=TCP:192.168.35.10\LearningRhinoESB.E1.Backend
  4. 格式名称:DIRECT=TCP:192.168.35.10\private$\LearningRhinoESB.E1.Backend
  5. 格式名称:DIRECT=OS:192.168.35.10\LearningRhinoESB.E1.Backend
  6. 格式名称:DIRECT=OS:192.168.35.10\private$\LearningRhinoESB.E1.Backend

知道我做错了什么或如何诊断这种情况吗?我可能需要启用任何服务才能使其正常工作?

0 投票
1 回答
284 浏览

nservicebus - appharbor 的最佳 ESB/消息队列

我目前正在尝试为 appharbor 应用程序找到最佳的消息队列解决方案。大多数人都假设你有一个安装了 MSMQ 和 DTC 的 windows 环境,我不相信 appharbor 环境提供了。

我想要一些与 ravendb 配合得很好的东西,因为那是我们正在使用的数据库。只依赖 raven 的东西是理想的,特别是如果它与我们现有的工作单元集成在一起。即,当在我们的控制器操作中调用保存更改时,消息将保存在同一个事务中。

它还需要一个在控制台应用程序中工作的主机以进行后台处理。

理想情况下,我也想要在开发环境中“正常工作”的东西。以 raven 为例,我们在开发时使用嵌入式模式,我想要一些不需要安装的东西。

我查看了 nServicebus,它似乎无法满足这些条件,因为它需要传输(msmq、sql 等)并且大部分文档已过时。

我还查看了 rhino 服务总线,但明显缺乏文档和社区。我也不确定它是否可以完全依赖 ravendb。

我看过的其他似乎都非常重量级,需要安装和配置才能在开发环境中运行。

编辑:另一个选项是实现我们自己的。

0 投票
0 回答
166 浏览

c# - Getting RhinoServiceBus to play nicely with PRISM/Unity

I just spent the last 48 hours trying to make the above happen and while I think Rhino Service Bus is fabulously useful their documentation leaves a lot to be desired. Having solved the problem I was facing I thought it might be useful for others to see what I did... so here it is. Hopefully someone will find it so.

I am developing a WPF/PRISM/Unity reporting application and wanted to use a service bus to allow the app to be an occasionally connected one getting its data via bus messages when connected over a VPN. I introduced the bus into the Bootstrapper for the App and hosted it in the Rhino DefaultHost. This did allow the bus to operate and messages passed back and forth quite satisfactorily until I tried to inject the IEventAggregator into the constructor of a class which was implementing the ConsumerOf interface.

I kept getting the error "IEventAggregator is an interface and cannot be constructed. Are you missing a type registration" and I didn't know why as the Event aggregator was registered as a singleton in the application's Bootstrapper.

The problem seems to be that registering the class which implements ConsumerOf ties that class to the internal Unity container for the bus which appears to override any connection that class may have to the application container.

The solution (which I admit is glaringly obvious once you see it) is to make the bus container a child container of the application container so that any failed resolutions (can't find IEventAggregator?!) are passed to the parent for resolution (oh look, here it is!!).

Here's how that can be achieved...

I also needed to modify the same override in the ESBBootstrapper in order to find the classes in the application which were implementing ConsumerOf. This was done as follows...

0 投票
1 回答
140 浏览

c# - Rhino 服务总线传输随机停止

我正在调试一个控制台应用程序,它处理数据文件并使用服务总线触发事件。启动时,程序启动总线:

然后对于文件中的每条记录,它会触发如下内容:

最近,控制台出现了以下异常:

当我调试它时,第二次Send抛出的错误被称为. 我没有其他例外,但似乎有些东西正在关闭我的服务总线。

知道如何找出关闭公共汽车的原因吗?

0 投票
2 回答
459 浏览

.net - Rhino 服务总线事务

我能够使用 Rhino Service Bus 和 Sql Server Express 创建一个测试应用程序。我有一个 MVC 4 前端,它创建一条消息并将其发送到队列,并在我的数据库表中创建一条记录。我有一个 Windows 服务,它从队列中获取消息并写入单独的数据库表。我希望消息发送/数据库写入是全部或全部。例如,如果消息发送或数据库写入失败,我希望能够将它们都回滚。我尝试将它们都包装在 TransactionScope 中,但根据我的测试,即使没有调用 scope.Complete,消息也会发送到队列。

这可能吗?如果是这样,有人可以指出我正确的方向吗?

仅供参考...队列是 MSMQ 事务队列

谢谢。

0 投票
1 回答
213 浏览

msmq - 如何使用多台服务器配置 Rhino ESB

我正在开发一个 Web 应用程序,该应用程序将使用 Rhino 服务总线发送消息,然后由应用服务器上的 Windows 服务使用。我已经能够在我的机器上进行测试(托管 web 应用程序和 windows 服务)并且它工作正常。我还能够在我们的开发环境中进行测试,该环境有一个 Web 服务器和一个应用服务器,没有任何问题。但是,我们的暂存环境有两个 Web 服务器和两个应用服务器,所以我不确定如何配置消息发送到的端点。

我知道我可以编辑每个 Web 服务器的配置部分以指向其中一个应用服务器。我也可以只将 Windows 服务放在一台机器上,然后将所有内容发送到该机器上的队列中。这些听起来都不是一个好的选择。在这种情况下,最佳做法是什么?

任何帮助,将不胜感激。