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@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