プロパティ ファイルにキー (値を持つ) を動的にロードしようとしています。これがやろうとしていることです。2 つのアプリ サーバー A と B があります。また、両方のサーバーで 1 時間ごとに実行される Quartz ジョブがあり、いくつかの問題が発生しています。これを解決するには、プロパティ ファイルにサーバー名 (serverA、serverB など) のキーを設定し、クォーツ スケジュールを cronbean に渡すときに (Spring xml で) 渡す必要がある値 (これはからのキーです)プロパティ ファイル) は動的である必要があります。つまり、ホスト名がサーバー A の場合、サーバー A の値はプロパティ ファイルから読み込まれ、サーバー B と同じである必要があります。以下はスニペットです -
**application-host.xml - Initialized hostname in spring context**
<bean id="hostname" factory-bean="localhost" factory-method="getHostName"/>
<bean id="localhost" class="java.net.InetAddress" factory-method="getLocalHost"/>
**application-quartz.xml - Place where am loading the quartz schedule**
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="job" />
<property name="cronExpression" value="${ serverA / serverB }" /> ** THIS IS WHERE I WANT TO SET OR LOAD PROPERTIES FROM THE FILE, BASED ON THE HOST NAME.
</bean>
**env-test.properties**
serverA = 0 0 3 * * ?
serverB = 0 0 5 * * ?
アプリ サーバーを起動する前にプロパティ ファイルを別のスケジュールで更新するなど、他の方法は知っていましたが、展開プロセス中に見逃す可能性があるため、これは少し危険です。より良い解決策を見つけるのを手伝ってくれるか、これに答えていただければ幸いです。
ありがとう、シリッシュ。