2016-01-22 38 views
1

我有一個JSF應用程序,其中有兩個@ViewAccessScoped Bean和兩個頁面/視圖,一個Bean用於搜索Bean上的細節。詳細信息Bean引用@ViewAccessScoped,以便返回搜索時可用的數據。沒有其他CDI參考文獻。 WindowRenderMode是ClientWindowRenderMode.CLIENTWINDOW,沒有進一步的配置。un-scope @ViewAccessScoped Bean在Tab上關閉

目前爲止效果很好。如果我轉到另一個頁面或註銷,Beans將取消範圍。我遇到的一個問題: 當我在新的瀏覽器選項卡中打開我的詳細信息頁面時,會創建兩個新的Bean,這是預期的行爲。但是當我關閉標籤時,豆仍然存在。我猜服務器在選項卡關閉時不會收到通知。

  1. 是否有一個內置的deltaspike解決方案我可以使用檢測 選項卡clsoes?
  2. Beans是否有超時的@ViewAccessScoped(在Session-Timeout旁邊)?
  3. 如果沒有內置解決方案:我如何以編程方式取消我的豆的範圍?最好取消範圍連接到該選項卡中所有的bean(=同一窗口-ID)(我會檢測到接近我自己的JavaScript並調用Bean的法收盤價)

回答