是否有用戶MongoDB作爲Tomcat6的中央會話存儲?如果是這樣,我們是否可以有一個tomcat服務器集羣讀取來自MongoDB的會話數據,以便可以在不需要粘性會話的情況下對集羣進行大小調整(即時添加更多的框)?Tomcat6的基於MongoDB的會話存儲
回答
的Tomcat/J2EE會話具有getId()
方法,該方法返回當前用戶的會話ID。您當然可以將它用作MongoDB中sessions
集合的關鍵字,並存儲您想要的任何數據。
我不知道有任何預建的工具和Tomcat 6條具體整合,但這並不意味着它們不存在。但是這是一個相當簡單的任務,只需編寫自己的DAO來訪問會話數據,最簡單的方法是給出HttpSession
或HttpServletRequest
。
如果您的會話數據是你保持唯一的共享狀態,然後將它移動到MongoDB中(或任何關閉應用程序服務器的數據庫或工具)將讓您縮放像你求婚。如果您在應用程序服務器上維護了其他狀態,則需要確定如何將其從應用程序服務器移到共享資源上。
確定。我試圖改進這個問題。看一看。 – rreyes1979
更新,希望這有助於。 – dcrosta
我覺得有使用MongoDD存儲會話,只使用Servlet的API函數,沒有專有的應用服務器的功能更好的辦法。
- 所有你需要創建自己的實現的 HttpSession的基礎上storeing Map的第一屬性
- 您需要創建的HttpServletRequest的實現(使用HttpServletRequest的包裝),其覆蓋的getSession法和 返回您的實現
- 您需要創建一個過濾器,取代了給定的HttpRequest對你創建並執行MongoDB的處理加載和存儲屬性映射
你會發現一些代碼樣本(可悲的是在德語)位置:http://mibutec.wordpress.com/2013/09/23/eigenes-session-handling-in-webapplikationen/
- 1. Tomcat6會話
- 2. Jetty/Tomcat加密的基於cookie的會話存儲?
- 3. 在基於cookie的會話存儲中,會話和Cookie是同一件事
- 4. Postgresql存儲過程中基於會話的全局變量?
- 5. Rails 2.3是否支持基於文件的會話存儲?
- 6. Django基於cookie的會話數據存儲在哪裏?
- 7. '陷害'tomcat6丟失會話
- 8. 存儲會話
- 9. 用於清除Rails中基於Cookie的會話存儲的命令
- 10. php:基於cookie的會話
- 11. PHP的會話存儲
- 12. 不能在MongoDB的會話存儲與護照
- 13. Asp.net會話存儲
- 14. rails3會話存儲
- 15. 存儲在會話
- 16. IOS會話存儲
- 17. 會話過期時基於數據庫的基於會話的乾淨數據
- 18. 緩存或存儲會話?
- 19. Kohana 3.1基於環境的Web服務引導和像會話一樣存儲
- 20. 本地存儲和會話存儲
- 21. 會話存儲不存儲數據
- 22. 用於HA文件存儲的MongoDB GridFS
- 23. 笨 - 基於會話數據
- 24. OOP在PHP,基於會話
- 25. nodejs。什麼庫我應該使用會話存儲在MongoDB中
- 26. 如何使用Node.js和mongodb存儲會話值?
- 27. Retrofit/Rxjava和基於會話的服務
- 28. 基於會話值的MVC OutputCache
- 29. 基於會話的表zend框架
- 30. 基於會話的Web服務
你有沒有機會在生產中使用它?對此的任何反饋都非常有幫助。 – ChrisOdney
也期待使用此...是否正確閱讀README中使用此SessionManager不支持聚簇mongo?任何反饋都將不勝感激。 –