【问题标题】:Prevent Tomcat from serializing session when running locally from IntelliJ IDE从 IntelliJ IDE 本地运行时防止 Tomcat 序列化会话
【发布时间】:2018-01-11 15:57:56
【问题描述】:

我通过捆绑的 Tomcat 和 TomEE 集成插件从IntelliJ 2017.2 Ultimate 版本在本地成功运行Tomcat 8.5.16。

停止 Tomcat 服务器时,我收到有关会话中某些对象不可序列化的错误。我不想序列化会话,因为我希望在服务器反弹或此类事件的情况下启动新的用户会话。

➠ 从 IntelliJ 调用时如何阻止 Tomcat 序列化会话?

【问题讨论】:

  • 你确定它是 IntelliJ IDEA 特有的吗?您的意思是如果您在 IntelliJ IDEA 之外启动/停止 Tomcat 并手动部署您的应用程序,您不会收到这些消息?
  • @CrazyCoder 我还没到那一步,没有 IntelliJ 还没有独立运行我的应用程序。

标签: session tomcat serialization intellij-idea tomcat8


【解决方案1】:

Tomcat 功能

这是一个纯 tomcat 功能,与您如何启动它无关。来自docs

禁用会话持久性

如上所述,默认情况下,每个 Web 应用程序都有标准 管理器实现已配置,它执行会话持久性 跨重启。要禁用此持久性功能,请创建一个上下文 Web 应用程序的配置文件并添加以下内容 那里的元素:

<Manager pathname="" />

禁用会话持久性示例

例如,在您的 Web 应用程序的 META-INF 文件夹中,添加一个 context.xml 文件,如下所示。

<!-- 'context.xml' file in 'META-INF' folder of your web app -->
<Context>
    <Manager pathname="" />
</Context>

您应该可以将其添加到您的 IDE 中的项目中。如果您的项目中尚未配置 META-INF 文件夹,您可能需要显式添加该文件夹。这是添加文件夹和文件后IntelliJ 2017 的屏幕截图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 2011-11-05
    • 2010-11-28
    • 1970-01-01
    • 2015-03-28
    • 2016-08-16
    • 2023-03-12
    相关资源
    最近更新 更多