首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用vert.x创建路由时,地址已在使用中

使用vert.x创建路由时,地址已在使用中
EN

Stack Overflow用户
提问于 2018-03-23 01:41:03
回答 2查看 1.1K关注 0票数 2

在下面的代码中,我使用vert.x创建了一个路由

代码语言:javascript
复制
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();
    }
}

但是,当我再次尝试执行代码时,日志是

代码语言:javascript
复制
java.net.BindException: Address already in use

如果使用这个端口,我想停止占用这个端口的进程,然后执行代码。有什么方法可以实现这个目标吗?

我希望你能提供一个简单的例子。

EN

回答 2

Stack Overflow用户

发布于 2018-03-27 06:38:55

你的代码绝对没问题。请终止所有java进程或重新启动计算机,然后重试。它应该工作得很好。只有一个导入缺失,我补充了这一点。

代码语言:javascript
复制
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);
}

}

票数 1
EN

Stack Overflow用户

发布于 2020-04-05 10:29:08

您需要终止端口:

对于ubuntu:

代码语言:javascript
复制
sudo kill $(sudo lsof -t -i:8081)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49435191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档