【发布时间】:2019-02-20 17:35:27
【问题描述】:
我一直在使用 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(都被拒绝连接)。
【问题讨论】:
-
查看运行进程的netstat。如果端口已打开,请使用(例如)telnet/curl 来检查 strace 输出以获取错误描述。如果这不能帮助检查在服务器端返回什么错误
acceptsyscall(如果有的话)。