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

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

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

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

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

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

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

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

在POM文件中的引入是

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

 

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

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

 

 根据H2作匹配

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

 

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

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

 

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

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

 

 

 

 

 

上一篇:沈阳java开发工资,附详细答案解析


下一篇:Spring Boot pom文件