Firefox で少し奇妙な動作をする Eclipse RAP アプリケーションがあります - 2 つの異なる問題です。
ブラウズすると、システムの一部にあるボタンをクリックできます。これにより、次のようなポップアップ ウィンドウが開きます。
IWorkbenchBrowserSupport bs;
bs = PlatformUI.getWorkbench().getBrowserSupport();
int style = IWorkbenchBrowserSupport.AS_EXTERNAL;
IWebBrowser b = bs.createBrowser(style, getRandomID(), "Hello world", "");
b.openURL(new URL(...));
ここで、URL はアプリケーション内の別のサーブレットです。このサーブレットは同じランタイムにありますが、RAP とは関係ありません。インメモリ ストレージからバイナリ BLOB を取得し、出力ストリームにダンプします。
問題 1:これにより、Firefox で HTTP セッションが終了し、セッションを再開するためのリンクを含む「セッションの期限切れ」RAP エラー ページが表示されます。
問題 2:リンクをクリックしてセッションを再起動すると、アプリケーションのダイアログが再び表示されますが、何かをした瞬間にセッション期限切れエラーが再び表示されます。これにより、Firefox を完全に終了して再起動しない限り、ユーザーはシステムを再び使用できなくなります。FireBug をざっと見てみると、Firefox から渡された JSESSIONID が変更されていないことがわかります。
誰もこれを見たことがありますか?