85.6. DNS アクティベーションポリシー

DnsActivationPolicy を使用して、dns の状態に基づいてルートを動的に開始および停止できます。

異なるリージョンで実行されている同じコンポーネントのインスタンスがある場合、各リージョンでルートを設定して、dns がそのリージョンを指している場合にのみ有効化できます。

つまり、NYC にインスタンスがあり、SFO にインスタンスがあるとします。サービス CNAME service.example.com を nyc-service.example.com を指すように設定して、NYC インスタンスを起動し、SFO インスタンスを停止します。CNAME service.example.com を sfo-service.example.com を指すように変更すると、nyc インスタンスはそのルートを停止し、sfo はそのルートを起動します。これにより、実際のコンポーネントを再起動せずにリージョンを切り替えることができます。

	<bean id="dnsActivationPolicy" class="org.apache.camel.component.dns.policy.DnsActivationPolicy">
		<property name="hostname" value="service.example.com" />
		<property name="resolvesTo" value="nyc-service.example.com" />
		<property name="ttl" value="60000" />
		<property name="stopRoutesOnException" value="false" />
	</bean>

	<route id="routeId" autoStartup="false" routePolicyRef="dnsActivationPolicy">
	</route>