我正在使用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
s。
反正有没有启用Undertwo的InMemorySessionManager
?我是否必须完成创建自己的ServletExtension和Factory以及在META-INF / services / io.undertow.servlet.ServletExtension中配置它的工作,或者是否有现成的启用功能的方法通过配置文件存在?或者,作为Undertow / Wildfly包装的一部分,是否已经存在所需的类?
只有导致使用分布式会话管理器的条件:
鉴于你已经说过#1不是这种情况,我会假设#2。要禁用分布式会话管理器以用于共享会话,请从分发中删除org.wildfly.clustering.web.undertow模块。