Hi, thanks a lot! Good to know where to look for such an implementation!
kind regards Tobias > Am 10.02.2015 um 19:40 schrieb Bryan Holladay <holla...@longsight.com>: > > I love open source projects (Sakai guy here) and this ended up being pretty > simple code. I've created a GitHub project to share the code: > https://github.com/baholladay/WicketRedisSession > > It essentially is a passthrough to storing data on Redis. It relies on the > Jedis library (dependency below) and you simply add the following lines to > your Application#init method: > > setSessionStoreProvider(new RedisSessionStoreProvider()); > setPageManagerProvider(new RedisPageManagerProvider(this)); > > pom.xml: > <dependency> > <groupId>redis.clients</groupId> > <artifactId>jedis</artifactId> > <version>2.6.1</version> > <type>jar</type> > <scope>compile</scope> > </dependency> > > I've tested this with ElasticLoadBalancer set to non-sticky sessions and > Redis on 3 AWS tomcat nodes and it worked perfectly. Every request went to > a different server and never had any issues. I use a lot of ajax components > and have several nested pages and workflows too. Right now I consider this > still a proof of concept because I had to rely on the IP address as the > session ID. I prefer to use JSESSIONID and will look into fixing this > (please make a pull request if you have a solution). I think this has to do > with the fact that I do not rely on cookies in any situation since IE and > Safari doesn' play nicely with IFrames and cross domains. I've have > "getResourceSettings().setEncodeJSessionId(true);" set, it's not that. > > Thanks, > Bryan > > On Tue, Feb 10, 2015 at 4:00 AM, Martijn Dashorst < > martijn.dasho...@gmail.com> wrote: > >> I'm looking forward to hear more about this setup. It was my >> understanding that Wicket can't run in a non-sticky cluster setup due >> to the required pagemap locks to avoid concurrent updates to the >> component hierarchy. But I'd be very happy to hear my understanding >> being disproved. >> >> Martijn >> >> >> >> On Tue, Feb 10, 2015 at 2:51 AM, Bryan Holladay <holla...@longsight.com> >> wrote: >>> Thank you Martin! I was able to get it to work really simply with setting >>> the following in my WebApplication: >>> >>> setSessionStoreProvider >>> setPageManagerProvider >>> >>> The implementations just passively passed and retrieved the data to and >>> from my Redis server. >>> >>> Thanks, >>> Bryan >>> >>> >>> >>> On Mon, Feb 9, 2015 at 3:32 PM, Martin Grigorov <mgrigo...@apache.org> >>> wrote: >>> >>>> Hi, >>>> >>>> Since I while I want to create an integration with >>>> https://github.com/spring-projects/spring-session but I haven't had the >>>> time (and demand). >>>> The way to do it is to create custom impl of ISessionStore interface. >>>> >>>> Otherwise I remember a user in the community successfully using >> distributed >>>> sessions with Jetty's JDBC session manager ( >> http://www.eclipse.org/jetty/documentation/current/session-clustering-jdbc.html >>>> ). >>>> >>>> Martin Grigorov >>>> Wicket Training and Consulting >>>> https://twitter.com/mtgrigorov >>>> >>>> On Mon, Feb 9, 2015 at 7:51 PM, Bryan Holladay <holla...@longsight.com> >>>> wrote: >>>> >>>>> Has anyone setup wicket's AuthenticatedWebApplication sessions to use >> a >>>>> distributed memory cache (e.g. memcached, redis)? I would like to make >>>> the >>>>> sticky sessions fail over to other tomcat's and allow non sticky load >>>>> balancers. >>>>> >>>>> For example, I tested with >>>>> https://github.com/magro/memcached-session-manager on tomcat 7 with >>>>> memcached and both ELB and NGINX and it seems to not work with >> Wicket. I >>>>> also tested with redis by implementing >>>>> AuthenticatedWebApplication#fetchCreateAndSetSession. >>>>> >>>>> Thanks, >>>>> Bryan >> >> >> >> -- >> Become a Wicket expert, learn from the best: http://wicketinaction.com >>