#spring-cloud #spring-cloud-task
#spring-cloud #spring-cloud-task
Вопрос:
Я пытаюсь настроить сервер SCDF 2.x (Spring Cloud Data Flow) для регистрации приложений Spring Boot (например, типа задач), чтобы использовать готовое администрирование и другие возможности.
При настройке SCDF 2.x пытался подключиться к новой 'dataflow'
схеме в Oracle 11.2 (для реестра заданий), но при запуске dataflow
сервера из командной строки (с Oracle JDBC в classpath) получал ошибку ниже. Любые предложения будут полезны для устранения (поскольку мы привязаны к Oracle как поддерживаемому предприятием.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.license.FlywayEnterpriseUpgradeRequiredException: Flyway Enterprise Edition or Oracle upgrade required: Oracle 11.2 is past regular support by Oracle and no longer supported by Flyway Community Edition, but still supported by Flyway Enterprise Edition. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1762) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
наша версия Oracle — 11.2
Пытался переопределить зависимость flyway в project pom, но выдает менее 5.x NoMethodFoundError
Комментарии:
1. Пожалуйста, кто-нибудь может дать любое предложение, включая разработчиков spring, поскольку это является основным препятствием для нашего перехода на Spring Cloud Dataflow
2. Вы нашли какое-либо решение этой проблемы?
Ответ №1:
наконец-то я продвинулся в решении этой проблемы, в моем случае было достаточно удаления автоконфигурации flyway и загрузки компонента под названием FluentConfiguration. Я создал проект с зависимостями потока данных spring cloud, а затем класс SpringBootApplication с этой конфигурацией:
import org.flywaydb.core.api.configuration.FluentConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration;
import org.springframework.cloud.dataflow.server.EnableDataFlowServer;
import org.springframework.context.annotation.Import;
@SpringBootApplication(exclude = FlywayAutoConfiguration.class)
@EnableDataFlowServer
@Import(FluentConfiguration.class)
public class MyCompanySpringCloudDataflowApplication {
public static void main(String[] args) {
SpringApplication.run(MyCompanySpringCloudDataflowApplication .class, args);
}
}
Я знаю, что это не лучшее решение, но это то, что мне нужно для продвижения.
Конечно, схема базы данных не создается автоматически, вы должны создать ее перед запуском приложения.
Надеюсь, это вам поможет.
Комментарии:
1. неплохо. для тех, кому нужен create sql, вы можете обратиться к github.com/spring-cloud/spring-cloud-dataflow/tree /…