如何启用Wildfly 10 InMemorySessionManager?

问题描述 投票:0回答:1

我正在使用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正在使用DistributableSessionManagerDistributableSessions。

反正有没有启用Undertwo的InMemorySessionManager?我是否必须完成创建自己的ServletExtension和Factory以及在META-INF / services / io.undertow.servlet.ServletExtension中配置它的工作,或者是否有现成的启用功能的方法通过配置文件存在?或者,作为Undertow / Wildfly包装的一部分,是否已经存在所需的类?

wildfly undertow session-management jboss-eap-7
1个回答
2
投票

只有导致使用分布式会话管理器的条件:

  1. 在web.xml中
  2. 通过shared-session-config.xml在耳内使用跨Web应用程序的共享会话

鉴于你已经说过#1不是这种情况,我会假设#2。要禁用分布式会话管理器以用于共享会话,请从分发中删除org.wildfly.clustering.web.undertow模块。

© www.soinside.com 2019 - 2024. All rights reserved.