如何在Scalatra中使会话持久化?

时间:2015-01-12 22:24:25

标签: scala tomcat servlets jetty scalatra

我有一个使用基于Scala的Scalatra Web框架的webapp。问题是,无论何时重新部署应用程序,或者重新启动应用程序服务器,所有会话数据都将丢失。这意味着(仅举一个缺点)用户每次我们对网站进行更新时都必须重新登录。

一些研究显示,显然,“容器特定”的方式可以使应用程序和服务器重新启动会话(例如in the case of Tomcat),但这有两个缺点:

  1. 如果应用程序并非总是部署在同一容器中(对于Scalatra,嵌入式Jetty用于开发目的),那么我需要为每个容器单独配置。

    < / LI>
  2. 使用服务器本地配置文件更加变幻无常 - 它可能会在服务器迁移中丢失,并且它不会自动可用于应用程序的每个实例(例如,每个开发人员),而使用核心应用程序代码存储的内容更容易测试,保留并且通常可以跟踪。

  3. 所以,总结一下......

    • 是否存在一种通用的,容器中立的方式来使会话持久化?即使只是通过覆盖Java / Servlet堆栈中的适当方法并手动存储会话数据呢?

    • 除此之外,有没有办法在我的应用程序代码(web.xml或类似代码)中为多个容器(例如Jetty和Tomcat)存储相关配置?

    谢谢 - 任何见解都表示赞赏!

0 个答案:

没有答案