Ошибка vertx.executeBlocking - PullRequest
       30

Ошибка vertx.executeBlocking

1 голос
/ 28 февраля 2020

Я новичок в vertx и пытаюсь выполнить функцию 1, используя vertx.executeBlocking от ABCHandler. java

public class ABCHandler implements Handler<RoutingContext> {

public ABCHandler( Vertx vertx)
{this.vertx =vertx;}


@Override
public void handle(RoutingContext routingContext) {

    vertx.executeBlocking(future -> {
            function1(routingContext, as ->
            {
                if (as.failed()) {

                    future.fail(as.cause());
                } else {
                    future.complete(as.result());

                }
            });
        }, rs -> {

            if (rs.failed()) {

                routingContext.response().putHeader(CONTENT_TYPE,
                   "application/json").setStatusCode(Integer.valueOf(401)).end("error");

            } else {
                routingContext.put("key_1", rs.result());
                routingContext.next();
            }
        });
}

}

ABCHandler предназначен для проверки некоторых данных перед запросом направляется на фактический URI. Но после routingContext.next (); Я получаю 500 (Внутренняя ошибка сервера).

 WebClientCreator.getWebClient(vertx);
 Router router = Router.router(vertx);
 router.route().handler(new ABCHandler(vertx));
 router.post(AgentBindingConstants.AGENT_ENROLLMENT_URI).handler(

 BodyHandler.create().setBodyLimit(10000));
    router.post("/abc").handler(routingContext -> {
        //some code
    });

Кроме того, когда я запускаю тот же код, что и неблокирующая, он работает.

Любая помощь здесь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...