zoukankan      html  css  js  c++  java
  • 记录一次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!!!最后附送这句话

    Stackoverflow参考地址:https://stackoverflow.com/questions/52621792/initialise-h2-database-for-spring-batch-application

     

     
  • 相关阅读:
    Django的中间件
    Django的Models(三)
    多个SSH key对应多个Host: Github, Bitbucket
    最简单的私有库方法
    Swift compile slow 编译慢问题
    Hide Xcode8 strange log.
    cocoapods 终极方案
    "Mac OS X"想要进行更改。键入管理员的名称和密码以允许执行此操作("Mac OS X"想使用系统钥匙串)
    Xcode7下载地址
    Xcode8安装不成功, 需要升级系统. The operation couldn't be completed. cpio read error
  • 原文地址:https://www.cnblogs.com/liaoyuanping-24/p/14956052.html
Copyright © 2011-2022 走看看