私は春のバッチアプリケーションを持っています。アプリケーションのcontext.xmlでプログラムでXMLで値を変更する方法
:database.xmlで
<!-- stored job-meta in database - H2 -->
<bean id="jobRepository"
class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean">
<property name="dataSource" ref="dataSourceMetaData" />
<property name="transactionManager" ref="transactionManager" />
<property name="databaseType" value="h2" />
</bean>
:スプリングのバッチジョブのメタデータを格納するために使用されるデータベースは、次のように構成されている
<!-- configure H2 database connection -->
<bean id="dataSourceMetaData"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.h2.Driver" />
<property name="url" value="jdbc:h2:~/metaDataProd" />
</bean>
これで、アプリケーションは複数のインスタンスで同じ環境で実行できます.1つのインスタンスはprod &の1つのインスタンスです。だから私は両方のインスタンスが同じdbにアクセスしないようにvalue="jdbc:h2:~/metaDataProd
を設定する必要があります。
私は設定ファイルから値を生成すると簡単に行うことができます。しかし、私はこれを行うための自動方法があるかどうか疑問に思っています。例:アプリケーションインスタンスが、その後開始されるとDATEVALUEは、あなたがPropertySourcesPlaceholderConfigurerを使用して、環境変数、外部のプロパティファイルまたは同様のように、さまざまなソースからの値を初期化することができ、このvalue="jdbc:h2:~/metaData2Jul
value="jdbc:h2:~/metaData4Jul
あなたは今仕事を開始していますか? –
ジョブはシェフを使用して配備されています。現在、私は 'value =" $ {url} "'を入れて、環境ごとにプロパティファイルにurl値を変更するという手作業でアプローチしています。私はそれを自動化したい。 – Ajit
シェフから春のバッチにparamを渡すことはできますか? –