MQ 系列与 vert.x

问题描述 投票:0回答:1

如何使用 qmanager 和通道与较新版本的 vert.x 连接来实现通过 MQ 系列队列发送和接收消息的应用程序?

我希望做这样的事情,但是较新版本的 vert.x mqtt 不允许我这样做。

Vertx vertx = Vertx.vertx();

        // Crear una instancia del cliente MQTT
        MqttClient client = vertx.createMqttClient();

        // Configurar el cliente MQTT
        MqttConnectOptions options = new MqttConnectOptions().setQmanager("my-qmanager").setChannel("my-channel");
        client.connect("tcp://localhost:1883", "my-client-id", "my-password", options, result -> {
            // Procesar el resultado de la conexión
            if (result.succeeded()) {
                // La conexión se realizó correctamente

                // Crear un consumidor para la cola de entrada
                client.subscribe("entrada", qos -> {
                    // Procesar el resultado de la suscripción
                    if (qos.succeeded()) {
                        // La suscripción se realizó correctamente

                        // Registrar un handler para el consumidor
                        client.consumer("entrada", message -> {
                            // Procesar el mensaje recibido
                            System.out.println("Recibido mensaje: " + message.body());
                        });
                    } else {
                        // La suscripción no se realizó correctamente
                        System.err.println("Error al suscribirse a la cola: " + qos.cause());
                    }
                });

                // Crear un productor para la cola de salida
                client.publish("salida", "Hola Mundo", qos -> {
                    // Procesar el resultado de la publicación
                    if (qos.succeeded()) {
                        // La publicación se realizó correctamente
                        System.out.println("Mensaje publicado correctamente");
                    } else {
                        // La publicación no se realizó correctamente
                        System.err.println("Error al publicar el mensaje: " + qos.cause());
                    }
                });
            } else {
                // La conexión no se realizó correctamente
                System.err.println("Error al conectar al broker MQTT: " + result.cause());
            }
        });

        // Ejecutar la aplicación
        vertx.run();
    }
ibm-mq vert.x
1个回答
0
投票

我对 vert.x 一无所知,但是 vert.x 切换到 MQTT v5.0 了吗?

IBM MQ 仅支持 MQTT v3.1.1: https://www.ibm.com/docs/en/ibm-mq/9.3?topic=reference-mq-telemetry-transport-format-protocol

因此,如果有配置或设置参数告诉 vert.x 使用 MQTT v3.1.1 协议,则更改为 MQTT 3.1.1 或仅使用 vert.x 的先前版本

© www.soinside.com 2019 - 2024. All rights reserved.