Spring batch 是否有人尝试实现不受支持的数据库以用于Spring批处理的jobRepository?

Spring batch 是否有人尝试实现不受支持的数据库以用于Spring批处理的jobRepository?,spring-batch,hana,Spring Batch,Hana,Spring批处理不支持我的数据库Sap Hana db。我正在寻找关于如何为SpringBatch的SimpleJobRepository实现我自己的DAO的指南。你以前试过这个吗 我没有包括数据库类型属性,因为根据SpringBatch网站 不包括它将自动搜索数据库类型。我还使用了JobRepositoryFactoryBean 因为数据库不受支持 虽然我很兴奋能为这个编写我自己的实现,也许我能为它做出贡献 spring批处理源代码 我的设置如下: <bean id="jobRe

Spring批处理不支持我的数据库Sap Hana db。我正在寻找关于如何为SpringBatch的SimpleJobRepository实现我自己的DAO的指南。你以前试过这个吗

我没有包括数据库类型属性,因为根据SpringBatch网站 不包括它将自动搜索数据库类型。我还使用了JobRepositoryFactoryBean 因为数据库不受支持

虽然我很兴奋能为这个编写我自己的实现,也许我能为它做出贡献 spring批处理源代码

我的设置如下:

   <bean id="jobRepository"
        class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="transactionManager" ref="transactionManager" />
        <property name="isolationLevelForCreate" value="ISOLATION_DEFAULT" />
        <property name="validateTransactionState" value="false"/>
    </bean> 

SpringBatch 3提供了注入自定义数据库类型的机会。 检查并(而不是让SB从数据源自动检测数据库类型)。

当然,您需要为元数据表的创建创建创建脚本(以blog post为例)

Spring Batch 3提供了注入自定义数据库类型的机会。 检查并(而不是让SB从数据源自动检测数据库类型)。

当然,您需要创建元数据表创建脚本(以blog post为例)

我通过实现我自己的DataFieldMaxValueIncrementerFactory和我自己的DatabaseType来解决上述问题,然后我将这些值自动连接到SimpleJobServerFactory

我通过实现我自己的DataFieldMaxValueIncrementerFactory和我自己的DatabaseType来解决上述问题,然后我将这些值自动连接到SimpleJobServerFactory

你能解释一下你是如何做到的吗?你能解释一下你是如何做到的吗?你能分享代码片段吗?它可能会帮助我更好地理解你能分享代码片段吗?它可能会帮助我更好地理解
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jobRepository' defined in ServletContext resource [/WEB-INF/batch-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: DatabaseType not found for product name: [HDB]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
    ... 59 more
Caused by: java.lang.IllegalArgumentException: DatabaseType not found for product name: [HDB]
    at org.springframework.batch.support.DatabaseType.fromProductName(DatabaseType.java:79)
    at org.springframework.batch.support.DatabaseType.fromMetaData(DatabaseType.java:110)
    at org.springframework.batch.core.repository.support.JobRepositoryFactoryBean.afterPropertiesSet(JobRepositoryFactoryBean.java:182)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
    ... 66 more