记录一次Boot整合Batch框架无法连接达梦数据库的问题

2021/6/30 19:50:55

本文主要是介绍记录一次Boot整合Batch框架无法连接达梦数据库的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前提:项目是一个大数据的Java项目,数据库分多个,。这次是要用Boot整合Batch框架

spring-starter-batch的官网地址:https://spring.io/batch

问题源头:SpringBoot整合Batch框架,但是引入的过程中,报以下错误(Database Type not found for product name: [DM DBMS])

分析:因为在整合框架之前,SpringBoot项目连接达梦数据库是正常运行的,而且也没对yml文件改动,所以可以排除一些低级错误。然后开始分析要整合的框架Batch

开始分析源码,Maven地址:https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-batch

顺带说一下,这里是有一个雷的,spring-starter-batch这个Maven包名下载的Jar包和Maven中对应搜索的地址是不同的

在POM文件中的引入是

但是在maven官方去搜的话,搜出来的spring-boot-starter-batch则是这个东西,并不是我们需要的Jar包

通过查看这个的Jar包源文件,只有一个META-INF文件夹,并没有看到其它的源文件

再对比实际下载来的jar包源码,发现却是另一个名字,这才是我们需要引用的jar

然后用IDEA打开,去查看它的源码,然后找到了数据库的枚举类

但是在这里的源码枚举类可以看到,是没有达梦数据库的匹配枚举的。(这就犯难了,写写写,还写锤子写,还整合个锤子整合)

然后开启了各种查询模式,最后在stackoverflow中看到了类似的问题,给出的解析是这样的

 

最后是发现Batch官方是提供一个用户自定义的一种方式去解决类似的问题,那么就开始捣鼓捣鼓吧

如上图所说,如果没有对应的枚举,可以选择一个较为匹配的数据类型,去自定义自己需要的东西,在这里我是选择了H2

 

 

 然后开始编写自定义需要的类

 

 根据H2作匹配

 

 然后其它的配置就不需要改动,改好源码,运行

 

 经过几天的折腾,终于搞定。果然stackoverflow才是YYDS!!!最后附送这句话

 

 

 

 

 



这篇关于记录一次Boot整合Batch框架无法连接达梦数据库的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程