如何启用 Wildfly 10 InMemorySessionManager?
How to enable Wildfly 10 InMemorySessionManager?
我正在使用 Widlfy 10,但不想使用 Wildfly 开箱即用的 DistributableSessions(我遇到了一些会话处理问题,需要在基本级别进行调试)。我看到 Undertow 有一个 InMemorySessionManager
,我宁愿使用它。但是我还没弄清楚如何指定一个不同的 SessionManager。
我尝试将我的 Wildfly 缓存配置为本地缓存:
<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
<cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server">
<transport lock-timeout="60000"/>
<replicated-cache name="default" mode="SYNC">
<transaction mode="BATCH"/>
</replicated-cache>
</cache-container>
<cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
<local-cache name="passivation">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store passivation="true" purge="false"/>
</local-cache>
<local-cache name="persistent">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store passivation="false" purge="false"/>
</local-cache>
</cache-container>
...
...
但是,在调试我的应用程序时,我仍然看到 Wildfly 正在使用 DistributableSessionManager
和 DistributableSession
。
是否可以改为启用 Undertwo 的 InMemorySessionManager
?我是否必须努力创建自己的 ServletExtension 和 Factory 并在 META-INF/services/io.undertow.servlet.ServletExtension 中配置它,或者是否有一种开箱即用的方式来启用已经存在的功能配置文件?或者所需的 类 是否已作为 Undertow/Wildfly 包装的一部分存在?
只有条件导致使用分布式会话管理器:
- 在 web.xml
- 通过 shared-session-config.xml
在耳朵内跨 Web 应用程序使用共享会话
鉴于您已经声明#1 不是这种情况,我假设#2。要禁用共享会话的分布式会话管理器,请从您的分发中删除 org.wildfly.clustering.web.undertow 模块。
我正在使用 Widlfy 10,但不想使用 Wildfly 开箱即用的 DistributableSessions(我遇到了一些会话处理问题,需要在基本级别进行调试)。我看到 Undertow 有一个 InMemorySessionManager
,我宁愿使用它。但是我还没弄清楚如何指定一个不同的 SessionManager。
我尝试将我的 Wildfly 缓存配置为本地缓存:
<subsystem xmlns="urn:jboss:domain:infinispan:4.0">
<cache-container name="server" aliases="singleton cluster" default-cache="default" module="org.wildfly.clustering.server">
<transport lock-timeout="60000"/>
<replicated-cache name="default" mode="SYNC">
<transaction mode="BATCH"/>
</replicated-cache>
</cache-container>
<cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
<local-cache name="passivation">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store passivation="true" purge="false"/>
</local-cache>
<local-cache name="persistent">
<locking isolation="REPEATABLE_READ"/>
<transaction mode="BATCH"/>
<file-store passivation="false" purge="false"/>
</local-cache>
</cache-container>
...
...
但是,在调试我的应用程序时,我仍然看到 Wildfly 正在使用 DistributableSessionManager
和 DistributableSession
。
是否可以改为启用 Undertwo 的 InMemorySessionManager
?我是否必须努力创建自己的 ServletExtension 和 Factory 并在 META-INF/services/io.undertow.servlet.ServletExtension 中配置它,或者是否有一种开箱即用的方式来启用已经存在的功能配置文件?或者所需的 类 是否已作为 Undertow/Wildfly 包装的一部分存在?
只有条件导致使用分布式会话管理器:
- 在 web.xml
- 通过 shared-session-config.xml 在耳朵内跨 Web 应用程序使用共享会话
鉴于您已经声明#1 不是这种情况,我假设#2。要禁用共享会话的分布式会话管理器,请从您的分发中删除 org.wildfly.clustering.web.undertow 模块。