问题:未能使用CommandLineJobRunner执行春季批处理作业,其中应用程序定义了自己的数据源和Hibernate配置。
错误消息(提取) org.springframework.boot.autoconfigure.orm.jpa.DatabaseLookup org.springframework.jdbc.support.MetaDataAccessException: DatabaseLookup getDatabase getDatabase无法获得用于提取元数据的连接;嵌套异常是org.springframework.jdbc.CannotGetJdbcConnectionException:无法获得JDBC连接;嵌套异常是org.apache.commons.dbcp.SQLNestedException:无法创建PoolableConnectionFactory .由:org.hibernate.HibernateException引起:当“hibernate.dialect”未设置时,对DialectResolutionInfo的访问不能为null
关于批处理作业:- SCDF是使用从spring站点下载的docker-compose.yml运行的。-许多/config下的属性文件被内置到jar中,包括定义/config的Hibernate配置文件--应用程序使用下面的属性定义了自己的数据源
qre.data.driverClassName=org.mariadb.jdbc.Driver
qre.data.url=jdbc:mysql://127.0.0.1:3306/dataflow
qre.data.username=root
qre.data.password=rootpw试图搜索SCDF参考指南,但还找不到任何有用的东西。任何帮助都会被接受。
发布于 2019-12-16 10:49:03
我不知道为什么您的应用程序试图覆盖hibernate方言属性,因为批处理应用程序仍然需要使用SCDF的数据源。可以使用属性spring.jpa.properties.hibernate.dialect重写SCDF服务器的hibernate方言。您可以在文档中看到这些示例中的一些这里。
发布于 2019-12-17 00:20:28
在对配置进行了一些更改之后,我相信JDBC url没有正确配置。将其更改为与docker-compose.yml中相同的值,
- SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/dataflow
- SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver然后可以成功地运行作业。
https://stackoverflow.com/questions/59351565
复制相似问题