使用Spring Cloud Data Flow 2.0.1时出现Oracle 11.2不支持的错误

时间:2019-03-28 14:17:40

标签: spring-cloud spring-cloud-task

我正在尝试设置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

1 个答案:

答案 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);
    }

}

我知道这不是一个很好的解决方案,但是我需要前进。

当然,数据库架构不会自动创建,您必须在运行应用程序之前创建它。

希望这对您有所帮助。