AWS AMQP+ SSL与VERTX连接

发布于 2025-01-19 12:25:28 字数 1179 浏览 3 评论 0原文

我正在尝试将服务与我本地的ActiveMQ连接,我正在尝试使用此连接:

fun start(vertx: Vertx, address: String): Single<MQServerConnection> {
    val options: AmqpClientOptions = AmqpClientOptions()
        .setHost("localhost")
        .setPort(5672)
    logger.info("ACTIVE_MQ_PROVIDER_STARTING_IN_THREAD_[" + Thread.currentThread().name + "]")

    return AmqpClient.create(vertx, options).rxConnect().flatMap { amqpConnection ->
        amqpConnection.rxCreateAnonymousSender().flatMap { responseSender ->
            amqpConnection.rxCreateReceiver(address).map { receiver ->
                MQServerConnection(amqpConnection, responseSender, receiver)
            }
        }
    }
}

在哪里

data class MQServerConnection(
    val amqpConnection: AmqpConnection,
    val amqpSender: AmqpSender,
    val amqpReceiver: AmqpReceiver
)

工作正常。

现在,我正在尝试使用AWS服务,但是它返回我:

failover:(amqp+ssl://b-4eb4c78c-048b-436c-941e-31250830323e-1.mq.us-east-1.amazonaws.com:5671,amqp+ssl://b-4eb4c78c-048b-436c-941e-31250830323e-2.mq.us-east-1.amazonaws.com:5671)

我不知道如何发送主机而不是Localhost

并登上端口。

问候

I am trying to connect a service with activemQ in my local i am trying with this connection:

fun start(vertx: Vertx, address: String): Single<MQServerConnection> {
    val options: AmqpClientOptions = AmqpClientOptions()
        .setHost("localhost")
        .setPort(5672)
    logger.info("ACTIVE_MQ_PROVIDER_STARTING_IN_THREAD_[" + Thread.currentThread().name + "]")

    return AmqpClient.create(vertx, options).rxConnect().flatMap { amqpConnection ->
        amqpConnection.rxCreateAnonymousSender().flatMap { responseSender ->
            amqpConnection.rxCreateReceiver(address).map { receiver ->
                MQServerConnection(amqpConnection, responseSender, receiver)
            }
        }
    }
}

where

data class MQServerConnection(
    val amqpConnection: AmqpConnection,
    val amqpSender: AmqpSender,
    val amqpReceiver: AmqpReceiver
)

And it works fine.

Now i am trying to use the AWS service, but it returns to me:

failover:(amqp+ssl://b-4eb4c78c-048b-436c-941e-31250830323e-1.mq.us-east-1.amazonaws.com:5671,amqp+ssl://b-4eb4c78c-048b-436c-941e-31250830323e-2.mq.us-east-1.amazonaws.com:5671)

I don't know how to send the HOST instead of localhost

and insted of port.

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏の忆 2025-01-26 12:25:28

AmqpClientOptions 的 ssl 属性对于 AMQPS 必须为 true,即

val options: AmqpClientOptions = AmqpClientOptions()
    .setHost("b-4eb4c78c-048b-436c-941e-31250830323e-1.mq.us-east-1.amazonaws.com")
    .setPort(5671)
    .setSsl(true)
    .setUsername("admin")
    .setPassword("admin")
    //This is required only if the AWS service uses a self-signed certificate
    .setTrustAll(true)
    //This is required only if the AWS service uses a certificate with a CN that doesn't match the hostname
    .setHostnameVerificationAlgorithm("")

The ssl property of AmqpClientOptions has to be true for AMQPS, i.e.

val options: AmqpClientOptions = AmqpClientOptions()
    .setHost("b-4eb4c78c-048b-436c-941e-31250830323e-1.mq.us-east-1.amazonaws.com")
    .setPort(5671)
    .setSsl(true)
    .setUsername("admin")
    .setPassword("admin")
    //This is required only if the AWS service uses a self-signed certificate
    .setTrustAll(true)
    //This is required only if the AWS service uses a certificate with a CN that doesn't match the hostname
    .setHostnameVerificationAlgorithm("")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文