2016-10-31 5 views
0

私はルームと家の情報を格納するAuthenticatedWebSessionを持っています。wicketのセッションからイベントを送信するにはどうすればいいですか?

  1. 成分は、すべてのページとコンポーネントは、最終的にこのイベントを受け取る
  2. セッションルームに関連するすべての新しいデータを取得し、(セッション)に格納
  3. (RoomChangedEvent)セッションに横幅イベントを送信しますその後、その一部は(新しいセッションデータに基づいて)状態を更新します。

しかし、ルームの情報を取得している間に、セッションはホームも変更されたことを検出し、他のコンポーネントがその状態を更新するようにHomeChangedEventを送信することを決定します。どうやってやるの ?

答えて

1

他のページの更新は、更新プログラムをブラウザにもプッシュする場合にのみ有効です。そうしないと、すべてのページ(または基本ページ)が、#onConfigure()に新しいセッションがあるかどうかをチェックし、それに応じてそれを更新することができます。

すぐにすべてのページを更新する場合は(サーバプッシュを使用)、Wicket Native WebSocketモジュール(https://ci.apache.org/projects/wicket/guide/7.x/guide/nativewebsockets.html)をご覧ください。 WebSocketRegistry.Holder.get(application).getConnections()を使用すると、開いているWebSocket接続ですべてのアクティブなページを簡単に取得できます。

関連する問題