Неудовлетворенная зависимость от синтетических бобов во время выполненияJAVA

Программисты JAVA общаются здесь
Anonymous
Неудовлетворенная зависимость от синтетических бобов во время выполнения

Сообщение Anonymous »

Я являюсь участником проекта OpenSource vanillabp, который предоставляет шестиугольную архитектуру для приложений для обработки бизнеса с использованием технологических двигателей. Гексагональная архитектура) из других расширений (идентифицированных с помощью возможностей vanillabp-adapter ), которые специфичны для определенного используемого двигателя процесса. Основываясь на конфигурации и адаптерах, которые приведены бобы, внедряют внедрение порта (в манере шестигранной архитектуры), поэтому основное приложение не нужно знать о деталях реализации механизма процесса. />https://github.com/vanillabp/adapter-pl ... uild-plugi n/Quarkus-Integration/развертывание/SRC/Main/Java/IO/vanillabp/интеграция/развертывание/vanillabpintegrationprocessor.java#L209
Это отлично работает в тестах, но, к сожалению, эти бобы не найдены во время выполнения. Существует Maven Module Main-Integration-test , который регулярно использует расширение
https://github.com/vanillabp/adapter-pl ... ation-test> и на строительстве. Используются бобы, которые оба не найдены): < /p>

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

[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:3.22.3:build (default) on project quarkus-main-integration-test: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]         [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: jakarta.enterprise.inject.spi.DeploymentException: Found 2 deployment problems:
[ERROR] [1] Unsatisfied dependency for type io.vanillabp.spi.process.ProcessService and qualifiers [@Default]
[ERROR]         - injection target: io.vanillabp.integration.test.sample.SampleWorkflowService#processService
[ERROR]         - declared on CLASS bean [types=[io.vanillabp.integration.test.sample.SampleWorkflowService, java.lang.Object], qualifiers=[@Default, @Any], target=io.vanillabp.integration.test.sample.SampleWorkflowService]
[ERROR] [2] Unsatisfied dependency for type io.vanillabp.spi.process.ProcessService and qualifiers [@Default]
[ERROR]         - injection target: io.vanillabp.integration.test.sample2.SampleWorkflowService#processService
[ERROR]         - declared on CLASS bean [types=[java.lang.Object, io.vanillabp.integration.test.sample2.SampleWorkflowService], qualifiers=[@Default, @Any], target=io.vanillabp.integration.test.sample2.SampleWorkflowService]
< /code>
Насколько я могу понять, это кажется проблемой построить этот боб на основе класса Java, не имеющего конструктора по умолчанию. Когда я добавляю конструктор по умолчанию, этот конструктор выполняется. Я использовал CreateEwith, который, как предназначен для того, чтобы использовать для подключения внешних классов в качестве бобов, которые предоставляют только конструкторы, не являющиеся декорациями. />https://github.com/quarkiverse/quarkus-openapi-generator/blob/main/client/runtime/src/main/java/io/quarkiverse/openapi/generator/authenticationRecorder.java#l52br/>  Что осталось? Я пробовал много разных подходов (runtimeValue
и т. Д.) Но не работал. Я не хочу избегать конструкторов без деко-по умолчанию, потому что они необходимы для подключения некоторых данных API-интерфейсов технологических двигателей. Я хочу знать, как справиться с этим правильно. < /P>
Спасибо,
stephan < /p>

Подробнее здесь: https://stackoverflow.com/questions/797 ... at-runtime

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