可以在不运行spring应用程序的应用程序中设置Spring Session吗?

时间:2015-01-09 14:29:02

标签: spring-session

我们有一个在一个tomcat容器中运行的CMS,它不是一个spring应用程序。我们还有多个应用程序在包含我们的自定义代码(帐户管理,购物车等)的单独tc服务器实例上运行。这些都是spring 4.0.x应用程序,并使用Spring Security进行保护。

我想在所有这些环境之间启用Spring Session。您是否预见到在这样的环境中使用Spring Session会出现任何问题?

1 个答案:

答案 0 :(得分:0)

Spring Session应该适用于那些不是Spring的项目。如果您查看参考文献HttpSession Sample部分中列出的Samples,您会发现它与标准servlet一样正常。

实际上,根据您选择集成的方式,Spring Session根本不需要对Spring进行额外的依赖。例如,Hazelcast sample演示了如何不需要任何Spring依赖项(除了Spring Session本身)。

我预见的可能出现的问题:

  • 如果您的CMS使用会话非常多,那么在每个请求中检索您的会话的IO可能会显着减慢事情
  • SESSION cookie是会话在浏览器中的存储方式,然后传递回应用程序。默认情况下,Spring Session会将其写入包含context root路径的cookie中。这意味着所有应用程序都不会看到SESSION cookie。您可以使用自己的实现自定义它。您可以按照issue 87进行操作,以便在默认情况下使其可用。