2012-05-29 46 views
1

我在Glassfish 3.1.2上運行RichFaces 4.2.2時使用JSF 2.0。我已經創建了一個本地無狀態會話bean,其中包含一個將由JSF託管bean調用的長時間運行的方法。從長時間運行的會話bean方法返回狀態

我希望能夠將狀態信息從會話bean推回到託管bean,以便我可以使用類似RichFaces a4j的東西:push來獲取瀏覽器的狀態。我相信這會要求對會話bean方法的調用是異步的。會話Bean處理方法調用時,是否存在將會話Bean中的信息推回到前端的模式?

回答

0

國家會話bean(SLSB)不應該持有任何狀態(讀:這是由方法改變實例變量),因爲它們都是客戶之間的共享應用程序範圍。所以如果你需要一個會話bean,並且你可以在這個過程中更新並且客戶端可以隨時請求,那麼它們對你來說是沒用的。您需要一個狀態ful會話bean(SFSB)。如果您將SFSB注入到會話範圍內的JSF託管bean中,那麼您將能夠從它請求適當的狀態,並在整個HTTP會話中將其推送到客戶端。

要更好地理解SLSB和SFSB之間的區別,您可能會發現此答案有幫助:JSF request scoped bean keeps recreating new Stateful session beans on every request?

相關問題