在下面的代码中,我使用vert.x创建了一个路由
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import io.vertx.ext.web.Router;
import java.util.function.Consumer;
public class VerticleMain extends AbstractVerticle {
@Override
public void start() throws Exception {
Router router = Router.router(vertx);
router.route().handler(routingContext -> {
routingContext.response()
.putHeader("content-type","text/html;charset=UTF-8")
.end("people");
});
vertx.createHttpServer().requestHandler(router::accept).listen(8181);
}
public static void deployVertx() {
String verticleId = VerticleMain.class.getName();
VertxOptions options = new VertxOptions();
Consumer<Vertx> runner = vertxStart -> {
vertxStart.deployVerticle(verticleId);
};
Vertx vertx = Vertx.vertx(options);
runner.accept(vertx);
}
public static void main(String[] args) {
VerticleMain.deployVertx();
}
}但是,当我再次尝试执行代码时,日志是
java.net.BindException: Address already in use如果使用这个端口,我想停止占用这个端口的进程,然后执行代码。有什么方法可以实现这个目标吗?
我希望你能提供一个简单的例子。
发布于 2018-03-27 06:38:55
你的代码绝对没问题。请终止所有java进程或重新启动计算机,然后重试。它应该工作得很好。只有一个导入缺失,我补充了这一点。
package com.americanexpress.digitalpayments.pipe;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;
import io.vertx.ext.web.Router;
import java.util.function.Consumer;
public class VerticleMain extends AbstractVerticle {
public static void deployVertx() {
String verticleId = VerticleMain.class.getName();
VertxOptions options = new VertxOptions();
Consumer<Vertx> runner = vertxStart -> {
vertxStart.deployVerticle(verticleId);
};
Vertx vertx = Vertx.vertx(options);
runner.accept(vertx);
}
public static void main(String[] args) {
VerticleMain.deployVertx();
}
@Override
public void start() throws Exception {
Router router = Router.router(vertx);
router.route().handler(routingContext -> {
routingContext.response()
.putHeader("content-type", "text/html;charset=UTF-8")
.end("people");
});
vertx.createHttpServer().requestHandler(router::accept).listen(8181);
}}
发布于 2020-04-05 10:29:08
您需要终止端口:
对于ubuntu:
sudo kill $(sudo lsof -t -i:8081)https://stackoverflow.com/questions/49435191
复制相似问题