2009-10-27 38 views
1

我想將JSP會話數據存儲在WebLogic服務器中的自定義存儲(我指定的那個存儲)中。是否有任何可以實現的接口或基類,或者我可以編寫的過濾器,我可以通過配置插件並使我可以將會話數據存儲在我的商店中?我已經做了一些初步的搜索,但找不到任何入口點。任何人都知道如何做到這一點。爲Weblogic編寫自定義會話存儲

其實我想使用一個具有良好性能並支持跨多個服務器(不復制)分區數據的存儲。有很多這樣的商店(緩存)可用。所以通過編寫會話存儲提供程序,我可以將會話數據存儲在我的分區(或分區複製)存儲中,並在多個Web服務器之間共享它們。

+0

該文檔沒有提及任何:http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webapp/sessions.html#session-persistence – McDowell 2009-10-27 14:21:31

回答

0

WebLogic沒有公共API來控制會話數據。

如果您願意做大量工作,您可以修改Web應用程序以攔截所有會話調用並將數據存儲在所需位置。有可用的標準API:ServletContextListener,ServletContextAttributeListener,ServletRequestListener,ServletRequestAttributeListener,HttpSessionListener和HttpSessionAttributeListener。你可以在web.xml中註冊你的監聽器。

如果您雄心勃勃,可以編寫代碼來自動測試Web應用程序。 Oracle Coherence Web產品採用這種方法。請參閱此page上的「連貫性 Web安裝程序如何測試Java EE應用程序」一節。它給出了必要步驟的高級描述。

0

我不認爲Weblogic允許你這樣做。據我所知,沒有可公開實現的接口,Weblogic也沒有提供任何鉤子或方法來插入你的實現在persistent session configuration

說實話,我真的好奇你爲什麼要實現自己的持久存儲(這更多的是應用服務器提供者的責任)。我沒有得到你使用現有的implementation之一無法實現的。也許你可以使用文件存儲並設置自定義persistent-store-dir。但實際上,如果沒有關於目標的更多細節,我不確定能否指出正確的方向。

+0

對不起,我應該將它添加到我的題。我已經更新了這個問題。 – ata 2009-10-28 04:53:37