wicket-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Grigorov <mgrigo...@apache.org>
Subject Re: Page ... is not stateless ... but the stateless hint is set to true!
Date Mon, 11 Feb 2013 09:00:58 GMT
Hi,


On Mon, Feb 11, 2013 at 1:34 AM, Tom Eicher <tom@teicher.net> wrote:

>
> Hello,
>
> I am receiving this message in the log
>
> 01:27:01,006 WARN  [org.apache.wicket.Page] Page '[Page class =
> com.xxxxx.yyyyyy.components.**editor.Editor$EditorPage, id = 5, render
> count = 0]' is not stateless because it is not bookmarkable, but the
> stateless hint is set to true!
>
>
> and I have no idea why ;-) Actually, I never intended to be
> stateless (so far), so I thought I'd just give that stateless hint
> as false. But:
>
> setStatelessHint() cannot be called, since the warning is thrown
> directly from my page constructor's super()...
>
> And getStatelessHint() is final in Page and cannot be overridden...
>
> Stack (see: all my "xxxxx" calls are just super()s cascading up...)
>
> org.apache.wicket.Page.**isPageStateless(Page.java:445)
> org.apache.wicket.page.**AbstractPageManager.touchPage(**
> AbstractPageManager.java:130)
> org.apache.wicket.page.**PageManagerDecorator.**touchPage(**
> PageManagerDecorator.java:59)
> org.apache.wicket.page.**PageAccessSynchronizer$2.**touchPage(**
> PageAccessSynchronizer.java:**273)
> org.apache.wicket.Page.dirty(**Page.java:293)
> org.apache.wicket.markup.html.**WebPage.dirty(WebPage.java:**324)
> org.apache.wicket.Page.dirty(**Page.java:255)
> org.apache.wicket.Page.**componentStateChanging(Page.**java:934)
> org.apache.wicket.Component.**addStateChange(Component.java:**3518)
> org.apache.wicket.Behaviors.**add(Behaviors.java:61)
> org.apache.wicket.Component.**add(Component.java:4502)
> org.apache.wicket.devutils.**inspector.**RenderPerformanceListener.**
> onInstantiation(**RenderPerformanceListener.**java:52)
> org.apache.wicket.application.**ComponentInstantiationListener**
> Collection$1.notify(**ComponentInstantiationListener**Collection.java:38)
> org.apache.wicket.application.**ComponentInstantiationListener**
> Collection$1.notify(**ComponentInstantiationListener**Collection.java:34)
> org.apache.wicket.util.**listener.ListenerCollection.**
> notify(ListenerCollection.**java:80)
> org.apache.wicket.application.**ComponentInstantiationListener**
> Collection.onInstantiation(**ComponentInstantiationListener**
> Collection.java:33)
> org.apache.wicket.Component.<**init>(Component.java:683)
> org.apache.wicket.**MarkupContainer.<init>(**MarkupContainer.java:120)
> org.apache.wicket.Page.<init>(**Page.java:172)
> org.apache.wicket.Page.<init>(**Page.java:136)
> org.apache.wicket.markup.html.**WebPage.<init>(WebPage.java:**76)
> com.xxxxx.yyyyyy.base.**BasePage.<init>(BasePage.java:**31)
> com.xxxxx.yyyyyy.components.**editor.Editor$EditorPage.<**
> init>(Editor.java:97)
> com.xxxxx.yyyyyy.components.**editor.Editor$EditButtonPlain.**
> onClick(Editor.java:153)
> org.apache.wicket.markup.html.**link.Link.onLinkClicked(Link.**java:190)
> sun.reflect.**NativeMethodAccessorImpl.**invoke0(**
> NativeMethodAccessorImpl.java)
> sun.reflect.**NativeMethodAccessorImpl.**invoke(**
> NativeMethodAccessorImpl.java:**57)
> sun.reflect.**DelegatingMethodAccessorImpl.**invoke(**
> DelegatingMethodAccessorImpl.**java:43)
> java.lang.reflect.Method.**invoke(Method.java:601)
> org.apache.wicket.**RequestListenerInterface.**internalInvoke(**
> RequestListenerInterface.java:**258)
> org.apache.wicket.**RequestListenerInterface.**invoke(**
> RequestListenerInterface.java:**216)
> org.apache.wicket.core.**request.handler.**ListenerInterfaceRequestHandle*
> *r.invokeListener(**ListenerInterfaceRequestHandle**r.java:240)
> org.apache.wicket.core.**request.handler.**ListenerInterfaceRequestHandle*
> *r.respond(**ListenerInterfaceRequestHandle**r.java:226)
> org.apache.wicket.request.**cycle.RequestCycle$**HandlerExecutor.respond(*
> *RequestCycle.java:840)
> org.apache.wicket.request.**RequestHandlerStack.execute(**
> RequestHandlerStack.java:64)
> org.apache.wicket.request.**cycle.RequestCycle.execute(**
> RequestCycle.java:254)
> org.apache.wicket.request.**cycle.RequestCycle.**
> processRequest(RequestCycle.**java:211)
> org.apache.wicket.request.**cycle.RequestCycle.**processRequestAndDetach(*
> *RequestCycle.java:282)
> org.apache.wicket.protocol.**http.WicketFilter.**processRequestCycle(**
> WicketFilter.java:244)
> org.apache.wicket.protocol.**http.WicketFilter.**
> processRequest(WicketFilter.**java:188)
> org.apache.wicket.protocol.**http.WicketFilter.doFilter(**
> WicketFilter.java:267)
> org.apache.catalina.core.**ApplicationFilterChain.**internalDoFilter(**
> ApplicationFilterChain.java:**280)
> org.apache.catalina.core.**ApplicationFilterChain.**doFilter(**
> ApplicationFilterChain.java:**248)
> org.apache.catalina.core.**StandardWrapperValve.invoke(**
> StandardWrapperValve.java:275)
> org.apache.catalina.core.**StandardContextValve.invoke(**
> StandardContextValve.java:161)
> org.jboss.as.jpa.interceptor.**WebNonTxEmCloserValve.invoke(**
> WebNonTxEmCloserValve.java:50)
> org.jboss.as.web.security.**SecurityContextAssociationValv**e.invoke(**
> SecurityContextAssociationValv**e.java:153)
> org.apache.catalina.core.**StandardHostValve.invoke(**
> StandardHostValve.java:155)
> org.apache.catalina.valves.**ErrorReportValve.invoke(**
> ErrorReportValve.java:102)
> org.apache.catalina.core.**StandardEngineValve.invoke(**
> StandardEngineValve.java:109)
> org.apache.catalina.connector.**CoyoteAdapter.service(**
> CoyoteAdapter.java:368)
> org.apache.coyote.http11.**Http11Processor.process(**
> Http11Processor.java:877)
> org.apache.coyote.http11.**Http11Protocol$**Http11ConnectionHandler.**
> process(Http11Protocol.java:**671)
> org.apache.tomcat.util.net.**JIoEndpoint$Worker.run(**
> JIoEndpoint.java:930)
> java.lang.Thread.run(Thread.**java:722)
>
> What to do ?
>

Put a breakpoint at Page#setStatelessHint() and see where it is called with
value == true.


>
> I realize my setup is a bit exotic: I am building a component that
> can be both a WebPage and a Panel (to live either on itself, or
> inside a Modal Dialog with Bootstrap).
> This is why I have an almost empty page just to wrap the panel...
>
> The whole thing actually works! It's just that the message is a bit
> annoying... (And since I'm just starting the whole thing, I dont't want
> to make anything fundamentally wrong .. so I think I'd better ask...)
>
> Cheers, Tom.
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: users-unsubscribe@wicket.**apache.org<users-unsubscribe@wicket.apache.org>
> For additional commands, e-mail: users-help@wicket.apache.org
>
>


-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message