Hi Martin, yes, I used your utility, it was great to get me started! Funny enough, I had prepared several questions (which I then ended up answering by myself and never posted), and in each of them I was referring to your utility. Almost asked you directly, but figured it out before I did. I'll make sure it's mentioned in the overall summary once I am through with this.
Two items maybe worth mentioning already, since you asked: If you use the always-on feature in GAE, there's a much higher chance that your session gets deserialised on a node that was not in use yet. You get an exception like this: Caused by: java.lang.IllegalStateException: PageManager for application quickstart not registered. at org.apache.wicket.page.MyPersistentPageManager$SessionEntry.getPageStore(MyPersistentPageManager.java:117) at org.apache.wicket.page.MyPersistentPageManager$SessionEntry.readObject(MyPersistentPageManager.java:292) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:991) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1865) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770) (Ignore the row numbers, that's just my version of the PPM) It can also happen with a single node of course, but it really hit me often when run with always-on enabled. I added a simple "getPageManager();" call right into the init() of the application, and that seems to do the trick for me. Also, since the PersistentPageManager's isReplicated() returns "true", the DefaultPageStore's prepareForSerialization() always keeps putting null page objects into the session. This results in a NPE in the PersistentPageManager's SessionEntry's findPage(), so I added a null-check there: private IManageablePage findPage(int id) { for (IManageablePage p : pages) { if (p==null) { log.info("sigh, a null page"); } else if (p.getPageId() == id) { return p; } } return null; } To be honest, I have no idea why this works at all, given that every page put into the session is null. But when I tried returning "false" in isReplicated() in order to make it actually serialise things, it became a HUGE mess. But then again that might also be related to that I was at that time trying to use the default page render strategy. It seems that 1.5 on App Engine doesn't work at all with the default, so I used getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.RenderStrategy.REDIRECT_TO_RENDER); I had been using that render-strategy in 1.4 as well. Since it still works (and the other doesn't) I guess that's the one for me. Cheers, Per > Hi, > > On Sun, Feb 13, 2011 at 6:39 PM, Per <[hidden email] > </user/SendEmail.jtp?type=node&node=3303934&i=0>> wrote: > > > > > Hello fellow Wicketeers, > > > > I have pretty much completed upgrading my application to Wicket 1.5 > RC1. I > > have rolled it out onto my QA system on Google App Engine, and > except for > > some minor glitches in PersistentPageManager and PageManager (which > I'll > > document later on) it was a rather uncomplicated upgrade. Not that > the API > > changes were fun to work through, but I've seen much much worse > upgrades in > > my life, so thanks for another awesome Wicket release guys!! > > > > Did you use > https://github.com/wicketstuff/core/tree/master/jdk-1.5-parent/gae-initializer-parentby > chance ? > If not, then please take a look at GaeInitializer.java and tell us > what else > did you need to tweak. > > > > > Wicket 1.5 solves some issues 1.4 had on App Engine (multi tab support, > > back > > button, lack of control of the session size), so I feel even a mere > Release > > Candidate is better than the stable 1.4.x releases. I am busy > testing the > > app now, and I would really like to roll it out soon. > > > > Unless!! I do wonder if there are maybe any showstoppers I didn't learn > > about yet. I checked JIRA of course, and nothing in RC2 seems to > blocking > > me. I couldn't find RC3 nor any issues in 1.5.0. > > > > I also don't know of any stoppers. > > > > > So what do you think, yay or nay for putting RC1 into production > this week? > > > If you don't find any issues in your testing then I'm 'yay'. > > Please report if you find something and we will try to fix it as soon as > possible! > > > > > Cheers, > > Per > > > > -- > > View this message in context: > > > http://apache-wicket.1842946.n4.nabble.com/Vote-Veto-Should-I-put-1-5-RC1-on-App-Engine-into-production-this-week-tp3303781p3303781.html > > <http://apache-wicket.1842946.n4.nabble.com/Vote-Veto-Should-I-put-1-5-RC1-on-App-Engine-into-production-this-week-tp3303781p3303781.html?by-user=t> > > Sent from the Users forum mailing list archive at Nabble.com. > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [hidden email] > </user/SendEmail.jtp?type=node&node=3303934&i=1> > > For additional commands, e-mail: [hidden email] > </user/SendEmail.jtp?type=node&node=3303934&i=2> > > > > > > > ------------------------------------------------------------------------ > If you reply to this email, your message will be added to the > discussion below: > http://apache-wicket.1842946.n4.nabble.com/Vote-Veto-Should-I-put-1-5-RC1-on-App-Engine-into-production-this-week-tp3303781p3303934.html > > > To unsubscribe from Vote/Veto: Should I put 1.5 RC1 on App Engine into > production this week?, click here > <http://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3303781&code=cGVyQGhhbWJ1cmcuZGV8MzMwMzc4MXwtMjI2MTAwMzE0>. > > -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Vote-Veto-Should-I-put-1-5-RC1-on-App-Engine-into-production-this-week-tp3303781p3303969.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org