配置Spring批处理管理员以使用db2数据库

时间:2017-06-22 22:50:33

标签: spring-batch spring-batch-admin

为了配置spring批处理管理UI以使用db2数据库,我引用了管理UI文档,其中“使用系统属性-DENVIRONMENT = [type]启动应用程序。”我明白“ - DENVIRONMENT = db2 ”应保存在某个文件中。我试着保留在 batch-default.properties 文件中,但这不起作用。由于我使用WLP(自由服务器),尝试保留在server.xml文件中,没有帮助。仍然在控制台中我看到来自批处理管理员的env-context.xml文件仍在加载batch-hsql.properties文件(默认配置)。

2 个答案:

答案 0 :(得分:0)

不太熟悉liberty服务器,但下面的链接说明需要将系统属性添加到jvm.options文件中。请参阅以下链接:

https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_admin_customvars.html

答案 1 :(得分:0)

我的工作是使用Spring Boot编写的,因此我在ENVIRONMENT=db2中添加了属性application.properties,并在与application.properties相同的位置添加了一个新文件 - batch-db2.properties

那里需要很少的强制性属性 - 你需要尝试一下实验,

batch.job.configuration.package=
batch.drop.script=classpath*:/org/springframework/batch/core/schema-drop-db2.sql
batch.schema.script=
batch.business.schema.script=

#Copied from batch.properties of spring-batch-admin-manager API project
batch.jdbc.testWhileIdle=false
batch.jdbc.validationQuery=
batch.data.source.init=false
batch.job.configuration.file.dir=target/config
batch.job.service.reaper.interval=60000
batch.files.upload-dir=/sba/input

我也提供了数据库连接信息但稍后我通过覆盖data-source-context.xml中的文件META-INF\spring\batch\override移动到JNDI,如下所示,

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
     <property name="jndiName" value="ConnectionPool" />
    </bean>


    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
     <property name="dataSource" ref="dataSource" />
    </bean>


</beans>

ConnectionPool是来自服务器的db连接池JNDI名称。

在代码中保留配置可让您自由地将应用程序移动到不同的服务器,而无需先请求服务器特定的配置。