使用 MassTransit 连接到 ActiveMQ 时无法将连接器设置为 AMQP
Unable to set connector as AMQP when connecting to ActiveMQ using MassTransit
使用 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: 'The address scheme was invalid: 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 连接器进行连接的方法。
谢谢
查看 MassTransit 的源代码,您现在似乎无法使用 AMQP 连接到 ActiveMQ 代理。该代码使用 NMS.ActiveMQ 库,该库仅是 openwire,因此您需要坚持使用它。作者需要支持 AMQP 作为协议连接器,使用类似 AmqpNetLite 客户端的东西作为支持它的任何消息平台的通用 AMQP 连接器。
使用 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: 'The address scheme was invalid: 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 连接器进行连接的方法。
谢谢
查看 MassTransit 的源代码,您现在似乎无法使用 AMQP 连接到 ActiveMQ 代理。该代码使用 NMS.ActiveMQ 库,该库仅是 openwire,因此您需要坚持使用它。作者需要支持 AMQP 作为协议连接器,使用类似 AmqpNetLite 客户端的东西作为支持它的任何消息平台的通用 AMQP 连接器。