<div dir="ltr">What spirit are you referring to?<div>If you are talking about the javadoc bit you quoted earlier, it simply says that if you implement the <b>createSession </b>method, you must make sure to first search for an existing <b>sessionId </b>in the exchange and use it in case you find it. This is achieved by calling the <b>findSessionId </b>method on the SessionConfig object.</div><div>This is exactly what is done in the redis example I sent earlier (<a href="https://github.com/coat/undertow-redis-session/blob/master/src/main/java/com/pedanticprogrammer/undertow/RedisSessionManager.java" target="_blank">https://github.com/coat/<wbr>undertow-redis-session/blob/<wbr>master/src/main/java/com/<wbr>pedanticprogrammer/undertow/<wbr>RedisSessionManager.java</a> line 69):</div><div><br></div><div><span class="gmail-m_8905515533527717690gmail-pl-smi" style="box-sizing:border-box;color:rgb(51,51,51);font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;white-space:pre-wrap">String</span><span style="color:rgb(36,41,46);font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;white-space:pre-wrap"> sessionId </span><span class="gmail-m_8905515533527717690gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;white-space:pre-wrap">=</span><span style="color:rgb(36,41,46);font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;white-space:pre-wrap"> sessionConfig</span><span class="gmail-m_8905515533527717690gmail-pl-k" style="box-sizing:border-box;color:rgb(167,29,93);font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;white-space:pre-wrap">.</span><span style="color:rgb(36,41,46);font-family:sfmono-regular,consolas,&quot;liberation mono&quot;,menlo,courier,monospace;font-size:12px;white-space:pre-wrap">findSessionId(<wbr>serverExchange);</span><br></div><div><br></div><div>So to summarize, what you need to do:</div><div>- Create a Redis based session manager (following the above example)</div><div>- Set it up in your servlet Deployment via a <b>SessionManagerFactory</b>.</div><div><br></div><div>You do not even have to care about a <b>SessionConfig</b>. </div><div>Since you are using the servlet api with undertow, a <b>SessionCookieConfigImpl </b>(it implements <b>SessionConfig</b>) will be created automatically for you when the <b>ServletContext </b>is created.</div><div><br></div><div>That&#39;s it!</div><div><br></div><div>Cheers,</div><div>Antoine</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 29, 2017 at 8:04 PM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Agreed, but what calls that createSession() method?<div><br></div><div>From what I can tell looking at the code, it&#39;s the ioundertow.servlet.spec.<wbr>ServletContextImpl.getSession(<wbr>ServletContextImpl, HttpServerExchange, boolean) which calls the createSession() method, getting the SessionConfig object from the SessionCookieConfig object, which is instantiated in the constructor:</div><div><br></div><div><div>    public ServletContextImpl(final ServletContainer servletContainer, final Deployment deployment) {</div><div>        this.servletContainer = servletContainer;</div><div>        this.deployment = deployment;</div><div>        this.deploymentInfo = deployment.getDeploymentInfo()<wbr>;</div><div><font color="#0000ff"><u>        sessionCookieConfig = new SessionCookieConfigImpl(this);</u></font></div><div>        sessionCookieConfig.setPath(<wbr>deploymentInfo.getContextPath(<wbr>));</div><div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>        ...</div><div>        ...</div></blockquote></div><div>    }<br></div></div><div><br></div><div><br></div><div><br></div><div><div>    public HttpSessionImpl getSession(final ServletContextImpl originalServletContext, final HttpServerExchange exchange, boolean create) {</div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div>        SessionConfig c = originalServletContext.<wbr>getSessionConfig();</div><div>        ...</div><div>        ...</div><div>        ...</div><div>        ...</div></blockquote><div>               final Session newSession = sessionManager.createSession(<wbr>exchange, c);<br></div><div><div>                httpSession = SecurityActions.forSession(<wbr>newSession, this, true);</div><div>                exchange.putAttachment(<wbr>sessionAttachmentKey, httpSession);</div><div>            }</div><div>        }</div><div>        return httpSession;</div><div>    }</div></div><div><br></div></div><div><br></div><div><br></div><div>So like I said, I can override the behaviour, but then I am not adhering to the spirit of the Manager which specifies that it must defer calls to the SessionConfig object.</div><div><br></div><div>Thanks,</div><div><br>Eric</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Wed, Mar 29, 2017 at 10:05 AM, Antoine Girard <span dir="ltr">&lt;<a href="mailto:antoine.girard@ymail.com" target="_blank">antoine.girard@ymail.com</a>&gt;</span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">The SessionManager#createSession() method takes a SessionConfig as second argument. <div>I don&#39;t understand what more do you need!</div><div><br></div><div>Cheers,</div><div>Antoine</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div><div class="m_576973748300340320h5">On Wed, Mar 29, 2017 at 3:55 PM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br></div></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><div><div class="m_576973748300340320h5"><div dir="auto">I&#39;m not actually trying to reusue the SessionCookieConfigImpl.  But in the SessionManager javadoc, it clearly states that:</div><div dir="auto"><br></div><div dir="auto"><div dir="auto"> * As part of session creation the session manager MUST attempt to retrieve the {@link SessionCookieConfig} from</div><div dir="auto"> * the {@link HttpServerExchange} and use it to set the session cookie. The frees up the session manager from</div><div dir="auto"> * needing to know details of the cookie configuration. When invalidating a session the session manager MUST</div><div dir="auto"> * also use this to clear the session cookie.</div><div><br></div><div>So while I can create my own SessionManager that completely ignores the SessionConfig object, as per the SessionManager javadocs, the manager must attempt to retrieve the SessionConfig object from the exchange to set the session cookie.  I am just trying to fulfill the SessionManager requirements.</div><div><br></div><div>But there is missing documentation indicating how/where one can specify the SessionCookieConfig implementation that I want undertow to use.  I would like undertow to use my own custom implementation.</div><div><br></div><div>Thanks,</div><div><br>Eric</div><div><br></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div><div class="m_576973748300340320h5"><span>On Mar 29, 2017 9:35 AM, &quot;Bill O&#39;Neil&quot; &lt;<a href="mailto:bill@dartalley.com" target="_blank">bill@dartalley.com</a>&gt; wrote:<br type="attribution"></span></div></div></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5"><div><div class="m_576973748300340320h5"><span><div dir="ltr">What exactly will you gain from reusing SessionConfig if you are going to hack around a lot of it? If not much then just write your own handler that handles the cookies and talking to Redis it might be less work then customizing and hacking around SessionConfig.</div></span></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div><div class="m_576973748300340320h5"><span>On Wed, Mar 29, 2017 at 9:01 AM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br></span></div></div></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><div><div class="h5"><div><div class="m_576973748300340320h5"><span><div style="font-family:sans-serif;font-size:13.696px" dir="auto">Agreed, but I want to use my own SessionConfig implementation in which the Sessionid is stored in a different cookie structure then the default implementation.</div><div dir="auto" style="font-family:sans-serif;font-size:13.696px"><br></div><div dir="auto" style="font-family:sans-serif;font-size:13.696px">I was looking for something that allows me to specify the SessionConfig implementation I want undertow to use, but can&#39;t find that config option anywhere.</div><div dir="auto" style="font-family:sans-serif;font-size:13.696px"><br></div><div dir="auto" style="font-family:sans-serif;font-size:13.696px">Thanks,</div><div dir="auto" style="font-family:sans-serif;font-size:13.696px"><br></div><div dir="auto" style="font-family:sans-serif;font-size:13.696px">Eric</div></span></div></div></div></div><div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310h5"><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div><div class="m_576973748300340320h5"><span>On Mar 29, 2017 8:44 AM, &quot;Antoine Girard&quot; &lt;<a href="mailto:antoine.girard@ymail.com" target="_blank">antoine.girard@ymail.com</a>&gt; wrote:<br type="attribution"></span></div></div></div></div><blockquote class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5"><div><div class="m_576973748300340320h5"><span><div dir="ltr">A SessionConfig is just an interface for the SessionManager to retrieve the session ID.<div>You do want to store session IDs in cookies, is that correct?</div><div>In that case, simply use the default SessionCookieConfig: </div><div><a href="https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/server/session/SessionCookieConfig.java" target="_blank">https://github.com/undertow-io<wbr>/undertow/blob/master/core/src<wbr>/main/java/io/undertow/server/<wbr>session/SessionCookieConfig.ja<wbr>va</a></div><div><br></div><div>Cheers,</div><div>Antoine</div><div><br></div></div></span></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div><div class="m_576973748300340320h5"><span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890quoted-text">On Wed, Mar 29, 2017 at 2:19 PM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br></div></span></div></div></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5"><div><div class="m_576973748300340320h5"><span><div dir="auto"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890quoted-text">Thanks for the link; that is definitely going to be a big help for the redis bridge.<div dir="auto"><br></div><div dir="auto">But I&#39;m still unclear as to the &quot;right&quot; way to use/define my own SessionConfig implementation.  In the link you sent, they instantiate the RedisManager with the existing SessionConfig object, and use whatever undertow passes in the parameters.</div><div dir="auto"><br></div><div dir="auto">As I mentioned in my earlier post, I suspect I can hack around it using the SessionConfigWrapper but that does not seem to respect the spirit or intent of the wrapper, so I&#39;m trying to figure out if there is another/better way to do this.</div><div dir="auto"><br></div><div dir="auto">Or is the only solution to completely ignore the SessionConfig object and build my solution independent of it? But then it will not respect the contract of the SessionManager to retrieve the Sessionid from the SC object</div><div dir="auto"><br></div></div><div dir="auto">Thanks,</div><div dir="auto"><br></div><div dir="auto">Eric</div></div></span></div></div></div></div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890elided-text"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326HOEnZb"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326h5"><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5"><div><div class="m_576973748300340320h5"><span>On Mar 29, 2017 8:00 AM, &quot;Antoine Girard&quot; &lt;<a href="mailto:antoine.girard@ymail.com" target="_blank">antoine.girard@ymail.com</a>&gt; wrote:<br type="attribution"></span></div></div></div></div><blockquote class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="m_576973748300340320h5"><span><div dir="ltr"><div><div class="h5">Hi Eric,<div><br></div><div>Unfortunately I cannot share that code as it&#39;s company property.</div><div>As far as I can remember, it was really easy. I used the java redis library: Jedis</div></div></div><div><div class="h5"><div>Oh, and look what I found:</div><div><a href="https://github.com/coat/undertow-redis-session/blob/master/src/main/java/com/pedanticprogrammer/undertow/RedisSessionManager.java" target="_blank">https://github.com/coat/undert<wbr>ow-redis-session/blob/master/s<wbr>rc/main/java/com/pedanticprogr<wbr>ammer/undertow/RedisSessionMan<wbr>ager.java</a><br></div><div><br></div><div>That&#39;s a good starting point, if not the complete solution right there.</div><div><br></div><div>Cheers,</div><div>Antoine</div></div></div></div></span></div></div><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_576973748300340320h5"><span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text">On Wed, Mar 29, 2017 at 1:48 PM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br></div></span></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="m_576973748300340320h5"><span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><div dir="auto">Antoine,<div dir="auto"><br></div><div dir="auto">That&#39;s exactly where I am heading too.  Is there any chance you still have our can share the code you used to do that? </div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto"><br></div><div dir="auto">Eric</div></div></div></span></div></div><div><div class="m_576973748300340320h5"><div class="gmail_extra"><br><div class="gmail_quote"><span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><span>On Mar 29, 2017 7:24 AM, &quot;Antoine Girard&quot; &lt;<a href="mailto:antoine.girard@ymail.com" target="_blank">antoine.girard@ymailcom</a>&gt; wrote:<br type="attribution"></span></div></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span><div dir="ltr"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><span>I did a similar thing once: persisting sessions into a Redis data store</span></div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><span><div>My starting point was the InMemorySessionManager.</div><div><br></div><div>Good luck to you!</div><div><br></div><div>Cheers,</div><div>Antoine</div></span></div></div></span><div class="gmail_extra"><br><div class="gmail_quote"><span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><span>On Wed, Mar 29, 2017 at 1:09 PM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br></span></div></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><span><div>From my understanding, I was thinking/planning to create my own SessionManager to handle the Session loading.  And from the docs, it indicates that the SessionManager must delegate retrieving the sessionId to the SessionConfig object</div><div dir="auto"><br></div></span></div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561quoted-text"><span><div dir="auto">Am I heading down the wrong path?  Is there an easier/another way to load/persist the session? </div><div dir="auto"><br></div><div dir="auto">Thanks</div><div dir="auto"><br></div><div dir="auto">Eric</div><div dir="auto"><br></div></span></div></span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561elided-text"><div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076h5"><div dir="auto"><br><div class="gmail_extra" dir="auto"><br><div class="gmail_quote"><span>On Mar 29, 2017 7:01 AM, &quot;Bill O&#39;Neil&quot; &lt;<a href="mailto:bill@dartalleycom" target="_blank">bill@dartalleycom</a>&gt; wrote:<br type="attribution"></span><blockquote class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076m_6710646849761334938m_8152727239980921360m_2541739177248376693quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span><div dir="ltr">If you want such a custom solution why not just use a cookie and ignore all of the <span style="font-size:12.8px">SessionConfig code. You can write a handler that checks for the cookie and attaches your own custom session object to the exchange based on the cookie.</span></div></span><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076m_6710646849761334938m_8152727239980921360m_2541739177248376693elided-text"><div class="gmail_extra"><br><div class="gmail_quote"><span>On Tue, Mar 28, 2017 at 9:41 PM, Eric B <span dir="ltr">&lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt;</span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span>Stuart,<div><br>My goal is to actually replace the JSESSIONID cookie/mechanism with my own mechanism.  I am looking to use a JsonWebToken (JWT) to pass my JSESSIONID to the application for a few different reasons:</div><div>1) I would like to sign the JSESSIONID</div><div>2) I would like to pass additional data along with the JSESSIONID (ex: some auth claims)</div><div>3) I want to be able to share this information between different containers</div><div>4) I want to pass a TTL with my token</div><div><br></div><div><br></div><div>At some level, I am trying to hack together an SSO solution temporarily which would allow me to log into one container, and have some credentials pass to another container.  My issue is that both containers are session based, and hence, need to be able to retrieve a session from a sessionId.  However, I also want to make sure that sessions don&#39;t expire - that is if I am working in container 2, that my session in container 1 continues to live (if the user gets redirected back to container 1).</div><div><br></div><div>So, in essence, I am looking to be able to extract my SessionId from a mechanism other than the standard JSESSIONID cookie, but yet, still continue to use the sessions seamlessly.</div><div><br></div><div>I figure I could potentially hack around the design using the SessionConfigWrapper in which I use the wrap() method to return my own SessionConfig object, but that does not seem to fit in the spirit or design of the wrapper.</div><div><br></div><div>Is there another/better way to accomplish something like this?  Or is undertow designed with only the JSESSIONID cookie in mind?  I did notice the </div></span> SessionConfig.SessionCookieSo<wbr>urce enum with value OTHER, but cannot seem to see/figure out where that is used, or how to leverage that setting.  I looked through the ServletContextImpl class but only see the SessionTrackingMode of COOKIE, SSL and URL available.<div><div class="m_576973748300340320m_-6572550532140775081h5"><div><br></div><div>Any help/insight would be greatly appreciated.</div><div><br></div><div>Thanks,</div><div><br>Eric</div><div><br></div></div></div></div><div><div class="m_576973748300340320m_-6572550532140775081h5"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076m_6710646849761334938m_8152727239980921360m_2541739177248376693m_-3667385676312723287HOEnZb"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076m_6710646849761334938m_8152727239980921360m_2541739177248376693m_-3667385676312723287h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 28, 2017 at 7:57 PM, Stuart Douglas <span dir="ltr">&lt;<a href="mailto:sdouglas@redhat.com" target="_blank">sdouglas@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Why do you need a custom SessionConfig? In general Servlet will use<br>
its own SessionConfig that matches the configuration of the deployed<br>
application (generally just using a JSESSIONID cookie, unless it has<br>
been customized).<br>
<br>
Stuart<br>
<div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076m_6710646849761334938m_8152727239980921360m_2541739177248376693m_-3667385676312723287m_-5870665426442319891h5"><br>
On Tue, Mar 28, 2017 at 2:19 PM, Eric B &lt;<a href="mailto:ebenzacar@gmail.com" target="_blank">ebenzacar@gmail.com</a>&gt; wrote:<br>
&gt; I&#39;ve been trying to figure out how to build my own custom SessionManager to<br>
&gt; push my sessions into Redis with a custom SessionConfig implementation, but<br>
&gt; am having trouble finding any documentation to that extent.<br>
&gt;<br>
&gt; For the SesisonManager, I&#39;ve read that I need to:<br>
&gt;<br>
&gt; Develop SessionManager which implements<br>
&gt; io.undertow.server.session.Ses<wbr>sionManager<br>
&gt; Develop SessionManagerFactory which implements<br>
&gt; io.undertow.servlet.api.Sessio<wbr>nManagerFactory<br>
&gt; Develop startup extension which implements<br>
&gt; io.undertow.servlet.ServletExt<wbr>ension, and in handleDeployment(Deployment)<br>
&gt; method change sessionManagerFactory with new SessionManagerFactory.<br>
&gt; Register new ServletExtension by adding<br>
&gt; ../META-INF/services/io.undert<wbr>ow.servlet.ServletExtension file (file should<br>
&gt; contain the name of new ServletExtension. for example<br>
&gt; com.my.utils.StartupExtension)<br>
&gt;<br>
&gt;<br>
&gt; But I can&#39;t seem to find anything that indicates how to provide my own<br>
&gt; SessionConfig implementation.  How do I register a custom SessionConfig<br>
&gt; implementation?  Is there any documentation to that extent?<br>
&gt;<br>
&gt; Are there any examples that can show me how to create my own SessionManager<br>
&gt; and SessionConfig object?<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Eric<br>
&gt;<br>
</div></div>&gt; ______________________________<wbr>_________________<br>
&gt; undertow-dev mailing list<br>
&gt; <a href="mailto:undertow-dev@lists.jboss.org" target="_blank">undertow-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/undertow-dev</a><br>
</blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
undertow-dev mailing list<br>
<a href="mailto:undertow-dev@lists.jboss.org" target="_blank">undertow-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/undertow-dev</a><br></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div></div></div></div></div></div><div><div class="m_576973748300340320m_-6572550532140775081h5"><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561elided-text"><div><div class="m_576973748300340320m_-6572550532140775081m_4210428877980179007gmail-m_-4091244652379235472m_22393389318032310m_5393807958449129890m_7862769228212270326m_-5249066657219030561m_-6559532051863671076h5">
<br>______________________________<wbr>_________________<br>
undertow-dev mailing list<br>
<a href="mailto:undertow-dev@lists.jboss.org" target="_blank">undertow-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailma<wbr>n/listinfo/undertow-dev</a><br></div></div></div></div></div></blockquote></div><br></div>
</blockquote></div></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></div></blockquote></div><br></div>
</blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div>
</blockquote></div></div>
</div>
</blockquote></div><br></div>
</blockquote></div><br></div>
</blockquote></div><br></div>