我一直在使用java教程开发服务,并通过localhost:8082收听它。它运行得很好,但是因为我关闭了计算机,它在我尝试收听它时返回错误连接被拒绝,并且唯一呈现不同响应的端口是8080和8081,当我尝试时会得到相同的错误通过他们听取服务。这是代码
package io.vertx.book.message;
import io.vertx.core.json.JsonObject;
import io.vertx.rxjava.core.AbstractVerticle;
import io.vertx.rxjava.core.eventbus.Message;
import rx.Single;
public class HelloConsumerMicroservice extends AbstractVerticle {
@Override
public void start() {
vertx.createHttpServer()
.requestHandler(
req -> {
Single<JsonObject> obs1 = vertx.eventBus()
.<JsonObject>rxSend("hello", "Luke")
.map(Message::body);
Single<JsonObject> obs2 = vertx.eventBus()
.<JsonObject>rxSend("hello", "Leia")
.map(Message::body);
Single
.zip(obs1, obs2, (luke, leia) ->
new JsonObject()
.put("Luke", luke.getString("message")
+ " from " + luke.getString("served-by"))
.put("Leia", leia.getString("message")
+ " from " + leia.getString("served-by"))
)
.subscribe(
x -> req.response().end(x.encodePrettily()),
t -> req.response().setStatusCode(500).end(t.getMessage())
);
})
.listen(8082);
}
}
我不知道它为什么停止工作,但我已经浏览了很多答案,并且已经尝试清理我的缓存,但没有改进。有人可以帮忙吗?
我正在使用Linux 18.04,chrome / firefox(两者都被连接拒绝)。
当您使用Ubuntu时,可能是您的防火墙不允许连接到该端口。
打开终端并输入
sudo ufw allow 8082
希望这会有所帮助
在某种程度上扼杀所有东西并重新启动机器之后,一切都恢复正常,所以...不知道发生了什么,但现在没事了......它可能已被其他东西使用了。不管怎样,谢谢你的帮助!