postgresql-9.3 - 使用 Postgresq 的 Spring Cloud 数据流
问题描述
我安装了scdf,我可以通过url和shell正确访问它。问题是,一旦我重新启动系统,我就失去了所做的一切(看到了基础 H2 的使用)。当我尝试按如下方式使用 Postgresql 时:
java -Dloader.path=lib -jar spring-cloud-dataflow-server-2.2.1.RELEASE.jar \
--spring.datasource.url=jdbc:postgresql://localhost:5432 / test \
--spring.datasource.username=postgres \
--spring.datasource.password=root \
--spring.datasource.driver-class-name=org.postgresql.Driver &. I have the following error:
[ main] ConfigServletWebServerApplicationContext : Exception encountered during context
initialization - cancelling refresh attempt:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway'
defined in class path resource
[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]:
Bean instantiation via factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is
java.lang.RuntimeException: Driver org.postgresql.Driver claims to not accept jdbcUrl,
jdbc:postgresql://localhost:5432
2019-11-20 13:38:54.610 INFO 29707 --- [ main] o.apache.catalina.core.StandardService
: Stopping service [Tomcat]
2019-11-20 13:38:54.640 ERROR 29707 --- [ main] o.s.boot.SpringApplication
: Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway'
defined in class path resource
[org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]:
Bean instantiation via factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to instantiate
[org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is
java.lang.RuntimeException: Driver org.postgresql.Driver claims to not accept jdbcUrl,
jdbc:postgresql://localhost:5432
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:456)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1321)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:307)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:742)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:389)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:311)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
at org.springframework.cloud.dataflow.server.single.DataFlowServerApplication.main(DataFlowServerApplication.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:47)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:86)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate
[org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception; nested exception is
java.lang.RuntimeException: Driver org.postgresql.Driver claims to not accept jdbcUrl,
jdbc:postgresql://localhost:5432
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622)
... 29 common frames omitted
Caused by: java.lang.RuntimeException: Driver org.postgresql.Driver claims to not accept jdbcUrl, jdbc:postgresql://localhost:5432
at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:108)
at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:336)
at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:109)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:108)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
at com.zaxxer.hikari.HikariDataSource$$FastClassBySpringCGLIB$$eeb1ae86.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at com.zaxxer.hikari.HikariDataSource$$EnhancerBySpringCGLIB$$d16b7abf.getConnection(<generated>)
at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:157)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:319)
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:356)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$LocationResolver.getDatabaseDriver(FlywayAutoConfiguration.java:395)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$LocationResolver.resolveLocations(FlywayAutoConfiguration.java:378)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$LocationResolver.resolveLocations(FlywayAutoConfiguration.java:373)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration.configureProperties(FlywayAutoConfiguration.java:192)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration.flyway(FlywayAutoConfiguration.java:150)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration$$EnhancerBySpringCGLIB$$1bc90f93.CGLIB$flyway$1(<generated>)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration$$EnhancerBySpringCGLIB$$1bc90f93$$FastClassBySpringCGLIB$$61f0455.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
at org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration$FlywayConfiguration$$EnhancerBySpringCGLIB$$1bc90f93.flyway(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 30 common frames omitted
你能帮我吗!
解决方案
似乎根本原因指向:
驱动 org.postgresql.Driver 声称不接受 jdbcUrl, jdbc:postgresql://localhost:5432
我注意到它的价值部分有一个明显的东西。/ test
在数据库模式 [ee: ]之前和之后似乎有一个“空格” 。您可能想尝试如下:
java -Dloader.path=lib -jar spring-cloud-dataflow-server-2.2.1.RELEASE.jar \
--spring.datasource.url=jdbc:postgresql://localhost:5432/test \
--spring.datasource.username=postgres \
--spring.datasource.password=root \
--spring.datasource.driver-class-name=org.postgresql.Driver
除此之外,我认为您的属性中没有任何错误,但我看到有些人成功地引用了双引号中的值 [参见:示例]。
也许您也可以尝试:
--spring.datasource.url="jdbc:postgresql://localhost:5432/test"
推荐阅读
- r - 取数据框中三行的平均值并在忽略缺失值的情况下找到平均值
- gitlab - .gitlab-ci.yml 如何修复这个配置更好 *gitlab-tunner without docker"
- python - 从 pandas.dtypes.to_dict() 中剥离 dtype 的任何简单方法?
- git - Satis - 文件协议库
- asp.net-core - IFormfile 不发送最新文件
- qt - 我应该如何在 Pyside6 应用程序中使用 Material Design?
- node.js - 尝试使用请求登录 Nike
- angularjs - 如何访问控制器 $init 函数内的 AngularJs 组件 templateUrl 变量?
- python - 如何让一组代码运行一定次数?
- mongodb - 操作数据并加入 mongodb