为了配置spring批处理管理UI以使用db2数据库,我引用了管理UI文档,其中“使用系统属性-DENVIRONMENT = [type]启动应用程序。”我明白“ - DENVIRONMENT = db2 ”应保存在某个文件中。我试着保留在 batch-default.properties 文件中,但这不起作用。由于我使用WLP(自由服务器),尝试保留在server.xml文件中,没有帮助。仍然在控制台中我看到来自批处理管理员的env-context.xml文件仍在加载batch-hsql.properties文件(默认配置)。
答案 0 :(得分:0)
不太熟悉liberty服务器,但下面的链接说明需要将系统属性添加到jvm.options文件中。请参阅以下链接:
答案 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名称。
在代码中保留配置可让您自由地将应用程序移动到不同的服务器,而无需先请求服务器特定的配置。