3.4. 動的な再設定
キャッシュの実行中に「一部」オプションの設定を動的に変更することは、 プログラムを用いて実行しているキャッシュより
Configuration オブジェクトを取得し、 値を変更することでサポートされます。 例は次の通りです。
Configuration liveConfig = cache.getConfiguration();
liveConfig.setLockAcquisitionTimeout(2000);
動的に変更可能なオプションの完全一覧は 「設定ファイルのクイックリファレンス」 の項を参照してください。 動的でない設定を変更しようとすると、
org.jboss.cache.config.ConfigurationException がスローされます。
3.4.1. オプション API より設定をオーバーライドする リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
オプション API は呼び出しごとにキャッシュの特定の動作をオーバーライドできるようにします。 これには、
org.jboss.cache.config.Option のインスタンスを作成します。 Option オブジェクトでオーバーライドしたいオプションを設定し、 キャッシュでメソッドを呼び出す前に InvocationContext へ渡します。
データの読み取り中に書き込みロックを強制する例は次の通りです (トランザクションで使用すると、 データベースの SELECT FOR UPDATE に似たセマンティックを提供します)。
// first start a transaction
cache.getInvocationContext().getOptionOverrides().setForceWriteLock(true);
Node n = cache.getNode(Fqn.fromString("/a/b/c"));
// make changes to the node
// commit transaction
REPL_SYNC キャッシュで put 呼び出しのレプリケーションを抑制する例は次の通りです。
Node node = cache.getChild(Fqn.fromString("/a/b/c"));
cache.getInvocationContext().getOptionOverrides().setLocalOnly(true);
node.put("localCounter", new Integer(2));
使用可能なオプションについては、
Option クラスに関する javadoc を参照してください。