BeanInstantiationException, когда класс расширяется от MicronautRequestHandlerJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 BeanInstantiationException, когда класс расширяется от MicronautRequestHandler

Сообщение Anonymous »

Я рекурсивно получаю сообщение об ошибке ниже, когда он собирается инициализировать компонент, расширяемый из MicronautRequestHandler. Но это не относится к другим обычным bean-компонентам.
Моя упрощенная версия класса Handler, как показано ниже:
(для упрощения я также удалил все внедренные сервисы)

Код: Выделить всё

package org.example;

import com.amazonaws.services.lambda.runtime.events.S3Event;
import io.micronaut.function.aws.MicronautRequestHandler;
import jakarta.inject.Inject;
import jakarta.inject.Singleton;

@Singleton
public class Handler extends MicronautRequestHandler {

@Inject
public Handler() {
// NOP
}

@Override
public Void execute(S3Event input) {
System.out.println("Received S3 event: " + input);
return null;
}
}
Чтобы воссоздать это локально без лямбды, я создал этот основной метод.

Код: Выделить всё

    public static void main(String[] args) {
// Start the Micronaut application context
try (ApplicationContext context = ApplicationContext.run()) {
// Instantiate a regular bean. This works fine!
AnotherBean testBean = context.getBean(AnotherBean.class);

// Instantiate the handler class - error!
Handler handler = context.getBean(Handler.class);
}
}
Я получаю ту же ошибку при развертывании в Lambda и запуске с помощью S3Event.
часть журнала ошибок (повторяется много раз) :

Код: Выделить всё

Path Taken: new Handler()
...  1024 more
Caused by: io.micronaut.context.exceptions.BeanInstantiationException: Bean definition [org.example.Handler] could not be loaded:

Код: Выделить всё

    at org.example.Handler.(Handler.java:12)
at org.example.$Handler$Definition.build(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
at io.micronaut.context.DefaultBeanContext.loadContextScopeBean(DefaultBeanContext.java:2746)
at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1915)
at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:249)
at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:3326)
at io.micronaut.context.DefaultBeanContext.finalizeConfiguration(DefaultBeanContext.java:3684)
at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:341)
at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:194)
at io.micronaut.function.executor.AbstractExecutor.startEnvironment(AbstractExecutor.java:124)
at io.micronaut.function.aws.MicronautRequestHandler.buildApplicationContext(MicronautRequestHandler.java:222)
at io.micronaut.function.aws.MicronautRequestHandler.(MicronautRequestHandler.java:108)
at org.example.Handler.(Handler.java:12)
at org.example.$Handler$Definition.build(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2354)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2305)
at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2251)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3016)
at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80)
at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:2918)
at io.micronaut.context.DefaultBeanContext.loadContextScopeBean(DefaultBeanContext.java:2746)
at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:1915)
at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:249)
at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:3326)
at io.micronaut.context.DefaultBeanContext.finalizeConfiguration(DefaultBeanContext.java:3684)
at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:341)
at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:194)
at io.micronaut.function.executor.AbstractExecutor.startEnvironment(AbstractExecutor.java:124)
at io.micronaut.function.aws.MicronautRequestHandler.buildApplicationContext(MicronautRequestHandler.java:222)
at io.micronaut.function.aws.MicronautRequestHandler.(MicronautRequestHandler.java:108)
at org.example.Handler.(Handler.java:12)

Код: Выделить всё

resolveByBeanFactory()
снова пытается инициализировать конструктор, поэтому он рекурсивно движется по кругу.

Подробнее здесь: https://stackoverflow.com/questions/791 ... esthandler
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»