I've continued digging into my issue and noticed that the default
DistributableSessionManager uses
the org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager,
which I guess comes from the module parameter in the cache-container
definition.
Part of my problem is that I am trying to invalidate() the session returned
by the SessionManager, but when I do a
SessionManager.getSession(sessionId), it returns an
DistributableImmutableSession whose invalidate() method intentionally does
nothing.
So how can I invalidate a session? Is there no way to invalidate a session
by sessionId with the DistributableSessionManager? If so, how? If not,
how do I define a SessionManager that would give me access that?
Thanks,
Eric
On Tue, Dec 19, 2017 at 11:38 AM, Eric B <ebenzacar(a)gmail.com> wrote:
Further to a previous post for session problems in my application, I
believe some of my issues relate to the DistributableSessions that are
being used by Wildfly. However, in my configuration file, I have my web
cache defined as a local cache:
<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>
...
...
I see that undertow comes with an InMemorySessionManager, but not entirely
sure how to enable it. Do I have to go through the effort of creating my
own ServletExtension and configuring it in the
META-INF/services/io.undertow.servlet.ServletExtension or is there an
out-of-the-box way of enable functionality that already exists via the
config file?
Thanks,
Eric