私たちのアプリケーションは wicket 1.5.2 を使用しており、これまで ajax を使用してかなりの数のページを作成してきたため、ページはステートフルになっています。ログで NotSerializableException [NSE] に気付きましたが、実際には機能を壊していないため無視しました。現在、複数のタブ/ウィンドウのシナリオで ajax の問題に気付き始めています。
いくつかの ajax ビヘイビアーとページ B を含むページ A があるとします。ページ A をロードし、リンクを右クリックして、新しいタブでページ B を開きました。ページ A の ajax リンクをクリックすると、同じページ [A] を再描画しようとします。デバッグしようとすると、ページ ID に基づいてページをルックアップしようとしていることに気付きました。同じものがページ ストアに存在しないため [ページが保存されていないために NSE があったことを思い出してください]、新しいインスタンスを作成します。ページと同じものを再描画します。
シリアライゼーションを成功させることが正しいことだとわかっていますが、実装されたすべてのコンポーネントを再検討してこれらの問題を確実に修正する必要があるため、これには時間がかかります。これに対する他の迅速で(やや)良い解決策はありますか?
もう 1 つのオプションは、ステートレス ajax コンポーネントを使用してページをステートレスにすることです [Jolira?] - どのように公正になるかはわかりませんが、試してみます。その間、誰かがこの問題を回避した場合は、お知らせください。