[wildfly-dev] How to configure Wildfly to use the InMemorySessionManager instead of DistributableSessionManager?

Eric B ebenzacar at gmail.com
Wed Dec 20 07:07:04 EST 2017


I've changed the cookie path to / within the jboss-all.xml file in order
for two war to share the same session.  (Each war has its own context path:
/war1, /war).  I essentially need one war to be able to authenticate and
authorize the user, and have that authentication/authorization carry over
to the session in the other war.  I don't actually need to share the
session other than for auth purposes.

Is that feasible using the InMemorySessionManager?  Is there a way to
ensure that they are all using the same InMemorySessionManager?

Thanks

Eric

On Dec 20, 2017 1:10 AM, "Stuart Douglas" <stuart.w.douglas at gmail.com>
wrote:

> Are you using the shared session functionality? Or just overriding the
> cookie path so the same cookie is used for two different session managers?
>
> Stuart
>
> On Wed, Dec 20, 2017 at 4:49 PM, Eric B <ebenzacar at gmail.com> wrote:
>
>> Hi Stuart,
>>
>> Strangely enough, my web.xml does not have distributable defined.
>>
>> I managed to get the InMemorySessionManager working by using a servlet
>> extension, but I can't help but think I'm using a sledge hammer to
>> configure it that way.  I can't believe there isn't another way to enable
>> non distributable sessions.
>>
>> My application is a JEE ear with 2 web apps (using a shared session
>> cookie) and an EJB package if that makes a difference.
>>
>> Thanks
>>
>> Eric
>>
>>
>> On Dec 19, 2017 5:44 PM, "Stuart Douglas" <stuart.w.douglas at gmail.com>
>> wrote:
>>
>> If you remove <distributable/> from your web.xml you should just get the
>> InMemorySessionManager.
>>
>> Stuart
>>
>> On Wed, Dec 20, 2017 at 4:29 AM, Eric B <ebenzacar at gmail.com> wrote:
>>
>>> 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 at 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
>>>>
>>>
>>>
>>> _______________________________________________
>>> wildfly-dev mailing list
>>> wildfly-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20171220/05b16bc9/attachment-0001.html 


More information about the wildfly-dev mailing list