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

     

     
  • 相关阅读:
    ZOJ 3332 Strange Country II
    ZOJ 3331 Process the Tasks(双塔DP)
    ZOJ 3326 An Awful Problem(模拟)
    HDU 1796 How many integers can you find(容斥原理)
    HDU 4059 The Boss on Mars(容斥原理)
    HDU 4135 Co-prime(容斥原理)
    HDU 5677 ztr loves substring(回文串加多重背包)
    CodeForces 668B Little Artem and Dance
    CodeForces 667A Pouring Rain
    Java实现 LeetCode 764 最大加号标志(暴力递推)
  • 原文地址:https://www.cnblogs.com/liaoyuanping-24/p/14956052.html
Copyright © 2011-2022 走看看