当前位置: 首页 > 知识库问答 >
问题:

Vertx Java客户端在连接solace vmr服务器时引发“SMF AD绑定响应错误”

孙玺
2023-03-14
public class Sender extends AbstractVerticle {

    private int count = 1;

    // Convenience method so you can run it in your IDE
    public static void main(String[] args) {
        Runner.runExample(Sender.class);
    }

    @Override
    public void start() throws Exception {
    AmqpBridge bridge = AmqpBridge.create(vertx);

    // Start the bridge, then use the event loop thread to process things thereafter.
    bridge.start("13.229.207.85", 21196,"UserName" ,"Password", res -> {
        if(!res.succeeded()) {
            System.out.println("Bridge startup failed: " + res.cause());
            return;
        }

        // Set up a producer using the bridge, send a message with it.
        MessageProducer<JsonObject> producer = 
            bridge.createProducer("T/GettingStarted/pubsub");

        // Schedule sending of a message every second
        System.out.println("Producer created, scheduling sends.");
        vertx.setPeriodic(1000, v -> {
            JsonObject amqpMsgPayload = new JsonObject();

            amqpMsgPayload.put(AmqpConstants.BODY, "myStringContent" + count);
            producer.send(amqpMsgPayload);

            System.out.println("Sent message: " + count++);
        });
    });
}

网桥启动失败:io.vertx.core.impl.nostackTraceThrowable:错误{condition=amqp:not-found,description='SMF AD bind response Error',info={solace.response_code=503,solace.response_text=unknown Queue}}2018年4月27日下午3:07:29 io.vertx.proton.impl.protonsessionimpl警告:接收器关闭,错误io.vertx.core.impl.nostackTraceThrowable:错误{

我已经创建队列和主题正确在solace VMR,但不能发送/接收消息。我是否缺少任何来自solace VMR服务器端的配置?上面的Vertx Sender Java代码中是否需要任何代码更改?我在传递消息时得到了上面的错误跟踪。有人能帮忙吗?

Vertx AMQP Bridge Java客户端:https://Vertx.io/docs/vertx-amqp-bridge/Java/

共有1个答案

包阳成
2023-03-14

您可能会遇到此错误有几个不同的原因。

可能是客户端没有被授权发布有保证的消息。要解决这个问题,您需要在Solace路由器端的客户端配置文件中启用“保证endpoint创建”。

也可能是应用程序正在使用应答处理。Solace路由器目前不支持此功能。对此的支持将在Solace VMR的8.11版本中添加。解决办法是将ReplyHandlingSupport设置为false。

AmqpBridgeOptions().setReplyHandlingSupport(false);
 类似资料:
  • 当我试图连接solace VMR服务器并从名为Vertx AMQP桥的Java客户端传递消息时。 我可以连接到VMR的服务器,但连接后,无法发送消息到VMR。我正在使用下面来自vertx客户端的发送者代码。 } 我收到以下错误: 桥接器启动失败:io.vertx.core.impl.NoStackTraceThrowable:错误{条件=amqp:未找到,描述='SMF AD绑定响应错误',信息=

  • 我有一个示例Spring启动应用程序来运行图形QL服务器,具有作为客户端,我的pom有以下依赖项: 当我尝试从客户端连接时,出现以下错误: 狩猎决议好心建议。 我还有几个问题: 我应该使用SimpleGraphQLHttpServlet将请求路由到endpoint吗 我正在React UI上使用apollo client,那么它是强制使用apollo server还是spring boot可以工作

  • 客户端应用程序在以下代码处挂起:

  • 当我尝试使用套接字将物理设备连接到服务器时,我遇到了一个问题。在服务器端,它似乎不接受任何连接,而在客户端,套接字超时。你知道为什么会这样吗? 我在下面提供我的代码 服务器代码: 客户端: 11-16 23:32:11.016:W/系统。错误(24213):java.net。ConnectException:无法连接到/192.168.1.116(端口9090):连接失败:ETIMEDOUT(连接

  • 我正在学习一些基本的java网络知识,我试图让我学到的东西变成现实,所以当我在同一台计算机上运行我的服务器和客户端类时,它运行时没有错误,但是当我将客户端项目带到另一台计算机并运行项目运行服务器后,它冻结并打印连接超时语句。 这是我的服务器代码 这是我的客户

  • 我收到连接重置错误,代码如下。到底是什么原因导致了连接重置?这是因为我试图忽略SSL证书验证的方式吗? 堆栈跟踪 java.net.SocketExcema:连接重置java.net.SocketInputStream.read(SocketInputStream.java:179)com.ibm.jsse2. a. a(a.java:148)com.ibm.jsse2. a. a(a.java:

  • 我正在使用和NIO通道编写一个简单的NIO服务器。每次我有一个传入连接,我都使用以下代码向选择器注册它: 在客户端,因为我只有一个socketChannel,所以很容易关闭通道并使用选择器取消注册。然而,在服务器端,我所做的只是等待任何连接过的客户端(可能有数千个)的写操作。有什么方法可以检测到客户端已在服务器端断开连接?例如,10K连接后,选择器似乎会变得非常低效,其中大多数可能会在短时间内失效

  • 我有一个react本机应用程序,它使用与。NET Core2.1通信的signalR。 套接字连接没有任何错误。一切都很好。但是服务器不能响应客户端的ping消息,并返回504给客户端。当返回504时,客户端的连接关闭。在hubconnection.onclose()处理。然后客户端需要重新连接。 proxy_read_timeout可以设置为高毫秒。但很乱。 所以我不能在客户机上有效地使用kee