【发布时间】:2019-08-18 01:36:22
【问题描述】:
使用 MassTransit 我正在尝试使用 AMQP 连接器连接到 ActiveMQ。 MassTransit 配置为使用 OpenWire 连接器连接到端口 61616。
使用以下命令为 ActiveMq 创建了一个本地容器
docker run --rm -d -p 5672:5672 -p 8161:8161 rmohr/activemq:5.15.6-alpine
现在尝试连接到 MassTransit 时,我正在通过端口 5672
var uriBuilder = new UriBuilder("amqp://localhost")
{
Port = 5672
};
var serviceBusHost = cfg.Host(
uriBuilder.Uri, settings =>
{
settings.Password(credentials[0]);
settings.Username(credentials[1]);
});
在 activeMqBusFactory 中使用上述代码时,我遇到了以下异常: MassTransit.ActiveMqTransport.ActiveMqTransportConfigurationException: '地址方案无效:amqp'
将上面的代码改为
var uriBuilder = new UriBuilder("activemq://localhost")
{
Port = 5672
};
var serviceBusHost = cfg.Host(
uriBuilder.Uri, settings =>
{
settings.Password(credentials[0]);
settings.Username(credentials[1]);
});
我也不例外,但 webApp 卡住了消息 启动总线主机... 连接:admin@localhost:5672
只是为了澄清我在运行 docker 容器时是否暴露了端口 61616 并使用以下代码
var uriBuilder = new UriBuilder("activemq://localhost")
{
Port = 61616
};
var serviceBusHost = cfg.Host(
uriBuilder.Uri, settings =>
{
settings.Password(credentials[0]);
settings.Username(credentials[1]);
});
我可以使用 OpenWire 连接器连接到 activeMQ。我正在寻找一种使用 AMQP 连接器进行连接的方法。
谢谢
【问题讨论】:
-
从查看代码来看,目前似乎还没有公开该功能。我也不确定 ActiveMQ.NMS 库是否支持它。
-
我能够通过 AMQP 连接器连接,而无需使用以下链接上的示例进行公共交通。 [链接] (github.com/apache/activemq-artemis/blob/master/examples/…)
标签: c# .net-core activemq amqp masstransit