修改 src/main/java/io/vertx/book/message/HelloMicroservice.java文件,并更新start方法
import io.vertx.core.AbstractVerticle;
import io.vertx.core.json.JsonObject;
public class HelloMicroservice extends AbstractVerticle {
@Override
public void start() {
// Receive message from the address 'hello'
vertx.eventBus().<String>consumer("hello", message -> {
JsonObject json = new JsonObject()
.put("served-by", this.toString());
// Check whether we have received a payload in the
// incoming message
if (message.body().isEmpty()) {
message.reply(json.put("message", "hello"));
} else {
message.reply(json.put("message", "hello " + message.body()));
}
});
}
}
该代码从vertx对象中检索eventBus,并在"hello"地址中注册一个消费者。当收到一条消息时,它会回复它。根据传入的消息是否有body,我们有两种不同的响应策略。如前一章中的示例所示,我们返回一个JSON对象。您可能想知道为什么我们在JSON中添加了 served-by条目。你很快就会明白的。现在,verticle已经写好了,是时候发布它了:
mvn compile vertx:run \
-Dvertx.runArgs="-cluster -Djava.net.preferIPv4Stack=true"
-cluster告诉Vert.x 以cluster模式启动。
现在让我们编写一个使用此服务的微服务