gpt4 book ai didi

java - 如何解决错误: cannot find symbol message.回复(...); Vertx 点对点

转载 作者:行者123 更新时间:2023-12-02 08:56:24 29 4
gpt4 key购买 nike

我有两个使用 vert.x EventBus 进行通信的 Java 类。

我有一个 Productor.java 类:

package TP1;

import io.vertx.core.AbstractVerticle;
import io.vertx.core.eventbus.EventBus;
import io.vertx.core.json.JsonObject;

public class Productor extends AbstractVerticle
{
public void start() throws Exception
{
System.out.println("> Launching Productor...");

EventBus ebReady = vertx.eventBus();

//Send ready message
ebReady.send("canal-ready", "ready", messageReady -> {

//If Consumer received the ready message
if(messageReady.succeeded())
{
//Parse json response
JsonObject jsonObject = new JsonObject(messageReady.result().body().toString());

//Get answer value
int answerValue = Calcul.factorial(jsonObject.getInteger("param"));

String answer = Integer.toString(answerValue);

messageReady.reply(answer);//ERROR HERE
}
else
System.out.println("> No response!");
});
}
}

和 Consumer.java 类:

package TP1;

import io.vertx.core.AbstractVerticle;
import io.vertx.core.eventbus.EventBus;
import io.vertx.core.json.JsonObject;

public class Consumer extends AbstractVerticle
{
public void start() throws Exception
{
System.out.println("> Launching Consumer...");

String jsonString = "{\"class\":\"Calcul\",\"method\":\"factoriel\",\"param\":5}";
JsonObject jsonObj = new JsonObject(jsonString);

EventBus ebReady = vertx.eventBus();

//Wait for ready message
ebReady.consumer("canal-ready", messageReady -> {

//Parse the ready message
String readyString = messageReady.body().toString();

//Make sure it's the ready message
if(readyString.equals("ready"))
{
//Send json back (messageReady.succeeded())
messageReady.reply(jsonObj, messageReadyReply -> {
System.out.println(messageReadyReply);
});
}
});
}
}

我无法构建 Productor 类,但构建 Consumer 类没有问题。

Productor.java 类中的 messageReady.reply(answer); 部分有什么问题?

最佳答案

在获取消息并对其执行方法之前,您错过了对 result() 的调用(请参阅 here )。但是,您使用的方法在 3.8 版本 ( example ) 中已弃用,并且在 4.0 版本中缺失,因此我建议您改用其他签名。

关于java - 如何解决错误: cannot find symbol message.回复(...); Vertx 点对点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60460690/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com