StackOverflowError в Quarkus при внедрении бина

Всем привет. Только начал изучать Quarkus и столкнулся со следующей проблемой. Я пытаюсь внутри одного класса создать бин-метод, который будет в этом же классе будет инжектиться в поле, но при попытки это реализовать вылезает следующая ошибка.

java.lang.StackOverflowError at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:16) at org.acme.FruitResource_ClientProxy.arc$delegate(Unknown Source) at org.acme.FruitResource_ClientProxy.arc_contextualInstance(Unknown Source) at org.acme.FruitResource_ProducerMethod_test1_30971dd21bc0aeb2f7e08afc5f6cd8cedb3b50e0_Bean.create(Unknown Source) at org.acme.FruitResource_ProducerMethod_test1_30971dd21bc0aeb2f7e08afc5f6cd8cedb3b50e0_Bean.get(Unknown Source) at org.acme.FruitResource_ProducerMethod_test1_30971dd21bc0aeb2f7e08afc5f6cd8cedb3b50e0_Bean.get(Unknown Source) at org.acme.FruitResource_Bean.create(Unknown Source) at org.acme.FruitResource_Bean.create(Unknown Source)

Вот оригинальный код:

'''

@ApplicationScoped
public class FruitResource {

    @Inject
    Test test;

    @Produces
    public Test test1() {
        return new Test("test1");
    }

}

public class Test {

    private String name;

    public Test(String name) {
        this.name = name;
    }

    public Test() {
    }

}

'''

Подскажите как обойти подобную проблему, если я хочу сделать, например, конфигурационный класс на подобии следующего:

'''

@Configuration
@EnableScheduling
public class TelegramBotNotifyConfig {

    @Bean(name = "message-service-user")
    public MailService messageService() {
        return new MailServiceImpl(new MailRepositoryList());
    }

    @Bean(name = "unit-pointer-repository-user")
    public UnitPointerRepository unitPointerRepository() {
        return new UnitPointerRepositoryMap();
    }

    @Bean(name = "message-autoresponder-telegram-user")
    public MessageAutoresponderTelegram messageAutoresponderTelegram(
            @Qualifier("start-telegram-bot-user") AnswerCheck checkRegistration,
            @Qualifier("sending-user") Sending sending,
            @Qualifier("message-service-user") MessageService<Mail> messageService,
            @Qualifier("unit-pointer-repository-user") UnitPointerRepository unitPointerRepository
    ) {
        return new MessageAutoresponderTelegram(
                Collections.singleton(checkRegistration),
                sending,
                messageService,
                unitPointerRepository
        );
    }

    @Bean(name = "sending-user")
    public Sending sending(
            @Qualifier("telegram-connect-user") TelegramConnect telegramConnect
    ) {
        return new TelegramSender(telegramConnect);
    }

    @Bean(name = "telegram-connect-user")
    public TelegramConnect telegramConnect(
            @Qualifier("telegram-user-config") TelegramPollingConfig telegramConfig
    ) {
        return new TelegramConnect(telegramConfig);
    }

    @Bean(name = "event-distributor-user")
    public EventDistributor eventDistributor(
            @Qualifier("telegram-connect-user") TelegramConnect telegramConnect,
            @Qualifier("message-service-user") MailService mailService
    ) {
        return new EventDistributorImpl(telegramConnect, mailService);
    }

}'''

Ответы (0 шт):