Как добавить кастомный HttpHandler в Thorntail (fka. Wildfly swarm) - PullRequest
0 голосов
/ 12 июня 2018

Я начал использовать Thorntail V4 (www.thorntail.io) (ранее известный как рой диких мух) для создания микросервисов.Да, я знаю, что веб-сайт заявляет это как «доказательство концепции».Корабли с колючим хвостом и откатом (www.undertow.io).

Кто-нибудь знает, как добавить или зарегистрировать пользовательский undertow HttpHandler?

Как получить следующий HttpHandler в цепочке для вызова его в handleRequest ()?

Мой текущий HttpHandler выглядит так:

import io.undertow.server.HttpHandler;
import io.undertow.server.HttpServerExchange;

import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;

@ApplicationScoped
public class MyCustomHttpHandler implements HttpHandler {

    @Inject
    private HttpHandler next; // how do i get the next HttpHandler?

    public MyCustomHttpHandler() {
      System.out.println("MyCustomHttpHandler.java constructed"); // never gets called. How do i register it in Thorntail?
    }

    @Override
    public void handleRequest(HttpServerExchange httpServerExchange) throws Exception {
      // never gets called :/
      System.out.println(String.format("HttpHandler next=%s", next));

      // How do i get next? Is @Inject the way to go?
    }
}

Заранее спасибо.

Кстати.может кто-нибудь добавить тег "колючий хвост"?Мой StackOverflow-Rep не позволяет этого.

1 Ответ

0 голосов
/ 14 июня 2018

Ваш обработчик должен выглядеть следующим образом:

public class MyCustomHttpHandler implements HttpHandler {

    private HttpHandler next;

    public MyCustomHttpHandler(HttpHandler next) {
      this.next = next;
      System.out.println("MyCustomHttpHandler.java constructed"); // never gets called. How do i register it in Thorntail?
    }

    @Override
    public void handleRequest(HttpServerExchange httpServerExchange) throws Exception {
      // never gets called :/
      System.out.println(String.format("HttpHandler next=%s", next));

      // How do i get next? Is @Inject the way to go?
    }
}

Однако на данный момент похоже, что Thorntail v4 не поддерживает произвольное добавление HttpHandlers в цепочку.Не могли бы вы поднять вопрос здесь: https://github.com/thorntail/thorntail/issues

...