Guava の EventBus をかなり多用するように Swing アプリケーションをリファクタリングしています。Swing アプリケーションは基本的に決定プロセスを実行し、大量の結果を JFrame に表示し、JFrame が閉じられると破棄されます。また、EventBus にもサブスクライブして、データのユーザー操作を処理します。
私の質問はこれです。EventBus が閉じられると、JFrame とそのすべての内部参照 (すべてのモデル データを含む) への参照が保持されるのではないかと心配しています。ガベージ コレクションがデータと基になるモデルを解放できるように、EventBus からサブスクライブを解除するために WindowListener を追加するだけで十分ですか? それとも、これは私が心配する必要のないものですか?