我正在尝试设置SCDF 2.x(Spring Cloud Data Flow)服务器,以注册Spring Boot应用程序(例如Tasks类型),以利用现成的管理和其他功能。
在设置SCDF 2.x时,试图连接到Oracle 11.2上的新'dataflow'
模式(用于作业注册表),但是在从命令行启动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
尝试覆盖项目pom中的飞行路线依赖关系,但小于5.x则给出NoMethodFoundError
答案 0 :(得分:0)
最后,我已经解决了这个问题,就我而言,删除飞行路线自动配置并加载名为FluentConfiguration的bean就足够了。我已经创建了一个具有Spring Cloud Dataflow依赖项的项目,然后创建了具有以下配置的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);
}
}
我知道这不是一个很好的解决方案,但是我需要前进。
当然,数据库架构不会自动创建,您必须在运行应用程序之前创建它。
希望这对您有所帮助。