This is what we use, and it works well: @Retain private BeanModel model; { model = beanModelSource.createEditModel(Organization.class, messages); model.add("organizationType"); model.add("parentOrganization"); }
public BeanModel getModel() { return model; } - Ville tapestryphoto wrote: > > > My grid data required a model. In copying this in from an example I had: > > @SuppressWarnings("unchecked") > @Property > @Retain > private BeanModel _myModel; > > The key here is @Retain. This works fine until there is a timeout > (default 10 mins) and the page is returned to the pool whereupon it > becomes null and thus causes Grid to fall over when it attempts to > render. Changing Retain to Persist cured the problem. That's rather a > nasty gotcha. > > QUESTION > -------- > > Currently I am creating my model in initialisePage(). If I were to > contnue to use @Retain rather than @Persist, where should I be > initialising my model? > > thanks, > p. > > > Quoting tapestryphoto <pho...@digiatlas.org>: > >> Further investigation reveals this is happening due to the page timing >> out and being returned to the pool by the timeout specified by the >> configuration option: >> >> tapestry.page-pool.active-window >> >> (which defaults to 10 minutes) >> >> So it would appear that it's being reset when returned to the pool. >> Unfortunately I'm not very knowledgable about this - even after >> reading the relevant info on page lifecycles. Can someone please shed >> some light on this? >> >> p. >> >> >> Quoting tapestryphoto <pho...@digiatlas.org>: >> >>> >>> Hi! >>> >>> I have a form and a grid component on one of my pages (the grid is >>> outside the form). All operates normally (using Jetty) unless I leave >>> it for 10 minutes. If I then attempt to perform a submit I get the >>> Null Pointer Exception listed below. It only happens on pages with the >>> grid component. My Jetty session timeout (in webdefault.xml) is set >>> to 30 minutes. >>> >>> I'm not quite sure how to proceed in tracking the problem down as the >>> error is taking place in Grid. The ten minutes suggests a timeout - >>> but where? >>> >>> Help appreciated. >>> >>> Thanks, >>> p. >>> >>> >>> java.lang.NullPointerException >>> >>> Stack trace >>> >>> * >>> org.apache.tapestry5.corelib.components.GridColumns.setupRender(GridColumns.java:112) >>> * >>> org.apache.tapestry5.corelib.components.GridColumns.setupRender(GridColumns.java) >>> * >>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$13$1.run(ComponentPageElementImpl.java:495) >>> * >>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:917) >>> * >>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$200(ComponentPageElementImpl.java:50) >>> * >>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$13.render(ComponentPageElementImpl.java:499) >>> * >>> org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72) >>> * >>> org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121) >>> * >>> org.apache.tapestry5.services.TapestryModule$19.renderMarkup(TapestryModule.java:1200) >>> * >>> org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1580) >>> * >>> org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1561) >>> * >>> org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1543) >>> * >>> org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1525) >>> * >>> org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1495) >>> * >>> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64) >>> * >>> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57) >>> * >>> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:59) >>> * >>> org.apache.tapestry5.services.TapestryModule$35.handle(TapestryModule.java:1779) >>> * >>> org.apache.tapestry5.internal.services.PageRenderDispatcher.process(PageRenderDispatcher.java:92) >>> * >>> org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:71) >>> * >>> org.apache.tapestry5.services.TapestryModule$17.service(TapestryModule.java:1029) >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > > -- View this message in context: http://www.nabble.com/T5%3A-timeout-exception-when-using-Grid-tp21707398p21742849.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org