私はWSO2タスクの実行を見てきましたが、タスク実行の簡単なスケジュール(たとえば、cronのようなスケジュールを使用)を設定できるようです。ただし、クラスターでタスクが各ノードで1回ではなく、クラスターごとに1回だけスケジュールされるようにするにはどうすればよいですか?
質問する
1068 次
2 に答える
1
これは、WSO2ESBスケジュールタスクの「pinnedServers」属性を使用して実現できます。
スケジュールされたタスクでは、スケジュールされたタスクを作成するときにpinnedServers属性が表示されます。
このpinnedServers属性の目的は、クラスター化された環境でのスケジュールされたタスクの展開を制限することです。
スケジュールされたタスクを展開するクラスター環境で、WSO2 ESBインスタンスのホスト名のリスト(「、」で区切る)を指定できます。スケジュールされたタスクは、それらのWSO2ESBインスタンスにのみ展開されます。
したがって、この場合、クラスター環境内のWSO2 ESBインスタンスの1つのホスト名を指定でき、スケジュールされたタスクはそのWSO2 ESBインスタンスにのみデプロイされるため、WSO2ESBクラスターごとに1回だけデプロイされます。
WSO2ESBインスタンスのaxis2.xmlの「SynapseConfig.ServerName」パラメーターをそれぞれのホスト名で変更してください。
例えば:
<parameter locked="false" name="SynapseConfig.ServerName">host1.wso2.org</parameter>
よろしくお願いいたします。
ハルシャナ
于 2012-12-01T11:50:17.260 に答える