つまり、タイトルがすべてを物語っています。単一サーバーの ColdFusion インストールから複数サーバーの ColdFusion インストールに切り替えているのですが、アプリケーション名を設定するとセッション レプリケーションが機能しません。
これは、セッションを正常に複製しない単純な application.cfc です。
component
{
this.name = 'myTestApp';
this.sessionManagement = true;
this.sessionTimeout = createTimeSpan(0,2,0,0);
}
アプリケーション名をコメントアウトするとすぐに、サーバー間でセッション複製が完全に機能します。
このアドビのヘルプページは、問題を接線で参照していると思います。
Application.cfc 初期化コードの This.name 変数でアプリケーション名を指定しない場合、または ColdFusion cfapplication タグを使用してアプリケーション名を指定しない場合、アプリケーションは無名になり、Application スコープは ColdFusion J2EE サーブレット コンテキストに対応します。したがって、ColdFusion は名前のない単一のアプリケーションのみをサポートします。
複数の cfapplication タグと Application.cfc ファイルでアプリケーション名が指定されていない場合、これらのアプリケーションのすべてのページは、アプリケーション スコープとしてサーブレット コンテキストを共有します。名前のないアプリケーションのすべてのセッションは、J2EE アプリケーション サーバーのセッション オブジェクトに直接対応します。(J2EE セッション変数を使用しない場合、ColdFusion は、J2EE セッションが少なくともセッション タイムアウトまで持続することを保証します。)"
の使用をやめるのがベスト プラクティスと見なされていないことは明らかapplication.name
です。しかし、名前付きアプリケーションを使用するときにサーバーがセッションを使用できるようにするにはどうすればよいでしょうか? アプリケーション名を J2EE/JRun サーブレット コンテキストに登録する方法はありますか? サーバー上で実行している CF アプリケーションごとに個別のインスタンス クラスターをセットアップするのは好ましくありません。スケーラブルなソリューションとは思えません。
Java の第一人者ではなく、おそらくここで非常に単純なものが欠けているように感じますが、ヒントをいただければ幸いです。