Quarkus AWS лямбда-функция - CDI не работает в классе обработчика - PullRequest
0 голосов
/ 16 июня 2019

в настоящее время я пытаюсь реализовать лямбда-функцию AWS с quarkus .Проблема в том, что я не могу использовать cdi в своем классе обработчика.Например, если я хочу внедрить класс Greeter (пример выше), он всегда будет нулевым ( внедрение зависимостей здесь не работает с quarkus ).Поэтому я получаю исключение NullPointer на AWS.

NullPointerException на AWS-Lambda-Console:

{
  "errorMessage": "java.lang.NullPointerException",
  "errorType": "java.lang.NullPointerException",
  "stackTrace": [
    "com.aws.vehicles.constructibility.boundary.ConstructibilityLambdaHandler.handleRequest(ConstructibilityLambdaHandler.java:24)",
    "sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)",
    "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
    "java.lang.reflect.Method.invoke(Method.java:498)"
  ]
}

Я использую следующую версию quarkus: <quarkus.version>0.16.1</quarkus.version> (но я также пробовал еес предыдущими версиями)

Код лямбда-обработчика:

public class MyLambdaHandler implements RequestHandler<SimpleRequest, String> {

  private static final Logger LOGGER = Logger.getLogger(MyLambdaHandler.class.getName());

  @Inject
  Greeter greeter;

  @Override
  public String handleRequest(SimpleRequest simpleRequest, Context context) {
    return greeter.sayGoodMorning();
  }
}

Класс greeter - это очень простой класс, аннотированный @ApplicationScoped:

@ApplicationScoped
public class Greeter {

  public String sayGoodMorning(){
    return "good morning, hackers :)";
  }
}

Было бы очень хорошо, если бы кто-нибудь мог меня?

...