2017-08-03 32 views
0

我成功运行Tomcat 8.5.16本地从IntelliJ 2017.2终极版通过捆绑Tomcat和TomEE集成插件。从IntelliJ IDE本地运行时阻止Tomcat序列化会话

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

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

+0

您确定它是特定于IntelliJ IDEA吗?你的意思是,如果你在IntelliJ IDEA之外启动/停止Tomcat并手动部署你的应用程序,你不会收到这些消息吗? – CrazyCoder

+0

@CrazyCoder我还没有得到那么多,没有IntelliJ独立运行我的应用程序。 –

回答

1

Tomcat功能

这是一个纯粹的tomcat功能,与您的启动方式无关。从docs

禁用会话持久性

正如上文已提到,在默认情况下每个Web应用程序配置了标准 经理执行,并执行跨重启会话持久性 。要禁用此持久性功能,为Web应用程序创建一个Context 配置文件,并添加以下 元素有:禁用会话持久性

。例如

<Manager pathname="" />

例,在META-INF如下所示添加一个context.xml文件。

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

您应该可以在您的IDE的项目中添加此项。如果尚未在项目中配置META-INF文件夹,则可能需要明确添加META-INF文件夹。以下是在添加文件夹和文件后2017年的IntelliJ屏幕截图。

screen shot of IntelliJ project structure where a 'META-INF' folder has been added to the project so as to contain a 'context.xml' file