setResponsePage in AjaxSubmitLink causing AjaxError
I'm using Wicket 6.6.0, in an AjaxSubmitLink when I do a setResponsepage(myclass.class) or (throw new RedirectResponse) i get the following error in the wicket ajax debug console: *ERROR: * Wicket.Ajax.Call.failure: Error while parsing response: Error: Invalid XML: !DOCTYPE html The error console also includes the full HTML of the destination page. Any idea whats going on here? -- Jeremy Levy
Re: setResponsePage in AjaxSubmitLink causing AjaxError
I figured it out- further up in the code I was calling: new PageReference(new PageProvider(MyPage.class).getInstance().getPageId()) which was causing the problem. Jeremy On Tue, Apr 16, 2013 at 5:30 PM, Jeremy Levy jel...@gmail.com wrote: I'm using Wicket 6.6.0, in an AjaxSubmitLink when I do a setResponsepage(myclass.class) or (throw new RedirectResponse) i get the following error in the wicket ajax debug console: *ERROR: * Wicket.Ajax.Call.failure: Error while parsing response: Error: Invalid XML: !DOCTYPE html The error console also includes the full HTML of the destination page. Any idea whats going on here? -- Jeremy Levy -- Jeremy Levy
Re: HttpsMapper broken with Mounted pages
Thanks- Done. https://issues.apache.org/jira/browse/WICKET-4979 On Tue, Jan 15, 2013 at 3:05 AM, Martin Grigorov mgrigo...@apache.orgwrote: Hi, Please create a ticket and attach your quickstart. It will be good to fix this for 6.5.0 (scheduled for this Friday (Jan 18)). On Tue, Jan 15, 2013 at 3:18 AM, Jeremy Levy jel...@gmail.com wrote: I believe I may have stumbled upon somewhat serious issue with 6.4.0 (and possibly earlier). A page that is annotated with @RequiresHttps and is mounted with any encoding method, when requested directly, or linked to is not switched over to https. If the page is not specifically mounted it works as expected. I was able to recreate this in my application as well as in a standalone 'quickstart' project. As far as I could see HttpsMapper.getDesiredSchemeFor wasn't even being called for the mounted pages. I'll debug the issue tomorrow and submit a patch if I can figure it out, however I thought this was serious enough to bring up here right away. Jeremy -- Jeremy Levy -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com http://jweekend.com/ -- Jeremy Levy
Re: HttpsMapper broken with Mounted pages
Just to close the loop here. If setRootRequestMapper(new HttpsMapper... is done before you add your mounts, they will not be enabled for SSL. I've added and updated the Wiki to reflect this as well as requested the line in the javadoc where this is be mentioned be made more prominent. Jeremy On Tue, Jan 15, 2013 at 10:24 AM, Jeremy Levy jel...@gmail.com wrote: Thanks- Done. https://issues.apache.org/jira/browse/WICKET-4979 On Tue, Jan 15, 2013 at 3:05 AM, Martin Grigorov mgrigo...@apache.orgwrote: Hi, Please create a ticket and attach your quickstart. It will be good to fix this for 6.5.0 (scheduled for this Friday (Jan 18)). On Tue, Jan 15, 2013 at 3:18 AM, Jeremy Levy jel...@gmail.com wrote: I believe I may have stumbled upon somewhat serious issue with 6.4.0 (and possibly earlier). A page that is annotated with @RequiresHttps and is mounted with any encoding method, when requested directly, or linked to is not switched over to https. If the page is not specifically mounted it works as expected. I was able to recreate this in my application as well as in a standalone 'quickstart' project. As far as I could see HttpsMapper.getDesiredSchemeFor wasn't even being called for the mounted pages. I'll debug the issue tomorrow and submit a patch if I can figure it out, however I thought this was serious enough to bring up here right away. Jeremy -- Jeremy Levy -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com http://jweekend.com/ -- Jeremy Levy -- Jeremy Levy
HttpsMapper broken with Mounted pages
I believe I may have stumbled upon somewhat serious issue with 6.4.0 (and possibly earlier). A page that is annotated with @RequiresHttps and is mounted with any encoding method, when requested directly, or linked to is not switched over to https. If the page is not specifically mounted it works as expected. I was able to recreate this in my application as well as in a standalone 'quickstart' project. As far as I could see HttpsMapper.getDesiredSchemeFor wasn't even being called for the mounted pages. I'll debug the issue tomorrow and submit a patch if I can figure it out, however I thought this was serious enough to bring up here right away. Jeremy -- Jeremy Levy
Terracotta Sessions and Wicket
We've been using Terracotta Sessions with Wicket successfully for some time now with a fairly onerous side effect. The DiskPageStore temporary directory grows steadily and never gets cleaned up, eventually leading to us having to manually go and clean up the directory. The issue appears to be that if a session fails over to the other node it maintains the sessionid from the other server (as expected) however, because we use sticky sessions via the jvmRoute in tomcat a session ID looks like 2uWDurCx3V07Oe8LBn0V.node1 even if its currently on node2. Therefore when the unbind/cleanup method of DiskPageStore/SessionEntry attempts to clean it up it doesn't find anything and leaves the orphaned session on the node where the session originated. I was thinking that a easy fix for this would be to extend the DiskPageStore and have it ignore the jvmRoute when serializing the session. Does this sound like a good idea? Thanks. Jeremy -- Jeremy Levy
Re: Terracotta Sessions and Wicket
Actually, after thinking about this some more, it has nothing to do with the jvmRoute on the session per se, it's because the node from which the session originated never has the unbind/method called for that session. On Tue, Sep 6, 2011 at 7:44 PM, Jeremy Levy jel...@gmail.com wrote: We've been using Terracotta Sessions with Wicket successfully for some time now with a fairly onerous side effect. The DiskPageStore temporary directory grows steadily and never gets cleaned up, eventually leading to us having to manually go and clean up the directory. The issue appears to be that if a session fails over to the other node it maintains the sessionid from the other server (as expected) however, because we use sticky sessions via the jvmRoute in tomcat a session ID looks like 2uWDurCx3V07Oe8LBn0V.node1 even if its currently on node2. Therefore when the unbind/cleanup method of DiskPageStore/SessionEntry attempts to clean it up it doesn't find anything and leaves the orphaned session on the node where the session originated. I was thinking that a easy fix for this would be to extend the DiskPageStore and have it ignore the jvmRoute when serializing the session. Does this sound like a good idea? Thanks. Jeremy -- Jeremy Levy -- Jeremy Levy
Re: Configure http and https with apache and jboss
Thats correct, your entire HTTPS set up can be only from Apache outwards and AJP/HTTP between Apache and JBoss/Tomcat. On Fri, Jul 1, 2011 at 9:45 AM, vp143 vishal.po...@cipriati.co.uk wrote: I have seen posts talking about this connector in Tomcat/Jboss Connector protocol=HTTP/1.1 SSLEnabled=true port=8443 address=${jboss.bind.address} scheme=https secure=true clientAuth=false keystoreFile=${jboss.server.home.dir}/conf/chap8.keystore keystorePass=rmi+ssl sslProtocol = TLS / My understanding from what I have read is that this connector does not need to be enabled because I am using Apache as the web server which handles all the SSL traffic i.e SSL traffic is transparent to the Tomcat/Jboss, hence ProxyPass etc are forwarding to port 8080 even for VirtualHost 443. Can anyone verify this is correct? On 1 Jul 2011, at 14:32, Martin Grigorov-4 [via Apache Wicket] wrote: Your Apache conf is SSL for 443, but the proxyed web server (Tomcat?!) is http:// Maybe this is the problem. If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/Configure-http-and-https-with-apache-and-jboss-tp3633546p3638211.html To unsubscribe from Configure http and https with apache and jboss, click here. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Configure-http-and-https-with-apache-and-jboss-tp3633546p3638231.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 -- Jeremy Levy
Re: POST path via Ajax erratically invalid when used with #
It happens consistently in Chrome and the fix is to clear cookies / JSESSIONID... Can you be more specific in the javascript where the relative path is assembled I can't find it... ? On Fri, Apr 29, 2011 at 3:10 AM, Martin Grigorov mgrigo...@apache.orgwrote: See wicketSubmitFormById() and wicketAjaxPost() in wicket-ajax.js On Fri, Apr 29, 2011 at 12:59 AM, Jeremy Levy jel...@gmail.com wrote: I've noticed that in 1.4.17 in some circumstances when using Wicket to POST data over AJAX the path it's POSTing to tries to include the value after # in the URL. For example on a page with a URL like http://foo.bar/MyPage#oneWicket-Ajax attempts to POST to http://foo.bar/MyPageone. I'm having trouble using the debugger to nail down where in the JS this is happening, can someone help point me to the function? Jeremy -- Jeremy Levy -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy
Re: POST path via Ajax erratically invalid when used with #
Thanks for the reply, as I already mentioned I've tried running this in the debugger in Chrome but it's not clear to me where the HOST part of the URL is being generated all I see is the path. The full URL that is getting posted to is: http://mobile/MyPagescreen-two?x=1cBpJXjtIYZljhKs29abIqj8*YDCtKbjg*TV2waFYQRLE*9vNYy87LLwY1SctZ0Ck8iPyZttk0qfiInaa9kSd98b1moKXZbN-yjDEBXqdDnU4WkRPLW5AArandom=0.7044208080042154http://mobile/webkitregscreen-two?x=1cBpJXjtIYZljhKs29abIqj8*YDCtKbjg*TV2waFYQRLE*9vNYy87LLwY1SctZ0Ck8iPyZttk0qfiInaa9kSd98b1moKXZbN-yjDEBXqdDnU4WkRPLW5AArandom=0.7044208080042154 The mount is actually just /MyPage 'screen-two' is the value after the #, the URL in the browser looks like http://mobile/MyPage#screen-two. As you suggested I also tried debugging org.apache.wicket.ajax.AjaxEventBehavior.generateCallbackScript(CharSequence), but from what I can tell that generates the relative URL to POST to. Ex: var wcall=wicketAjaxPost('?x=3NGhze8Hqqc*UOnOuxCljvnljwk0iN2tSqud8EMVbEweya7HhUn*6fgOmnCv6OwW', wicketSerialize(Wicket.$('username101')),function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$('username101') != null;}.bind(this)); From debugging the javascript, best I can follow is that the actual POST is made at line 938: t.send(body); However, looking at all the objects until that point still only describes the url as ?x= 3NGhze8Hqqc*UOnOuxCljvnljwk0iN2tSqud8EMVbEweya7HhUn*6fgOmnCv6OwW. What's interesting is that clearing the session seems to fix the problem until I try it a second time. It's also worthwhile to note that if I load the page and include '/' at the end of the URL it works perfectly, repeatedly. It's still not clear to me where the http://xxx/xxx or BaseURL comes from in the wicket JS, is that a function of XMLHttpRequest? location.href references the correct Host.. Any ideas or insights? On Mon, May 2, 2011 at 8:32 AM, Martin Grigorov mgrigo...@apache.orgwrote: I am not aware of any logic in wicket-ajax.js which changes the url passed from the server side. See org.apache.wicket.ajax.AjaxEventBehavior.generateCallbackScript(CharSequence) I gave you the names of the JavaScript functions which trigger the form submit. Use Chrome Developer Tools to debug the JavaScript and see where the url gets broken. On Mon, May 2, 2011 at 2:26 PM, Jeremy Levy jel...@gmail.com wrote: It happens consistently in Chrome and the fix is to clear cookies / JSESSIONID... Can you be more specific in the javascript where the relative path is assembled I can't find it... ? On Fri, Apr 29, 2011 at 3:10 AM, Martin Grigorov mgrigo...@apache.org wrote: See wicketSubmitFormById() and wicketAjaxPost() in wicket-ajax.js On Fri, Apr 29, 2011 at 12:59 AM, Jeremy Levy jel...@gmail.com wrote: I've noticed that in 1.4.17 in some circumstances when using Wicket to POST data over AJAX the path it's POSTing to tries to include the value after # in the URL. For example on a page with a URL like http://foo.bar/MyPage#oneWicket-Ajax attempts to POST to http://foo.bar/MyPageone. I'm having trouble using the debugger to nail down where in the JS this is happening, can someone help point me to the function? Jeremy -- Jeremy Levy -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy
Re: AjaxButton and HTML5 fields
Thanks Martin, that worked beautifully, well perhaps not beautifully but quite well. On Wed, Apr 27, 2011 at 1:52 AM, Martin Grigorov mgrigo...@apache.orgwrote: Hi Jeremy, Yes, this is the way to make it working. In Wicket 1.5 all this is already improved and Wicket provides Number, Url and Range TextFields out of the box but it is quite easy to use the other types too. To make it work in 1.4.x you'll need to use the monkey-patch approach. You can see the history of https://github.com/wicketstuff/core/tree/master/jdk-1.6-parent/wicket-html5-parent/wicket-html5 . There is a Behavior which did exactly this before the improvements in Wicket 1.5. On Wed, Apr 27, 2011 at 1:50 AM, Jeremy Levy jel...@gmail.com wrote: I've extended TextField to support some of the HTML5 variants, number, email etc. This works great when submitting via normal methods. However it doesn't work when using AjaxButton, the form data for the HTML5 fields is never POSTed. The root issue appears to be in wicket-ajax.js specifically lines 461-471 (Wicket 1.4.17): // this function intentionally ignores image and submit inputs Wicket.Form.serializeInput = function(input) { var type = input.type.toLowerCase(); if ((type == checkbox || type == radio) input.checked) { return Wicket.Form.encode(input.name) + = + Wicket.Form.encode(input.value) + ; } else if (type == text || type == password || type == hidden || type == textarea || type == search) { return Wicket.Form.encode(input.name) + = + Wicket.Form.encode(input.value) + ; } else { return ; } } As I understand this, basically the fields are ignored because they aren't specifically handled in the code above... I've tested it by adding type ==number etc and that fixes the problem. I suppose my question is, is this the right place to fix it, and if so what is the best way to override this function, without having to do the whole js file? J -- Martin Grigorov jWeekend Training, Consulting, Development http://jWeekend.com - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy
POST path via Ajax erratically invalid when used with #
I've noticed that in 1.4.17 in some circumstances when using Wicket to POST data over AJAX the path it's POSTing to tries to include the value after # in the URL. For example on a page with a URL like http://foo.bar/MyPage#one Wicket-Ajax attempts to POST to http://foo.bar/MyPageone. I'm having trouble using the debugger to nail down where in the JS this is happening, can someone help point me to the function? Jeremy -- Jeremy Levy
AjaxButton and HTML5 fields
I've extended TextField to support some of the HTML5 variants, number, email etc. This works great when submitting via normal methods. However it doesn't work when using AjaxButton, the form data for the HTML5 fields is never POSTed. The root issue appears to be in wicket-ajax.js specifically lines 461-471 (Wicket 1.4.17): // this function intentionally ignores image and submit inputs Wicket.Form.serializeInput = function(input) { var type = input.type.toLowerCase(); if ((type == checkbox || type == radio) input.checked) { return Wicket.Form.encode(input.name) + = + Wicket.Form.encode(input.value) + ; } else if (type == text || type == password || type == hidden || type == textarea || type == search) { return Wicket.Form.encode(input.name) + = + Wicket.Form.encode(input.value) + ; } else { return ; } } As I understand this, basically the fields are ignored because they aren't specifically handled in the code above... I've tested it by adding type ==number etc and that fixes the problem. I suppose my question is, is this the right place to fix it, and if so what is the best way to override this function, without having to do the whole js file? J
DiskPageStore with Terracotta
When using Terracotta WebSessions 3.3.0 with Wicket 1.4.9 on JBoss 4.2 / Tomcat6 the DiskPageStore grows infinitely. After a few days our jboss/server/myserver/work/jboss.web/localhost/[context]/[filtername]-filestore is filled with gigabytes of data. The terracotta folks say that they aren't doing anything specifically with the pagestore. I was hoping some of the wicket folks had an idea. How does cleanup normally work, and any ideas on how I should debug it? Should I try setting an explicit limit on the disk page store size? JL
Re: How to set the http response code for an error page
Add the following to your error page, change the error as required: @Override protected void configureResponse() { super.configureResponse(); getWebRequestCycle().getWebResponse().getHttpServletResponse().setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } @Override public boolean isVersioned() { return false; } @Override public boolean isErrorPage() { return true; } On Sat, Sep 5, 2009 at 2:15 PM, Arie Fishler arie@gmail.com wrote: I have a custom error page that I set like explained in the wiki http://cwiki.apache.org/WICKET/error-pages-and-feedback-messages.html Stillthe page returns http 200. How do I set it to a specific error code? Thanks, Arie -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Mysterious NullPointerException
Take a look at this one: 2009-07-12 11:03:11,865 ERROR Web [RequestCycle] : java.lang.NullPointerException 2009-07-12 11:03:11,879 ERROR Web [MMRequestCycle] : The exception had a length of 0, dumping Stack 2009-07-12 11:03:11,885 ERROR Web [MMRequestCycle] : Logging: com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:90) org.apache.wicket.RequestCycle.step(RequestCycle.java:1339) org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) org.apache.wicket.RequestCycle.request(RequestCycle.java:529) org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356) org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) java.lang.Thread.run(Thread.java:619) On Wed, Jul 1, 2009 at 6:48 PM, Johan Compagner jcompag...@gmail.comwrote: Thats just a dumpstack of the current line in the onRuntimeException. Cant you just debug it somehow an break on exception? Or call fillstacktrace or something on it? Its weird that the exception it self just wont generate a stack.. On 01/07/2009, Jeremy Levy jel...@gmail.com wrote: Okay, I was able to get a thread dump for when this mysterious exception happens, see my prior message for the code the code that I am using to print this out: 2009-07-01 16:42:59,155 ERROR Web [RequestCycle] : java.lang.NullPointerException 2009-07-01 16:42:59,250 ERROR Web [MMRequestCycle] : The exception had a length of 0, dumping Stack 2009-07-01 16:42:59,263 ERROR Web [STDERR] : java.lang.Exception: Stack trace 2009-07-01 16:42:59,273 ERROR Web [STDERR] :at java.lang.Thread.dumpStack(Thread.java:1206) 2009-07-01 16:42:59,280 ERROR Web [STDERR] :at com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:95) 2009-07-01 16:42:59,288 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.step(RequestCycle.java:1339) 2009-07-01 16:42:59,297 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) 2009-07-01 16:42:59,307 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.request(RequestCycle.java:529) 2009-07-01 16:42:59,317 ERROR Web [STDERR] :at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356) 2009-07-01 16:42:59,339 ERROR Web [STDERR] :at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201) 2009-07-01 16:42:59,356 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2009-07-01 16:42:59,363 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2009-07-01 16:42:59,372 ERROR Web [STDERR] :at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 2009-07-01 16:42:59,380 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2009-07-01 16:42:59,389 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2009-07-01 16:42:59,398 ERROR Web [STDERR] :at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 2009-07-01 16:42:59,407 ERROR Web [STDERR] :at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 2009-07-01 16:42:59,414 ERROR Web [STDERR] :at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java
Re: Mysterious NullPointerException
Hmm, looking at that again, it looks just like the dump... On Mon, Jul 13, 2009 at 8:55 AM, Jeremy Levy jel...@gmail.com wrote: Take a look at this one: 2009-07-12 11:03:11,865 ERROR Web [RequestCycle] : java.lang.NullPointerException 2009-07-12 11:03:11,879 ERROR Web [MMRequestCycle] : The exception had a length of 0, dumping Stack 2009-07-12 11:03:11,885 ERROR Web [MMRequestCycle] : Logging: com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:90) org.apache.wicket.RequestCycle.step(RequestCycle.java:1339) org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) org.apache.wicket.RequestCycle.request(RequestCycle.java:529) org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356) org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) java.lang.Thread.run(Thread.java:619) On Wed, Jul 1, 2009 at 6:48 PM, Johan Compagner jcompag...@gmail.comwrote: Thats just a dumpstack of the current line in the onRuntimeException. Cant you just debug it somehow an break on exception? Or call fillstacktrace or something on it? Its weird that the exception it self just wont generate a stack.. On 01/07/2009, Jeremy Levy jel...@gmail.com wrote: Okay, I was able to get a thread dump for when this mysterious exception happens, see my prior message for the code the code that I am using to print this out: 2009-07-01 16:42:59,155 ERROR Web [RequestCycle] : java.lang.NullPointerException 2009-07-01 16:42:59,250 ERROR Web [MMRequestCycle] : The exception had a length of 0, dumping Stack 2009-07-01 16:42:59,263 ERROR Web [STDERR] : java.lang.Exception: Stack trace 2009-07-01 16:42:59,273 ERROR Web [STDERR] :at java.lang.Thread.dumpStack(Thread.java:1206) 2009-07-01 16:42:59,280 ERROR Web [STDERR] :at com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:95) 2009-07-01 16:42:59,288 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.step(RequestCycle.java:1339) 2009-07-01 16:42:59,297 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) 2009-07-01 16:42:59,307 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.request(RequestCycle.java:529) 2009-07-01 16:42:59,317 ERROR Web [STDERR] :at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356) 2009-07-01 16:42:59,339 ERROR Web [STDERR] :at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201) 2009-07-01 16:42:59,356 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2009-07-01 16:42:59,363 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2009-07-01 16:42:59,372 ERROR Web [STDERR] :at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 2009-07-01 16:42:59,380 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2009-07-01 16:42:59,389 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2009-07-01 16:42:59,398 ERROR Web [STDERR] :at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 2009-07-01 16:42:59,407 ERROR Web [STDERR] :at org.apache.catalina.core.StandardContextValve.invoke
Re: Mysterious NullPointerException
I'm trying this, what do you think? if (e == null) { log.error(The exception was null, dumping Stack); Thread.dumpStack(); } StackTraceElement[] out = e.getStackTrace(); StringBuffer sb = new StringBuffer(); for (StackTraceElement ex : out) { sb.append(ex.toString() + \n); } if (out.length == 0) { log.error(The exception had a length of 0, dumping Stack); Thread.dumpStack(); } What I have seen so far is that e.getStackTrace() has a length of 0, so I added the thread dump... Jeremy On Mon, Jun 29, 2009 at 4:26 PM, Igor Vaynberg igor.vaynb...@gmail.comwrote: even if the exception was not being chained it should have still had some sort of a stacktrace. -igor On Mon, Jun 29, 2009 at 11:39 AM, Martijn Reuversmartijn.reuv...@gmail.com wrote: Likely the message or stacktrace(s) (the actual cause) is throwing the nullpointer, in which case that is all you can see when logging. You might wanna try: log.error(whatever here,e.getCause()), generally the latter is what you're interested in anyway. You might also try: @Override protected void logRuntimeException(RuntimeException e) { //super.logRuntimeException(e); // Turn this one off as somewhere the error seems to occur log.error(whatever, but NOT the message,e); } Finally, I'd personally attempt to write it all to a custom file to see if you can get anything useful into it. On Mon, Jun 29, 2009 at 6:49 PM, Igor Vaynbergigor.vaynb...@gmail.com wrote: log.runtimeexception is already doing log.error(e.getMessage(), e); and he is still not seeing the stacktrace... -igor On Mon, Jun 29, 2009 at 9:41 AM, mbrictsonm...@55minutes.com wrote: If you simply call log.error(e), your log will only contain e.toString(), which does not include the stack trace. You need to use the 2-arg version of log.error() if you want the full trace. Try this: log.error(An uncaught runtime exception occurred, e); jelevy wrote: Igor, Can you give me some direction on how to go about getting the e. In my own RequestCycle I've done the following: @Override protected void logRuntimeException(RuntimeException e) { super.logRuntimeException(e); log.error(e); } -- View this message in context: http://www.nabble.com/Mysterious-NullPointerException-tp24094116p24257631.html Sent from the Wicket - User 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 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Mysterious NullPointerException
Okay, I was able to get a thread dump for when this mysterious exception happens, see my prior message for the code the code that I am using to print this out: 2009-07-01 16:42:59,155 ERROR Web [RequestCycle] : java.lang.NullPointerException 2009-07-01 16:42:59,250 ERROR Web [MMRequestCycle] : The exception had a length of 0, dumping Stack 2009-07-01 16:42:59,263 ERROR Web [STDERR] : java.lang.Exception: Stack trace 2009-07-01 16:42:59,273 ERROR Web [STDERR] :at java.lang.Thread.dumpStack(Thread.java:1206) 2009-07-01 16:42:59,280 ERROR Web [STDERR] :at com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:95) 2009-07-01 16:42:59,288 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.step(RequestCycle.java:1339) 2009-07-01 16:42:59,297 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) 2009-07-01 16:42:59,307 ERROR Web [STDERR] :at org.apache.wicket.RequestCycle.request(RequestCycle.java:529) 2009-07-01 16:42:59,317 ERROR Web [STDERR] :at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356) 2009-07-01 16:42:59,339 ERROR Web [STDERR] :at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201) 2009-07-01 16:42:59,356 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2009-07-01 16:42:59,363 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2009-07-01 16:42:59,372 ERROR Web [STDERR] :at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 2009-07-01 16:42:59,380 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2009-07-01 16:42:59,389 ERROR Web [STDERR] :at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2009-07-01 16:42:59,398 ERROR Web [STDERR] :at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 2009-07-01 16:42:59,407 ERROR Web [STDERR] :at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 2009-07-01 16:42:59,414 ERROR Web [STDERR] :at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179) 2009-07-01 16:42:59,423 ERROR Web [STDERR] :at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) 2009-07-01 16:42:59,429 ERROR Web [STDERR] :at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 2009-07-01 16:42:59,435 ERROR Web [STDERR] :at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 2009-07-01 16:42:59,442 ERROR Web [STDERR] :at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157) 2009-07-01 16:42:59,451 ERROR Web [STDERR] :at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 2009-07-01 16:42:59,464 ERROR Web [STDERR] :at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) 2009-07-01 16:42:59,484 ERROR Web [STDERR] :at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) 2009-07-01 16:42:59,492 ERROR Web [STDERR] :at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366) 2009-07-01 16:42:59,500 ERROR Web [STDERR] :at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) 2009-07-01 16:42:59,507 ERROR Web [STDERR] :at java.lang.Thread.run(Thread.java:619) On Wed, Jul 1, 2009 at 12:41 PM, Jeremy Levy jel...@gmail.com wrote: I'm trying this, what do you think? if (e == null) { log.error(The exception was null, dumping Stack); Thread.dumpStack(); } StackTraceElement[] out = e.getStackTrace(); StringBuffer sb = new StringBuffer(); for (StackTraceElement ex : out) { sb.append(ex.toString() + \n); } if (out.length == 0) { log.error(The exception had a length of 0, dumping Stack); Thread.dumpStack(); } What I have seen so far is that e.getStackTrace() has a length of 0, so I added the thread dump... Jeremy On Mon, Jun 29, 2009 at 4:26 PM, Igor Vaynberg igor.vaynb...@gmail.comwrote: even if the exception was not being chained it should have still had some sort of a stacktrace. -igor On Mon, Jun 29, 2009 at 11:39 AM, Martijn Reuversmartijn.reuv...@gmail.com wrote: Likely the message or stacktrace(s) (the actual cause) is throwing the nullpointer, in which case that is all you can see when logging. You might wanna try: log.error(whatever here,e.getCause()), generally the latter is what you're interested in anyway. You might also try: @Override protected void logRuntimeException
Re: Mysterious NullPointerException
Igor, Can you give me some direction on how to go about getting the e. In my own RequestCycle I've done the following: @Override protected void logRuntimeException(RuntimeException e) { super.logRuntimeException(e); log.error(e); } Which doesn't help because I'm just doing the same thing twice: 2009-06-29 01:26:09,721 ERROR Web [RequestCycle] : java.lang.NullPointerException 2009-06-29 01:26:09,780 ERROR Web [MMRequestCycle] : java.lang.NullPointerException I tried e.printStackTrace(); but log4j SMTPAppender takes each line of the stacktrace and emails it which generates way to much volume. Any suggestions? Jeremy On Fri, Jun 19, 2009 at 2:20 PM, Jeremy Levy jel...@gmail.com wrote: I'll override the method and let you know the results. Jeremy On Fri, Jun 19, 2009 at 11:35 AM, Igor Vaynberg igor.vaynb...@gmail.comwrote: right, so where is the stacktrace from the e given to the logger? -igor On Fri, Jun 19, 2009 at 6:39 AM, Jeremy Levyjel...@gmail.com wrote: Igor, It's happening on line # 1483 of RequestCycle which corresponds to: * Called when an unrecoverable runtime exception during request cycle handling occurred, which * will result in displaying a user facing error page. Clients can override this method in case * they want to customize logging. NOT called for {...@link PageExpiredException page expired * exceptions}. * * @param e *the runtime exception */ protected void logRuntimeException(RuntimeException e) { log.error(e.getMessage(), e); } Jeremy On Thu, Jun 18, 2009 at 11:46 AM, Igor Vaynberg igor.vaynb...@gmail.comwrote: that is rather strange, there should be the stack trace. why dont you change your logger to show the line numbers so we can see where the log statement is coming from. -igor On Thu, Jun 18, 2009 at 7:53 AM, Jeremy Levyjel...@gmail.com wrote: Per, There is no stack dump, that is the entire output. J On Thu, Jun 18, 2009 at 10:48 AM, Per Lundholm per.lundh...@gmail.com wrote: No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Apache Logs, Session IDs, and PageExpiredException
I have my apache log configured to include the cookies. I'm not talking about the URL. Jeremy On Fri, Jun 19, 2009 at 2:51 AM, Johan Compagner jcompag...@gmail.comwrote: What do you mean with sessionid disappears? From the url? Thats basic tomcat, the first urls are with session id but if session cookie works it wont append it to the url, or you really have to tell tomcat that it has to do that everytime. On 17/06/2009, Jeremy Levy jel...@gmail.com wrote: We see a very similar issue: Between one request to another that happen within a matter of seconds / minutes the sessionid disappears. A lot of our traffic is mobile so I assume some of it is crappy browser implementation. We have not been able to reproduce it any meaningful way. We have been able to mitigate the effect on our users by making as many pages as possible bookmarkable as well as including cookie based auto-login. I have seen other things cause this however, if you are using jvmRoute with a node that is down and your don't properly fail over you will consistently get this error. For what it's worth we are using Wicket 1.3.6 (but been anecdotally having the issue since 1.3.0 or earlier) in Tomcat/JBoss 4.2.2. Jeremy On Thu, Jun 11, 2009 at 4:31 PM, Dane Laverty danelave...@gmail.com wrote: Thanks for pointing that out. I've tried some other changes, so I'll wait and see how they work out. However, if the problem persists I'll look into the possibility of it being an HTTPS-related issue. That line of reasoning hadn't ever occurred to me. Dane On Thu, Jun 11, 2009 at 1:09 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote: good catch Jason. We have also ran into this when implementing wicket's @RequireHttps annotation, there is a javadoc section in HttpsRequestCycleProtocol that talks about this cookie pain. -igor On Thu, Jun 11, 2009 at 1:03 PM, Jason Leaja...@kumachan.net.nz wrote: I notice there are some secure requests there (https)... so I will now blindly assume you are having the same problem I had in the past... I had a problem with session ids changing when trying to swtich between secure/insecure pages. If your first request to a tomcat server is secure, and a session is created, tomcat will create a secure session id cookie that will only be sent in https requests. If you request a non-secure (http) page request it will not send the cookie, and a new insecure session cookie is created. One way to fix* this is to use a http request filter that checks for new session id cookie creation, and writing a new insecure cookie if a secure one has been created. Something like this: http://forum.springsource.org/archive/index.php/t-65651.html *when I say fix, I mean make the system less secure :) Igor Vaynberg wrote: yes, a changing sessionid will cause a page expired error because the client all of a sudden gets a new blank session. changing session ids can be caused by either session expiration or a manual session invalidation - like during a logout procedure. you have to figure out what causes the session to get dumped and a new one to be created in your application/servlet container. -igor On Thu, Jun 11, 2009 at 9:56 AM, Dane Laverty danelave...@gmail.com wrote: I'm trying to track down the source of frequent PageExpiredExceptions that we're getting on our deployment server. One of the errors occured at 01:28:06 this morning. In the Apache logs, I discovered that the user's session ID spontaneously changed at that time, (see the change between lines 4 5 below, and then again between lines 11 12). Is that just a coincidence, or would a changing session ID cause the PageExpiredException? And if so, what causes the session ID to change? (I'm using Wicket 1.3.6. I can't replicate the errors in development, which sounds common according to the several PageExpiredException threads. I'm not seeing any sort of serialization errors either.) Thanks for your help! XXX.XXX.29.22 - - [11/Jun/2009:01:28:03 -0700] GET /resources/comp.Comp/Oregon2.jpg HTTP/1.1 200 22145 https://www.foodhandler.org/login%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:03 -0700] GET /resources/comp.Comp/newVGrad.png HTTP/1.1 200 48736 https://www.foodhandler.org/login%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:03 -0700] GET /resources/comp.Comp/navBoxBottom.jpg HTTP/1.1 200 14140 https://www.foodhandler.org/login%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:05 -0700] GET /pay%3bjsessionid
Re: Mysterious NullPointerException
Igor, It's happening on line # 1483 of RequestCycle which corresponds to: * Called when an unrecoverable runtime exception during request cycle handling occurred, which * will result in displaying a user facing error page. Clients can override this method in case * they want to customize logging. NOT called for {...@link PageExpiredException page expired * exceptions}. * * @param e *the runtime exception */ protected void logRuntimeException(RuntimeException e) { log.error(e.getMessage(), e); } Jeremy On Thu, Jun 18, 2009 at 11:46 AM, Igor Vaynberg igor.vaynb...@gmail.comwrote: that is rather strange, there should be the stack trace. why dont you change your logger to show the line numbers so we can see where the log statement is coming from. -igor On Thu, Jun 18, 2009 at 7:53 AM, Jeremy Levyjel...@gmail.com wrote: Per, There is no stack dump, that is the entire output. J On Thu, Jun 18, 2009 at 10:48 AM, Per Lundholm per.lundh...@gmail.com wrote: No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Mysterious NullPointerException
I'll override the method and let you know the results. Jeremy On Fri, Jun 19, 2009 at 11:35 AM, Igor Vaynberg igor.vaynb...@gmail.comwrote: right, so where is the stacktrace from the e given to the logger? -igor On Fri, Jun 19, 2009 at 6:39 AM, Jeremy Levyjel...@gmail.com wrote: Igor, It's happening on line # 1483 of RequestCycle which corresponds to: * Called when an unrecoverable runtime exception during request cycle handling occurred, which * will result in displaying a user facing error page. Clients can override this method in case * they want to customize logging. NOT called for {...@link PageExpiredException page expired * exceptions}. * * @param e *the runtime exception */ protected void logRuntimeException(RuntimeException e) { log.error(e.getMessage(), e); } Jeremy On Thu, Jun 18, 2009 at 11:46 AM, Igor Vaynberg igor.vaynb...@gmail.com wrote: that is rather strange, there should be the stack trace. why dont you change your logger to show the line numbers so we can see where the log statement is coming from. -igor On Thu, Jun 18, 2009 at 7:53 AM, Jeremy Levyjel...@gmail.com wrote: Per, There is no stack dump, that is the entire output. J On Thu, Jun 18, 2009 at 10:48 AM, Per Lundholm per.lundh...@gmail.com wrote: No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Mysterious NullPointerException
I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j
Re: Mysterious NullPointerException
Per, There is no stack dump, that is the entire output. J On Thu, Jun 18, 2009 at 10:48 AM, Per Lundholm per.lundh...@gmail.comwrote: No. ;-) Are you suggesting that the version of Wicket matters? How does the stack dump look in your logs? /Per On Thu, Jun 18, 2009 at 4:25 PM, Jeremy Levyjel...@gmail.com wrote: I see the following a few times a day, this is with Wicket 1.3.6. It results in a 500 being displayed to the user... 2009-06-18 00:53:09,485 ERROR Web [RequestCycle] : java.lang.NullPointerException I realize this isn't much to go on, any ideas? j - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Apache Logs, Session IDs, and PageExpiredException
://www.foodhandler.org/login%3bjsessionid=271042707F280E26F7A08E6FFF108C22 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:06 -0700] GET /resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js;jsessionid=271042707F280E26F7A08E6FFF108C22 HTTP/1.1 200 8939 https://www.foodhandler.org/login%3bjsessionid=271042707F280E26F7A08E6FFF108C22 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:06 -0700] GET /resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js;jsessionid=271042707F280E26F7A08E6FFF108C22 HTTP/1.1 200 1184 https://www.foodhandler.org/login%3bjsessionid=271042707F280E26F7A08E6FFF108C22 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:06 -0700] GET /resources/comp.Comp/prototype.js HTTP/1.1 200 47603 https://www.foodhandler.org/login%3bjsessionid=271042707F280E26F7A08E6FFF108C22 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:06 -0700] GET /%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3?wicket:interface=:12 HTTP/1.1 200 4623 https://www.foodhandler.org/take-the-test%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3 ... XXX.XXX.29.22 - - [11/Jun/2009:01:28:07 -0700] GET /resources/comp.Comp/main.css HTTP/1.1 200 9904 https://www.foodhandler.org/%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3?wicket:interface=:12 : :: :... XXX.XXX.29.22 - - [11/Jun/2009:01:28:07 -0700] GET /resources/comp.Comp/print.css HTTP/1.1 200 459 https://www.foodhandler.org/%3bjsessionid=E0381EA98B6C107CD1D4DF8FDE5D88C3?wicket:interface=:12 : :: :... - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jason Lea - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Wicketeer Available for Hire...
James (and list...) We are hiring, send me your resume. jer...@meetmoi.com http://meetmoi.com http://m.meetmoi.com Jeremy On Sun, May 31, 2009 at 8:53 AM, James Carman ja...@carmanconsulting.comwrote: All, It looks like my current client engagement is winding down here soon. So, it looks like I'm on the market. If anyone knows of any Wicket-related work located near Cincinnati, OH USA or that could be done off-site, I would be interested in hearing about it. Please reply off-list. Thank you, James Carman p.s. I hope sending these type of emails on here isn't considered rude or anything. - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: PageExpiredException
Can you be certain that the jsessionid is actually present in the request (via cookie or url)? I've seen the session dropped by some mobile browsers in some instances. You can add to your apache logs config to print it out, and then add some debug in your pageexpired page to help reference it back to the access log... On Mon, Mar 9, 2009 at 11:45 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I know that this error comes up when there is a serialization issue, but I don't think that is my problem. I'm fairly certain that the session is expiring and wicket is dumping the pageMap and therefore the AjaxCall bombs. Douglas -Original Message- From: snoop...@gmail.com [mailto:snoop...@gmail.com] On Behalf Of Ryan Gravener Sent: Monday, March 09, 2009 10:40 AM To: users@wicket.apache.org Subject: Re: PageExpiredException I would double check that all your classes implement Serializable. Ryan Gravener http://ryangravener.com/flex | http://twitter.com/ryangravener On Mon, Mar 9, 2009 at 10:39 AM, Douglas Ferguson doug...@douglasferguson.us wrote: I get a PageExpiredException periodically and I'm having trouble isolating the cause. I thought that it had something to do with server restarts but I'm not sure about that now. Stack: org.apache.wicket.protocol.http.PageExpiredException: Cannot find the rendered page in session [pagemap=null,componentPath=5:leftList:tableList:contactList:2:nameCell:namePanelLink,versionNumber=0] at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:190) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1233) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:200) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Some SignInPanel Questions
1) No valuemap is a cheap model, the only value is using it in this cause is that it's quick to write, see models for more information. 2) That example is designed to show you how to do sign in, not necessary the best way to handle getting data from forms. From looking at the code you highlight I'd say it's duplicative. Jeremy On Thu, Feb 19, 2009 at 12:47 AM, Matt Welch matt...@welchkin.net wrote: I don't know if these are actually SignInPanel (from wicket-auth-roles) questions or if they're in fact more general wicket questions; probably the latter, but the SignInPanel class is where I noticed these things. 1) In the SignInPanel I notice that instead of having a couple of private String variables to represent the username and password, a ValueMap is used instead. I'm curious as to why. Is there some benefit to using a ValueMap? 2) When the values that are typed in the username and password fields are needed to pass to the signIn() method, they are retrieved in ways that I would not have normally considered. The username value is retrieved with the getDefaultModelObjectAsString() method of the username's TextField component and the password is retrieved with the getInput() method of the password's PasswordTextField component. Why are the values retrieved this way? I assume there's a good reason, but because I don't understand it, I'm a bit unsure as to where in my own application I should be using the same techniques. My first instinct for a panel like this would have been to add two String variables to the class to act as the model for the username and password TextFields and then to access those values with normal getter methods. I'd would find it quite instructive to know why these other approaches were used instead so that I can take similar actions in my own application. Thanks! I'll include some snippets from the SignInPanel class below so that it doesn't have to be looked up: - private final ValueMap properties = new ValueMap(); - add(username = new TextFieldString(username, new PropertyModelString(properties, username))); add(password = new PasswordTextField(password, new PropertyModelString(properties, password))); - public String getPassword() { return password.getInput(); } - public String getUsername() { return username.getDefaultModelObjectAsString(); } - -- View this message in context: http://www.nabble.com/Some-SignInPanel-Questions-tp22094376p22094376.html Sent from the Wicket - User 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 -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: How exactly does RestartResponseAtInterceptPageException work?
I think from just playing with it :) On Wed, Feb 18, 2009 at 11:59 PM, David Leangen wic...@leangen.net wrote: Jeremy, Thank you for this. To my knowledge, the onClick will not be rerun. Thank you. I was not able to find any doc about this anywhere, and I'm not sure what the designer's intentions were. How were you able to find this out? I would do getPage() in that onClick and send them to the page (passing the getPage()) that does something, then send them back after doing some work. When they click on the link again, in theory, token shouldn't be null again... Thanks for the suggestion. That won't exactly work with the flow of my processes (the example code I gave was very much simplified), but at least you confirmed that the onClick() does not get rerun, so I can adjust accordingly. Thank you! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: What IDE best fits with Wicket?
Eclipse or NetBeans. I like netbeans. Use what your most productive in.. On Mon, Feb 23, 2009 at 2:19 PM, Eduardo Nunes esnu...@gmail.com wrote: Hello guys, I don't want to generate a flame war but I want to know your opinion about what IDE best fits with Wicket? The basic requirements are: free and the set of plug-ins free too. Thanks, Eduardo S. Nunes - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Stackoverflow running Wicket application on JBOSS cluster
://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22052904.html Sent from the Wicket - User 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 -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy -- View this message in context: http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22075044.html Sent from the Wicket - User 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 -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: Stackoverflow running Wicket application on JBOSS cluster
) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296) at org.apache.wicket.Session.getPage(Session.java:751) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363) at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1033) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1728) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:707) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1234) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296) at org.apache.wicket.Session.getPage(Session.java:751) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363) -- View this message in context: http://www.nabble.com/Stackoverflow-running-Wicket-application-on-JBOSS-cluster-tp22052904p22052904.html Sent from the Wicket - User 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 -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: How exactly does RestartResponseAtInterceptPageException work?
David, To my knowledge, the onClick will not be rerun. I would do getPage() in that onClick and send them to the page (passing the getPage()) that does something, then send them back after doing some work. When they click on the link again, in theory, token shouldn't be null again... Jeremy On Mon, Feb 16, 2009 at 2:27 AM, David Leangen wic...@leangen.net wrote: Hi! Just wondering how this works, precisely, since I've been having some intermittent problems. I have a link that has an onClick() method that looks something like this (in principle): public void onClick() { String token = checkForToken(); if( token == null ) // Do something that will cause token to be non-null next time throw new RestartResponseAtInterceptPageException( SomePage.class ); doSomething( token ); } During the process of doSomething(), I make the call to continueToOriginalDestination. This returns to the URL that includes the ITargetListener, so my expectation is that the onClick() above will be called again. Since this time checkForToken() returns the token, I can continue processing normally. This is working intermittently for me, so I believe that the way I _think_ things work is correct, but it would be really nice for somebody to confirm this for me. Thank you! =David - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Problem with WebRequestCodingStrategy's and mobile phones
We figured out something very interesting with the default URL coding strategy's that Wicket uses when using mobile phones / devices. We run a fairly heavily trafficked mobile site, and having been using CryptedUrlWebRequestCodingStrategy for sometime. While attempting to debug some page timeout issues we switched to UrlCompressingWebCodingStrategy and we started getting compaints from users that they were getting HTTP error 400's. We were able to repeat the error locally, it happened only when using some specific phones and mobile browsers. Specifically on the Motorola V3 (useragent: MOT-V3re/0E.40.29R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.1.20.06.3.1.20.0) and other UP.Link browser moble phones. We noticed that when the user got the 400 error there was nothing in our tomcat logs, or even in our apache logs. Switching to standard WebRequestCodingStrategy had the same issue. I suspect that there are some characters in the form submit url ( :'s ?) that this crappy browser can't figure out to post to. Swiching back to CryptedUrlWebRequestCodingStrategy fixed the problem. We tested this on several other handsets that we have available and can confirm that it breaks all form submits. This is a some what obsecure case, and perhaps irrelvant if you don't run a mobile site, but we saw our number's drop by about 20% - 50% until we figured this out. Hope this helps someone else. Jeremy -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy
Re: [OT] wicket users around the world
New York, NY On Mon, Dec 15, 2008 at 12:55 PM, dtoffe dto...@yahoo.com.ar wrote: Heh +10, seems pretty interesting indeed, very nice graphics... Nino.Martinez wrote: Interesting, why not localize the app, so we get it in english? :) Quan Zhou wrote: Beijing China.I'm using wicket to develop webgame named FBM (www.wedomo.com),it's 600,000 registers, and about 10,000 players online in average. I also develop my game master tools and log analyzers with wicket. I love it so much. 2008/12/15 Juri Prokofjev proj...@gmail.com Estonia, Tallinn I've tried many frameworks, but wicket is one of my favorite. On Mon, Dec 15, 2008 at 8:39 AM, Ashika Umanga Umagiliya auma...@biggjapan.com wrote: Sri Lankan ,working in Japan Kathmandu, Nepal - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- http://www.autoladu.ee - kõik varuosad ühes kohas - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- -Wicket for love Nino Martinez Wael Java Specialist @ Jayway DK http://www.jayway.dk +45 2936 7684 - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- View this message in context: http://www.nabble.com/-OT--wicket-users-around-the-world-tp20962108p21018519.html Sent from the Wicket - User 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 -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy Right now we are paying a $2,500 referral fee for any full-time hire we make and keep for 90 days. We're looking for Java Developers and Marketers with Internet marketing experience. You can earn this fee if your referral leads directly to us hiring one of these people. Call or email me for details.
Clustering Problems / java.lang.StackOverflowError
We have recently moved our application over to using clustering, we are running JBoss 4.2.3 with Tomcat 6 bundled using two nodes. After a few seconds with both nodes active and receiving traffic we start to see StackOverFlow exceptions. They don't originate from within our code and I'm a bit at a loss of how to troubleshoot this. Any help is appreciated. java.lang.StackOverflowError at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.hash(ConcurrentReaderHashMap.java:299) at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(ConcurrentReaderHashMap.java:411) at org.jboss.mx.loading.UnifiedLoaderRepository3.getCachedClass(UnifiedLoaderRepository3.java:222) at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:403) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) at org.apache.wicket.util.io.IObjectStreamFactory$1.resolveClass(IObjectStreamFactory.java:70) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:706) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1230) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296) at org.apache.wicket.Session.getPage(Session.java:751) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363) at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393) at
Re: Clustering Problems / java.lang.StackOverflowError
Bruno, I'm working on reproducing it, it did not happen during any of our testing. I'm working on modifying our scripts so that we can reproduce it locally. My gut is that it's related to deserializng a replicated value in the session. I'm thinking of disabling clustering in tomcat and restarting our app, (without session replication). Just so we have the other node running. J On Mon, Dec 8, 2008 at 1:57 PM, Bruno Cesar Borges [EMAIL PROTECTED] wrote: Jeremy, could you please try to debug and see which class Wicket is trying to resolve at class IObjectStreamFactory, line 70? org.apache.wicket.util.io.IObjectStreamFactory$1.resolveClass(IObjectStreamFactory.java:70) Thanks, Bruno -Original Message- From: Jeremy Levy [mailto:[EMAIL PROTECTED] Sent: Monday, December 08, 2008 4:02 PM To: users@wicket.apache.org Subject: Clustering Problems / java.lang.StackOverflowError We have recently moved our application over to using clustering, we are running JBoss 4.2.3 with Tomcat 6 bundled using two nodes. After a few seconds with both nodes active and receiving traffic we start to see StackOverFlow exceptions. They don't originate from within our code and I'm a bit at a loss of how to troubleshoot this. Any help is appreciated. java.lang.StackOverflowError at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.hash(ConcurrentReaderHashMap.java:299) at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(ConcurrentReaderHashMap.java:411) at org.jboss.mx.loading.UnifiedLoaderRepository3.getCachedClass(UnifiedLoaderRepository3.java:222) at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:403) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) at org.apache.wicket.util.io.IObjectStreamFactory$1.resolveClass(IObjectStreamFactory.java:70) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.wicket.util.lang.Objects.byteArrayToObject(Objects.java:393) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.deserializePage(AbstractPageStore.java:228) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.getPage(DiskPageStore.java:706) at org.apache.wicket.protocol.http.pagestore.DiskPageStore.convertToPage(DiskPageStore.java:1230) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.getLastPage(SecondLevelCacheSessionStore.java:228) at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.get(SecondLevelCacheSessionStore.java:296) at org.apache.wicket.Session.getPage(Session.java:751) at org.apache.wicket.protocol.http.pagestore.AbstractPageStore$PageHolder.readResolve(AbstractPageStore.java:363) at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945
Re: job postings
We are hiring at as well: http://static.meetmoi.com/jobs/java.html Jeremy On Mon, Sep 22, 2008 at 3:10 AM, Eelco Hillenius [EMAIL PROTECTED]wrote: Speaking of which, we're looking for a colleague... New Yorkers, look here: http://newyork.craigslist.org/mnh/sof/846161277.html And while we are looking for people who live in/ near New York, we *might* be interested in other US people, particularly from Seattle. Feel free to drop me a line :-) Cheers, Eelco - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Jeremy Levy See my location in real-time: http://seemywhere.com/jeremy Right now we are paying a $2,500 referral fee for any full-time hire we make and keep for 90 days. We're looking for Java Developers and Marketers with Internet marketing experience. You can earn this fee if your referral leads directly to us hiring one of these people. Call or email me for details.
Re: component x not found on page y
. I tried enabling multi-tab support to see if that would help, but it didn't work with my mounted URLs. I've read that using HybridUrlEncoding (?) could resolve that problem, but the problem hasn't been wide-spread enough to justify the risk. Hope this helps, Alex On Aug 4, 2008, at 2:25 PM, Jeremy Levy wrote: We have been struggling with an issue for several months now, any help would be appreciated. In our logs I see variations of the same error on the following error which results in a 500 for the user: 2008-08-04 13:21:24,006 ERROR Wap [RequestCycle] : component updateSection:theForm not found on page com.mdate.wap.messagecenter.TypeChatPage[id = 7], listener interface = [RequestListenerInterface name=IFormSubmitListener, method=public abstract void org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()] org.apache.wicket.WicketRuntimeException: component updateSection:theForm not found on page com.mdate.wap.messagecenter.TypeChatPage[id = 7], listener interface = [RequestListenerInterface name=IFormSubmitListener, method=public abstract void org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:416) [snip] We are unable to repeat the issue and the pages render correctly when we test them. There is no AJAX in use on this site, and I can't identify any specific pattern. The error happens on unauthenticated pages as well as authenticated pages. We are using Wicket 1.3.4. The components that are referenced in the error messages don't exist on pages the messages reference. J - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
component x not found on page y
We have been struggling with an issue for several months now, any help would be appreciated. In our logs I see variations of the same error on the following error which results in a 500 for the user: 2008-08-04 13:21:24,006 ERROR Wap [RequestCycle] : component updateSection:theForm not found on page com.mdate.wap.messagecenter.TypeChatPage[id = 7], listener interface = [RequestListenerInterface name=IFormSubmitListener, method=public abstract void org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()] org.apache.wicket.WicketRuntimeException: component updateSection:theForm not found on page com.mdate.wap.messagecenter.TypeChatPage[id = 7], listener interface = [RequestListenerInterface name=IFormSubmitListener, method=public abstract void org.apache.wicket.markup.html.form.IFormSubmitListener.onFormSubmitted()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:416) 2008-07-29 00:59:18,473 ERROR Wap [RequestCycle] : component signup not found on page com.mdate.wap.signup.RegisterStartPage[id = 2413], listener interface = [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component signup not found on page com.mdate.wap.signup.RegisterStartPage[id = 2413], listener interface = [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:416) 2008-07-29 13:16:36,951 ERROR Wap [RequestCycle] : component browseProfiles not found on page com.mdate.wap.help.GettingStartedPage[id = 1408], listener interface = [Reques tListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component browseProfiles not found on page com.mdate.wap.help.GettingStartedPage[id = 1408], listener interface = [RequestListener Interface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:416) 2008-07-29 13:06:11,931 ERROR Wap [RequestCycle] : component browseProfiles not found on page com.mdate.wap.browse.NoAuthSearchPage[id = 2002], listener interface = [Reques tListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component browseProfiles not found on page com.mdate.wap.browse.NoAuthSearchPage[id = 2002], listener interface = [RequestListener Interface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:416) 2008-07-30 02:17:22,146 ERROR Wap [RequestCycle] 4797907851: component backToMessageCenterLink not found on page com.mdate.wap.messagecenter.MessageCenterPage[id = 28], listener interface = [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component backToMessageCenterLink not found on page com.mdate.wap.messagecenter.MessageCenterPage[id = 28], listener interface = [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget(AbstractRequestCycleProcessor.java:416) --- We are unable to repeat the issue and the pages render correctly when we test them. There is no AJAX in use on this site, and I can't identify any specific pattern. The error happens on unauthenticated pages as well as authenticated pages. We are using Wicket 1.3.4. The components that are referenced in the error messages don't exist on pages the messages reference. J
Re: No effect of code until restarting netbeans.
Use Undeploy and Deploy on your EAR or WAR... On Tue, Jul 1, 2008 at 3:58 AM, Sushant [EMAIL PROTECTED] wrote: I am a newuser using wicket. I have been facing this problem since a week. I'm in serious trouble. Whenever i make any changes in my code in netbeans the changes i have made doesn't works until i restart netbeans. After restarting my netbeans the changes that i have made in my code works. For e.g. If i have set as setResponsePage(Home.class) and later i change it to setResponsePage(Index.class) and save it. Now if i run my project than it still shows Home page until i restart netbeans. After i restart netbeans the problem is solved. I'm using netbeans 6.1 Please help me with this problem. -- View this message in context: http://www.nabble.com/No-effect-of-code-until-restarting-netbeans.-tp18211238p18211238.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JS/CSS references different in Jetty versus Tomcat
Scott, It sounds like this: https://issues.apache.org/jira/browse/WICKET-1205 Jeremy On Fri, May 2, 2008 at 9:37 AM, Scott Sauyet [EMAIL PROTECTED] wrote: I'm having a problem with different behavior when my Wicket application runs on Jetty versus on Tomcat, and I'm wondering if anyone has a suggestion as to why. I'm running Wicket 1.3.0 inside Jetty 6.1.8 or Tomcat 5.5.26. The only place I'm seeing this right now is the second and subsequent pages of a PageableListView. This is one of the few places where I don't have clean URLs, and I don't know if that's a cause. (Aside: is there a way to get cleaner URLs in pages with PageableListViews?) Almost every page the user sees is a BookmarkablePage, but this one isn't, so maybe that's the difference; I just don't know. A search form with a GET method is on every page. When searching for the term acct, the form redirects to a BookmarkablePage with a URL that looks like: http://jetty-host:port/app/FindTagByName/tagname/acct/ and on that page there are Javascript and CSS elements with SRC and HREF attributes like this: ../../../css/standard.css Links in the PagingNavigator point to pages like this: http://jetty-host:port/app/?wicket:interface=:6:1::: and the SRC/HREF attributes here look like this: css/standard.css Which works fine. But when running on Tomcat, starting from here: http://tomcat-host:port/app/FindTagByName/tagname/acct/ the links are fine, and the subsequent pages have URLs like http://tomcat-host:port/app/?wicket:interface=:3:1::: All my SRC/HREF attributes here are wrong, pointing to the Tomcat directory and not my web application: ../css/standard.css Anyone have a suggestion as to what I might be doing wrong? Thanks, -- Scott - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: FileResourceStream
implements IMarkupCacheKeyProvider . . public String getCacheKey(MarkupContainer arg0, Class arg1) { return null; } Jeremy On Tue, Apr 29, 2008 at 3:01 PM, Johan Compagner [EMAIL PROTECTED] wrote: So through a Wicket Page impl you serve static pages? The wicket page self doesnt have any components? Dont know the exact api but you have to make sure that the cache key = null then nothing will be cached On 4/29/08, Ed _ [EMAIL PROTECTED] wrote: I end up using FileResourceStream to serve up static web pages from a Wicket page. But I am having issues with the fact that the page gets cached and - returning clients with different url params - keep getting served the original static page. Is there a way for me to force a refresh and make sure the newMarkupResourceStream() gets called each time. thanks! _ Make i'm yours. Create a custom banner to support your cause. http://im.live.com/Messenger/IM/Contribute/Default.aspx?source=TXT_TAGHM_MSN_Make_IM_Yours - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to pass an arbitrary javascript variable to onSubmit?
Check out IAjaxCallDecorator getAjaxCallDecorator(). Jeremy On Fri, Apr 11, 2008 at 4:42 AM, Vitaly Tsaplin [EMAIL PROTECTED] wrote: I am doing it exactly like this. I am wondering if there is a formless way to do this? Probably I can mount a page and then just add some parameters to this URL? On Fri, Apr 11, 2008 at 9:06 AM, Maurice Marrink [EMAIL PROTECTED] wrote: You could add a HiddenField to the Form and then in your markup set it to your javascriptvariable. Maurice On Thu, Apr 10, 2008 at 5:39 PM, Vitaly Tsaplin [EMAIL PROTECTED] wrote: Hi everyone, How to pass an arbitrary javascript variable to onSubmit? Vitaly - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: FileUploadField and Image
Use javascript to submit the form. On Thu, Apr 10, 2008 at 4:38 AM, Fabien D. [EMAIL PROTECTED] wrote: Hi, I would like to do a special behavior. I have a input for FileUploadField, when the user choices an image in his local disk, this file is automatically uploaded (in a temp folder of tomcat) and rendered whitout click on submit... How can i do this if it's possible? Thank you in advance -- View this message in context: http://www.nabble.com/FileUploadField-and-Image-tp16604942p16604942.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: System requirements for running wicket app in production
All of our hardware is virtualized. It's allowed us to scale very quickly and easily. As for specific requirements it really depends on the volume you expect. If your going to run Apache, Tomcat, and your DB on the same machine I'd try to have at least 512mb on a low volume site. You may want to also come up with a plan that will allow you to scale easily, for example put physically separating your layers will make it easier in a hurry to scale them up if necessary. J On Thu, Apr 10, 2008 at 9:48 AM, Oliver Lieven [EMAIL PROTECTED] wrote: Hi all, are there any suggestions or experiences on the (minimum) system/hardware requirements for running a Wicket based application on a productive system? Would e.g. a Virtual Server as offered by most hosting providers be powerful enough to run a Java/Tomcat/Wicket/database application? I know this cannot be answered in general since it depends on the application itself (size of app, programmer skills), number of concurrent users, database, ... and as always: the more - the better. But maybe someone already running a Wicket app in production (e.g. from one of the Sites using Wicket - http://cwiki.apache.org/WICKET/sites-using-wicket.html)) can share information and experiences on this... (sorry if I've overseen information on this topic in the docs, Wiki or forum). Thanks in advance, Oliver -- View this message in context: http://www.nabble.com/System-requirements-for-running-wicket-app-in-production-tp16608729p16608729.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: how to get the war name wicket application is running from?
If by the application and set the appropriate style of the application. you mean the look and feel there are better ways to do this then deploying your application multiple times. Use locales which will let you have multiple style sheets and/or HTML / resources which vary depending the locale value. http://cwiki.apache.org/WICKET/localization-and-skinning-of-applications.html J On Mon, Apr 7, 2008 at 8:18 AM, Vit Rozkovec [EMAIL PROTECTED] wrote: Hallo, is there a way how could you get a name of the WAR file the application is running from? I would like to do create the WAR once and then copy it multiple times under the different names to the container. By the name I would then decide what client is running the application and set the appropriate style of the application. I know I can introduce the attribute in the compile time, but if possible, I would like to do it the way I described before. Regards Vitek - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Render body only
Did you try setRenderBodyOnly(true) ? On Thu, Apr 3, 2008 at 10:28 AM, Scott Sauyet [EMAIL PROTECTED] wrote: Hi, I'm looking to do exactly what was discussed in a thread a few years ago (http://tinyurl.com/3yo43s), namely to dynamically include or exclude a group of TR tags. I can wrap them in a SPAN with a WebMarkupContainer, but I like to have valid HTML and really don't want the SPAN tag in the final output. The thread mentioned seems to imply that this was already committed in 2005, but I can't find it in the API. Component has public final boolean getRenderBodyOnly() which looks perfect except that it's final. Am I missing something else that allows for this? Thanks, -- Scott - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Removing the jsessionid for SEO
We have a similar issue, and are trying the following out right now.. http://www.google.com/support/webmasters/bin/answer.py?hl=enanswer=40367 User-agent: * Disallow: /*? On Thu, Apr 3, 2008 at 9:09 PM, Dan Kaplan [EMAIL PROTECTED] wrote: Ok, at least I'm not missing anything. I understand the benefits it's providing with its stateful framework. Developing a site with Wicket is easier than with any other framework I've used. But this statefulness, which makes websites so easy to develop, seems to be counter productive to SEO: GoogleBot will follow and index stateful links. Worst case scenario, these actually become visible to google users and when they click the link it takes them to an invalid session page. They think, This site is broken and move on to the next link of their search result. Another approach to solving this is to block all the stateful pages in my robots.txt file. But how can I block these links in robots.txt since they change per session? Is there any way to know what the url will resolve to when googlebot tries to visit my site so I can tell it to disallow: /?wicket:interface=:10:1::: and ?wicket:interface=:0:1::: and ...? -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 5:45 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO On Thu, Apr 3, 2008 at 5:31 PM, Dan Kaplan [EMAIL PROTECTED] wrote: Ok I did a little preliminary research on this. Right now PagingNavigator uses PagingNavigationLink's to represent its page. This extends Link. I'm supposed to override PagingNavigator's newPagingNavigationLink() method to accomplish this (I think) but past that, this isn't very straightforward to me. Do I need to create my own BookmarkablePagingNavigationLink? When I do... what next? I really don't know enough about bookmarkablePageLinks to do this. Right now, all the magic happens inside PagingNavigationLink. Won't I have to move all that logic into the WebPage that I'm passing into BookmarkablePagingNavigationLink? This seems like a lot of work. Am I missing something critical? no, you are not missing anything. you see, when you go stateless, like what you want, then you have to recreate all the magic stuff that makes stateful links Just Work. Without state you are back to the servlet/mvc programming model: you have to encode the state that you want into the link, then on the trip back decode it, recreate something from it, and then apply that something onto the components. This is the crapwork that wicket does for you usually. -igor -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 3:40 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO you subclass the pagenavigator and make it use bookmarkable links also. it has factory methods for all the links it uses. -igor On Thu, Apr 3, 2008 at 3:36 PM, Dan Kaplan [EMAIL PROTECTED] wrote: I wasn't talking about the links that are on the list (I already make those bookmarkable). I'm talking about the links that the Navigator generates. How do I make it so page 2 is bookmarkable? -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 3:30 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO instead of item.add(new link(foo) { onclick() }); do item.add(new bookmarkablepagelink(foo, page.class)); -igor On Thu, Apr 3, 2008 at 3:28 PM, Dan Kaplan [EMAIL PROTECTED] wrote: How? I asked how to do it before and nobody suggested this as a possibility. -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 3:26 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO dataview can work in a stateless mode, just use bookmarkable links inside it -igor On Thu, Apr 3, 2008 at 3:22 PM, Dan Kaplan [EMAIL PROTECTED] wrote: Regardless, at the very least this makes your site look weird and unprofessional when google puts a jsessionid on your url. There has got to be some negative effect when google visits it the second time and the jsessionid has changed but it sees the same exact content. Worst case, it'll think you're trying to trick it. About those 404s, I'm finding that with the fix I
Re: Removing the jsessionid for SEO
To clarify my message below: With a CryptedUrlWebRequestCodingStrategy and alot of BookmarkablePages. On Thu, Apr 3, 2008 at 9:16 PM, Jeremy Levy [EMAIL PROTECTED] wrote: We have a similar issue, and are trying the following out right now.. http://www.google.com/support/webmasters/bin/answer.py?hl=enanswer=40367 User-agent: * Disallow: /*? On Thu, Apr 3, 2008 at 9:09 PM, Dan Kaplan [EMAIL PROTECTED] wrote: Ok, at least I'm not missing anything. I understand the benefits it's providing with its stateful framework. Developing a site with Wicket is easier than with any other framework I've used. But this statefulness, which makes websites so easy to develop, seems to be counter productive to SEO: GoogleBot will follow and index stateful links. Worst case scenario, these actually become visible to google users and when they click the link it takes them to an invalid session page. They think, This site is broken and move on to the next link of their search result. Another approach to solving this is to block all the stateful pages in my robots.txt file. But how can I block these links in robots.txt since they change per session? Is there any way to know what the url will resolve to when googlebot tries to visit my site so I can tell it to disallow: /?wicket:interface=:10:1::: and ?wicket:interface=:0:1::: and ...? -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 5:45 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO On Thu, Apr 3, 2008 at 5:31 PM, Dan Kaplan [EMAIL PROTECTED] wrote: Ok I did a little preliminary research on this. Right now PagingNavigator uses PagingNavigationLink's to represent its page. This extends Link. I'm supposed to override PagingNavigator's newPagingNavigationLink() method to accomplish this (I think) but past that, this isn't very straightforward to me. Do I need to create my own BookmarkablePagingNavigationLink? When I do... what next? I really don't know enough about bookmarkablePageLinks to do this. Right now, all the magic happens inside PagingNavigationLink. Won't I have to move all that logic into the WebPage that I'm passing into BookmarkablePagingNavigationLink? This seems like a lot of work. Am I missing something critical? no, you are not missing anything. you see, when you go stateless, like what you want, then you have to recreate all the magic stuff that makes stateful links Just Work. Without state you are back to the servlet/mvc programming model: you have to encode the state that you want into the link, then on the trip back decode it, recreate something from it, and then apply that something onto the components. This is the crapwork that wicket does for you usually. -igor -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 3:40 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO you subclass the pagenavigator and make it use bookmarkable links also. it has factory methods for all the links it uses. -igor On Thu, Apr 3, 2008 at 3:36 PM, Dan Kaplan [EMAIL PROTECTED] wrote: I wasn't talking about the links that are on the list (I already make those bookmarkable). I'm talking about the links that the Navigator generates. How do I make it so page 2 is bookmarkable? -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 3:30 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO instead of item.add(new link(foo) { onclick() }); do item.add(new bookmarkablepagelink(foo, page.class)); -igor On Thu, Apr 3, 2008 at 3:28 PM, Dan Kaplan [EMAIL PROTECTED] wrote: How? I asked how to do it before and nobody suggested this as a possibility. -Original Message- From: Igor Vaynberg [mailto:[EMAIL PROTECTED] Sent: Thursday, April 03, 2008 3:26 PM To: users@wicket.apache.org Subject: Re: Removing the jsessionid for SEO dataview can work in a stateless mode, just use bookmarkable links inside it -igor On Thu, Apr 3, 2008 at 3:22 PM, Dan Kaplan [EMAIL PROTECTED] wrote: Regardless, at the very least this makes your site look weird and unprofessional when google puts a jsessionid on your url
RequestCycle exception explanation
I've started seeing exceptions like the onces below more frequently can someone explain what is actually going on? We've been making a lot of changes, but I can't say exactly what may have set this off... 2008-04-01 16:07:12,514 ERROR Wap [RequestCycle] : component myLink not found on page com.foo.bar.SomePage [id = 459], listener interface = [R equestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component myLink not found on page com.foo.bar.SomePage [id = 459], listener interface = [RequestLis tenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] j
Re: RequestCycle exception explanation
I've tried to reproduce this for the last several hours with no luck. It reports that it's happening for many different components from many different pages, nor is there any discernible pattern to the pages or the components the excpetion mentions. This one was interesting. This was the page the we have Wicket set up to redirect to on 500's... However there no other exceptions. component signinPanel:signInForm:resetPassword not found on page com.foo.errors.InternalErrorPage We also started getting these as well: java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory Not sure if they are related.. We are running 1.3.1. Are these manifesting in errors for users, we haven't seen any as far as we can tell. Jeremy On Tue, Apr 1, 2008 at 4:58 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: On Tue, Apr 1, 2008 at 1:51 PM, Al Maw [EMAIL PROTECTED] wrote: OK, but the reason is always the same - the user will be trying to click on something that doesn't exist any more. I can't quite remember how our page versioning works for this (Eelco? Igor?) but it might be possible that users are clicking the same link twice and that the first click removes the component they've clicked on from the hierarchy, causing the second click to fail? in theory the second click should actually unroll the version back so the link would comeback and then get clicked again. it is possible that this happens on stateless pages or the ones where versioning has been explicitly turned off. -igor Regards, Al On Tue, Apr 1, 2008 at 9:44 PM, Jeremy Levy [EMAIL PROTECTED] wrote: On this site we aren't using any Ajax components. :( J On Tue, Apr 1, 2008 at 4:39 PM, Al Maw [EMAIL PROTECTED] wrote: What seems to be happening is that you're trying to click a link for a component that no longer exists. Did you maybe remove it with AJAX or something but not update the page? I think you sometimes can get this issue in a ListView if you don't think about how stuff is added and removed, and interactions with setReuseItems(true). Al On Tue, Apr 1, 2008 at 9:12 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I've started seeing exceptions like the onces below more frequently can someone explain what is actually going on? We've been making a lot of changes, but I can't say exactly what may have set this off... 2008-04-01 16:07:12,514 ERROR Wap [RequestCycle] : component myLink not found on page com.foo.bar.SomePage [id = 459], listener interface = [R equestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component myLink not found on page com.foo.bar.SomePage [id = 459], listener interface = [RequestLis tenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] j - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: RequestCycle exception explanation
Yes, ILinkListener in all of the exceptions. The deserialize exception seems to be unrelated.,. I think it has to do with Yahoo crawling us at the time and requesting expired pages... Jeremy On Tue, Apr 1, 2008 at 8:14 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: does it only happen to ILinkListener urls? -igor On Tue, Apr 1, 2008 at 4:15 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I've tried to reproduce this for the last several hours with no luck. It reports that it's happening for many different components from many different pages, nor is there any discernible pattern to the pages or the components the excpetion mentions. This one was interesting. This was the page the we have Wicket set up to redirect to on 500's... However there no other exceptions. component signinPanel:signInForm:resetPassword not found on page com.foo.errors.InternalErrorPage We also started getting these as well: java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory Not sure if they are related.. We are running 1.3.1. Are these manifesting in errors for users, we haven't seen any as far as we can tell. Jeremy On Tue, Apr 1, 2008 at 4:58 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: On Tue, Apr 1, 2008 at 1:51 PM, Al Maw [EMAIL PROTECTED] wrote: OK, but the reason is always the same - the user will be trying to click on something that doesn't exist any more. I can't quite remember how our page versioning works for this (Eelco? Igor?) but it might be possible that users are clicking the same link twice and that the first click removes the component they've clicked on from the hierarchy, causing the second click to fail? in theory the second click should actually unroll the version back so the link would comeback and then get clicked again. it is possible that this happens on stateless pages or the ones where versioning has been explicitly turned off. -igor Regards, Al On Tue, Apr 1, 2008 at 9:44 PM, Jeremy Levy [EMAIL PROTECTED] wrote: On this site we aren't using any Ajax components. :( J On Tue, Apr 1, 2008 at 4:39 PM, Al Maw [EMAIL PROTECTED] wrote: What seems to be happening is that you're trying to click a link for a component that no longer exists. Did you maybe remove it with AJAX or something but not update the page? I think you sometimes can get this issue in a ListView if you don't think about how stuff is added and removed, and interactions with setReuseItems(true). Al On Tue, Apr 1, 2008 at 9:12 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I've started seeing exceptions like the onces below more frequently can someone explain what is actually going on? We've been making a lot of changes, but I can't say exactly what may have set this off... 2008-04-01 16:07:12,514 ERROR Wap [RequestCycle] : component myLink not found on page com.foo.bar.SomePage [id = 459], listener interface = [R equestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] org.apache.wicket.WicketRuntimeException: component myLink not found on page com.foo.bar.SomePage [id = 459], listener interface = [RequestLis tenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] j - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: RequestCycle exception explanation
2008-04-01 19:53:27,944 ERROR Wap [ajp-0.0.0.0-8009-1] [RequestCycle] : component previous:previousPage not found on page com.mdate.wap.pages.NoAuthHome[id = 614], listener interface = [RequestListenerInterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked ()] org.apache.wicket.WicketRuntimeException: component previous:previousPage not found on page com.mdate.wap.pages.NoAuthHome[id = 614], listener interface = [RequestListenerI nterface name=ILinkListener, method=public abstract void org.apache.wicket.markup.html.link.ILinkListener.onLinkClicked()] at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveListenerInterfaceTarget (AbstractRequestCycleProcessor.java:411) at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveRenderedPage( AbstractRequestCycleProcessor.java:456) at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve( WebRequestCycleProcessor.java:139) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet( WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketFilter.doFilter( WicketFilter.java:194) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter( ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke( SecurityAssociationValve.java:179) at org.jboss.web.tomcat.security.JaccContextValve.invoke( JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:104) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke( CachedConnectionValve.java:157) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:241) at org.apache.coyote.ajp.AjpAprProcessor.process( AjpAprProcessor.java:419) at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process (AjpAprProtocol.java:393) at org.apache.tomcat.util.net.AprEndpoint$Worker.run( AprEndpoint.java:1513) at java.lang.Thread.run(Thread.java:619) thanks. On Tue, Apr 1, 2008 at 8:25 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: can you paste a full stack trace please -igor On Tue, Apr 1, 2008 at 5:21 PM, Jeremy Levy [EMAIL PROTECTED] wrote: Yes, ILinkListener in all of the exceptions. The deserialize exception seems to be unrelated.,. I think it has to do with Yahoo crawling us at the time and requesting expired pages... Jeremy On Tue, Apr 1, 2008 at 8:14 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: does it only happen to ILinkListener urls? -igor On Tue, Apr 1, 2008 at 4:15 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I've tried to reproduce this for the last several hours with no luck. It reports that it's happening for many different components from many different pages, nor is there any discernible pattern to the pages or the components the excpetion mentions. This one was interesting. This was the page the we have Wicket set up to redirect to on 500's... However there no other exceptions. component signinPanel:signInForm:resetPassword not found on page com.foo.errors.InternalErrorPage We also started getting these as well: java.lang.RuntimeException: Could not deserialize object using `org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory` object factory Not sure if they are related.. We are running 1.3.1. Are these manifesting in errors for users, we haven't seen any as far as we can tell. Jeremy On Tue, Apr 1, 2008 at 4:58 PM, Igor Vaynberg [EMAIL PROTECTED] wrote: On Tue, Apr 1, 2008 at 1:51 PM, Al Maw [EMAIL PROTECTED] wrote: OK, but the reason is always the same - the user will be trying to click on something that doesn't
Re: Does Wicket support WML?
I don't see why it couldn't, WML is XML based so you could create your own components. You should check out the page on the Wiki for wicket and mobile devices. Do you have a strict requirement that it needs to be WML or just for mobile devices? http://cwiki.apache.org/WICKET/mobile-devices.html Jeremy On Sun, Mar 30, 2008 at 2:21 AM, nlif [EMAIL PROTECTED] wrote: Hi, Does Wicket support WML? I could not find any reference to that in the documentation. What would be required for using Wicket to generate WML pages? Does it require me to write my own Wicket components? Thanks, Naaman -- View this message in context: http://www.nabble.com/Does-Wicket-support-WML--tp16378982p16378982.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Redirect after post Issue
I got it working. Basically the ProxyPassReverse directive should use HTTP not AJP. This article helped: http://lenya.apache.org/docs/2_0_x/tutorials/mod_proxy_ajp.html Jeremy On Fri, Mar 21, 2008 at 10:35 AM, James Carman [EMAIL PROTECTED] wrote: On 3/21/08, Jeremy Levy [EMAIL PROTECTED] wrote: Sebastiaan, Thanks very much, that helps a lot. It now works. Now that it's working I want to switch it to use ajp instead of http. I understand from your explanation how ProxyPreserveHost was breaking it. However, when I switch to use ajp, I'm seeing the same behavior. I'm having trouble understanding what tomcat is returning in terms of what I should define as my ProxyPassReverse. Is there an easier way to debug this? Here is how my virtualhost looks now: Have you tried asking the tomcat folks? They're much more adept at this stuff than us, I would imagine. They may have seen this sort of stuff before. Can you reproduce the issue with a simple JSP-based example? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Redirect after post Issue
Sebastiaan, Thanks very much, that helps a lot. It now works. Now that it's working I want to switch it to use ajp instead of http. I understand from your explanation how ProxyPreserveHost was breaking it. However, when I switch to use ajp, I'm seeing the same behavior. I'm having trouble understanding what tomcat is returning in terms of what I should define as my ProxyPassReverse. Is there an easier way to debug this? Here is how my virtualhost looks now: VirtualHost *:80 ServerName tiger ServerAdmin [EMAIL PROTECTED] DocumentRoot /opt/www/ ProxyRequests Off Proxy * Order deny,allow Allow from all /Proxy ProxyPass / ajp://pabst:8009/web/ ProxyPassReverse / ajp://pabst:8009/web/ ProxyPassReverseCookiePath /web / /VirtualHost I've tried a couple of variations of the ProxyPassReverse ProxyPassReverse / ajp://pabst:8009/web/ ProxyPassReverse / ajp://pabst/web/ ProxyPassReverse / http://pabst:8080/web/ ProxyPassReverse / http://pabst/web/ All have the same effect. Should this work? Jeremy On Fri, Mar 21, 2008 at 3:17 AM, Sebastiaan van Erk [EMAIL PROTECTED] wrote: Looking at your mod_proxy config again I noticed that you are using ProxyPreserveHost on. I think this is causing the problems, you should remove this directive. What I think is happening is this: 1) Wicket says: redirect to /web/ 2) Tocmat makes the url absolute by prepending the virtual host. Since you have ProxyPreserveHost on, tomcat sees the virtual host as localhost and NOT localhost:8080, and returns http://localhost/web/xxx as the new lcoation. 3) Apache mod_proxy does NOT reverse proxy the url, because it does not have the :8080 on it and does not match your rule. If you remove the ProxyPreserveHost on, tomcat will return http://localhost:8080/web/x as the redirect location and Apache will reverse proxy it. The only downside of this is that your wicket app will not know the REAL virtual host, and so automatically generated absolute URL's (for example in emails) will be wrong. Regards, Sebastiaan Sebastiaan van Erk wrote: Hi, Jeremy Levy wrote: I have been having trouble with this for a couple of months, it seems that redirects in Wicket 1.3.x seem to be writing out the URL incorrectly in our set up. We are running JBoss 4.2 with embedded Tomcat 5.5 using Apache/2.2.4 with mod_proxy. The Tomcat URL for the application is http://localhost:8080/web/ The Apache URL for the application is http://localhost For the most part the site works well when accessed via Apache (and perfectly directly via Tomcat), except on links/urls that involve (from what I can tell) a redirect from Wicket. These redirect the users browser to /web/ which shouldn't happen from infront of the proxy. From what I can tell your mod_proxy config looks correct, you could check the log to see what it's doing. But Wicket redirecting you to /web/ is perfectly fine, as far as Wicket is concerned, that's where the site is at! It seems that mod_proxy is not properly reverse proxying the redirect... Regards, Sebastiaan Examples of this are: 1. Form submits (they go through, but the next page is requested with the /web in the url) 2. Redirects from Application.getHomePage() 3. Any use of RestartResponseAtInterceptPageException 4. setResponsePage(MyPage.class) inside of an Link.onClick(BookmarkablePageLink works fine to the same page) Further evidence that this is a bug is that if I set my application to IRequestCycleSettings.ONE_PASS_RENDER everything works perfectly but with both IRequestCycleSettings.REDIRECT_TO_BUFFER and IRequestCycleSettings.REDIRECT_TO_RENDER it fails. Our mod_proxy / virtualhost configuration: VirtualHost * ServerAdmin [EMAIL PROTECTED] ServerAlias localhost ServerSignature On DocumentRoot /var/www ProxyRequests Off Proxy * Order deny,allow Allow from all /Proxy RewriteEngine on RewriteLog /var/log/apache2/rewrite.log RewriteLogLevel 2 ProxyPass / http://localhost:8080/web/ ProxyPassReverse / http://localhost:8080/web/ ProxyPassReverseCookiePath /web / ProxyPreserveHost On ErrorLog /var/log/apache2/error.log LogLevel warn /VirtualHost I'm not 100% sure that the mod_proxy configuration is correct, but I've read all the articles on this list about it as well as the wiki page and have run out of ideas to mess with. Any help is appreciated. Jeremy
Redirect after post Issue
I have been having trouble with this for a couple of months, it seems that redirects in Wicket 1.3.x seem to be writing out the URL incorrectly in our set up. We are running JBoss 4.2 with embedded Tomcat 5.5 using Apache/2.2.4 with mod_proxy. The Tomcat URL for the application is http://localhost:8080/web/ The Apache URL for the application is http://localhost For the most part the site works well when accessed via Apache (and perfectly directly via Tomcat), except on links/urls that involve (from what I can tell) a redirect from Wicket. These redirect the users browser to /web/ which shouldn't happen from infront of the proxy. Examples of this are: 1. Form submits (they go through, but the next page is requested with the /web in the url) 2. Redirects from Application.getHomePage() 3. Any use of RestartResponseAtInterceptPageException 4. setResponsePage(MyPage.class) inside of an Link.onClick(BookmarkablePageLink works fine to the same page) Further evidence that this is a bug is that if I set my application to IRequestCycleSettings.ONE_PASS_RENDER everything works perfectly but with both IRequestCycleSettings.REDIRECT_TO_BUFFER and IRequestCycleSettings.REDIRECT_TO_RENDER it fails. Our mod_proxy / virtualhost configuration: VirtualHost * ServerAdmin [EMAIL PROTECTED] ServerAlias localhost ServerSignature On DocumentRoot /var/www ProxyRequests Off Proxy * Order deny,allow Allow from all /Proxy RewriteEngine on RewriteLog /var/log/apache2/rewrite.log RewriteLogLevel 2 ProxyPass / http://localhost:8080/web/ ProxyPassReverse / http://localhost:8080/web/ ProxyPassReverseCookiePath /web / ProxyPreserveHost On ErrorLog /var/log/apache2/error.log LogLevel warn /VirtualHost I'm not 100% sure that the mod_proxy configuration is correct, but I've read all the articles on this list about it as well as the wiki page and have run out of ideas to mess with. Any help is appreciated. Jeremy
Re: Redirect after post Issue
Slight correction: With IRequestCycleSettings.ONE_PASS_RENDER most form submits seem to work except in the case of continueToOriginalDestination... Everything else still fails. J On Thu, Mar 20, 2008 at 6:09 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I have been having trouble with this for a couple of months, it seems that redirects in Wicket 1.3.x seem to be writing out the URL incorrectly in our set up. We are running JBoss 4.2 with embedded Tomcat 5.5 using Apache/2.2.4 with mod_proxy. The Tomcat URL for the application is http://localhost:8080/web/ The Apache URL for the application is http://localhost For the most part the site works well when accessed via Apache (and perfectly directly via Tomcat), except on links/urls that involve (from what I can tell) a redirect from Wicket. These redirect the users browser to /web/ which shouldn't happen from infront of the proxy. Examples of this are: 1. Form submits (they go through, but the next page is requested with the /web in the url) 2. Redirects from Application.getHomePage() 3. Any use of RestartResponseAtInterceptPageException 4. setResponsePage(MyPage.class) inside of an Link.onClick(BookmarkablePageLink works fine to the same page) Further evidence that this is a bug is that if I set my application to IRequestCycleSettings.ONE_PASS_RENDER everything works perfectly but with both IRequestCycleSettings.REDIRECT_TO_BUFFER and IRequestCycleSettings.REDIRECT_TO_RENDER it fails. Our mod_proxy / virtualhost configuration: VirtualHost * ServerAdmin [EMAIL PROTECTED] ServerAlias localhost ServerSignature On DocumentRoot /var/www ProxyRequests Off Proxy * Order deny,allow Allow from all /Proxy RewriteEngine on RewriteLog /var/log/apache2/rewrite.log RewriteLogLevel 2 ProxyPass / http://localhost:8080/web/ ProxyPassReverse / http://localhost:8080/web/ ProxyPassReverseCookiePath /web / ProxyPreserveHost On ErrorLog /var/log/apache2/error.log LogLevel warn /VirtualHost I'm not 100% sure that the mod_proxy configuration is correct, but I've read all the articles on this list about it as well as the wiki page and have run out of ideas to mess with. Any help is appreciated. Jeremy
Re: Redirect after post Issue
No problem, I know other people are doing this, I can't seem to see where the issue is... Which is why I think something is wrong either in Tomcat or Wicket. J On Thu, Mar 20, 2008 at 8:36 PM, brian.diekelman [EMAIL PROTECTED] wrote: ...and after reading your post a little closer, I flipped the directive parameters in my head. I don't think there's anything wrong with your ProxyPass directives. Sorry about that... -- View this message in context: http://www.nabble.com/%22Redirect-after-post%22-Issue-tp16189821p16191916.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket 1.3.2 - java.lang.NullPointerException
We are having the same issue, it's happening on pages where we are defining the markup at run time, by implementing IMarkupResourceStreamProvider and IMarkupCacheKeyProvider. I'll create a sample project to demonstrate.. Jeremy On Tue, Mar 18, 2008 at 9:36 AM, Johnnie [EMAIL PROTECTED] wrote: Sorry, I don't have a test case, but the webapp was working fine until I substituted all 1.3.2 jars for the 1.3.1 jars, and that's all did, I didn't change a thing in my code. I've gone back and forth between the two versions and always get the same exception with 1.3.2, but 1.3.1 works fine. When I click on display page view I find the following: [Page class = my.package.ui.SignIn, id = 0, version = 0]: # Path Size Type Model Object 1feedback1,4Korg.apache.wicket.markup.html.panel.FeedbackPanel 2feedback:feedbackul5,7K org.apache.wicket.markup.html.WebMarkupContainer 3feedback:feedbackul:messages5,7K org.apache.wicket.markup.html.list.ListView[] 4localizer1,7Kmy.package.ui.util.Localizer 5localizer:en_GB5,7Korg.apache.wicket.markup.html.link.Link 6localizer:en_US5,7Korg.apache.wicket.markup.html.link.Link 7localizer:fr5,7Korg.apache.wicket.markup.html.link.Link 8localizer:pt5,7Korg.apache.wicket.markup.html.link.Link 9logout1Kmy.package.ui.SignOut 10logout:signout5,7Korg.apache.wicket.markup.html.link.Link 11signInForm5,7Kmy.package.ui.util.LocalizedForm 12signInForm:password1,1K org.apache.wicket.markup.html.form.PasswordTextField 13signInForm:passwordLabel5,7K org.apache.wicket.markup.html.basic.LabelPassword 14signInForm:username1K org.apache.wicket.markup.html.form.TextField 15signInForm:usernameLabel5,7K org.apache.wicket.markup.html.basic.LabelUsername 16styler1,4Kmy.package.ui.util.Styler 17styler:avant-garde5,7K org.apache.wicket.markup.html.link.Link 18styler:classic5,7Korg.apache.wicket.markup.html.link.Link Hope it helps. Regards, Johnny Johan Compagner wrote: do you have a test case that you can attach to a jira issue I guess this has something to do with the loading of markup changes (so that not everything is loaded for every possible locale but only for every real file once) you seem to have a situtation that the key is null or couldnt be generated It would be nice to have a test case of that johan On Tue, Mar 18, 2008 at 12:30 PM, Johnnie [EMAIL PROTECTED] wrote: Hi, I´ve upgraded from Wicket 1.3.1 to 1.3.2 and got the following exception: Unexpected RuntimeException Root cause: java.lang.NullPointerException at org.apache.wicket.util.concurrent.ConcurrentHashMap.hash( ConcurrentHashMap.java:299) at org.apache.wicket.util.concurrent.ConcurrentHashMap.put( ConcurrentHashMap.java:533) at org.apache.wicket.markup.MarkupCache$DefaultCacheImplementation.put( MarkupCache.java:711) at org.apache.wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:437) at org.apache.wicket.markup.MarkupCache.loadMarkupAndWatchForChanges( MarkupCache.java:520) at org.apache.wicket.markup.MarkupCache.getMarkup(MarkupCache.java :319) at org.apache.wicket.markup.loader.InheritedMarkupMarkupLoader.checkForMarkupInheritance (InheritedMarkupMarkupLoader.java:95) at org.apache.wicket.markup.loader.InheritedMarkupMarkupLoader.loadMarkup( InheritedMarkupMarkupLoader.java:63) at org.apache.wicket.markup.loader.DefaultMarkupLoader.loadMarkup( DefaultMarkupLoader.java:55) at org.apache.wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:433) at org.apache.wicket.markup.MarkupCache.loadMarkupAndWatchForChanges( MarkupCache.java:520) at org.apache.wicket.markup.MarkupCache.getMarkup(MarkupCache.java :319) at org.apache.wicket.markup.MarkupCache.getMarkupStream(MarkupCache.java :215) at org.apache.wicket.MarkupContainer.getAssociatedMarkupStream( MarkupContainer.java:343) at org.apache.wicket.Page.onRender(Page.java:1453) at org.apache.wicket.Component.render(Component.java:2308) at org.apache.wicket.Page.renderPage(Page.java:906) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond (BookmarkablePageRequestTarget.java:231) at org.apache.wicket.request.AbstractRequestCycleProcessor.respond( AbstractRequestCycleProcessor.java:104) at org.apache.wicket.RequestCycle.processEventsAndRespond( RequestCycle.java :1172) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1330) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java :358) at
Re: Wicket 1.3.2 - java.lang.NullPointerException
I've having trouble reproducing this is a test project, however if I return a standard value getCacheKey it seems to work, where returning null which as a I understand it means don't cache at all. public String getCacheKey(MarkupContainer arg0, Class arg1) { return 1; } I'll keep trying for a bit more... Jeremy On Tue, Mar 18, 2008 at 9:55 AM, Jeremy Levy [EMAIL PROTECTED] wrote: We are having the same issue, it's happening on pages where we are defining the markup at run time, by implementing IMarkupResourceStreamProvider and IMarkupCacheKeyProvider. I'll create a sample project to demonstrate.. Jeremy On Tue, Mar 18, 2008 at 9:36 AM, Johnnie [EMAIL PROTECTED] wrote: Sorry, I don't have a test case, but the webapp was working fine until I substituted all 1.3.2 jars for the 1.3.1 jars, and that's all did, I didn't change a thing in my code. I've gone back and forth between the two versions and always get the same exception with 1.3.2, but 1.3.1 works fine. When I click on display page view I find the following: [Page class = my.package.ui.SignIn, id = 0, version = 0]: # Path Size Type Model Object 1feedback1,4K org.apache.wicket.markup.html.panel.FeedbackPanel 2feedback:feedbackul5,7K org.apache.wicket.markup.html.WebMarkupContainer 3feedback:feedbackul:messages5,7K org.apache.wicket.markup.html.list.ListView[] 4localizer1,7Kmy.package.ui.util.Localizer 5localizer:en_GB5,7Korg.apache.wicket.markup.html.link.Link 6localizer:en_US5,7Korg.apache.wicket.markup.html.link.Link 7localizer:fr5,7Korg.apache.wicket.markup.html.link.Link 8localizer:pt5,7Korg.apache.wicket.markup.html.link.Link 9logout1Kmy.package.ui.SignOut 10logout:signout5,7Korg.apache.wicket.markup.html.link.Link 11signInForm5,7Kmy.package.ui.util.LocalizedForm 12signInForm:password1,1K org.apache.wicket.markup.html.form.PasswordTextField 13signInForm:passwordLabel5,7K org.apache.wicket.markup.html.basic.LabelPassword 14signInForm:username1K org.apache.wicket.markup.html.form.TextField 15signInForm:usernameLabel5,7K org.apache.wicket.markup.html.basic.LabelUsername 16styler1,4Kmy.package.ui.util.Styler 17styler:avant-garde5,7K org.apache.wicket.markup.html.link.Link 18styler:classic5,7Korg.apache.wicket.markup.html.link.Link Hope it helps. Regards, Johnny Johan Compagner wrote: do you have a test case that you can attach to a jira issue I guess this has something to do with the loading of markup changes (so that not everything is loaded for every possible locale but only for every real file once) you seem to have a situtation that the key is null or couldnt be generated It would be nice to have a test case of that johan On Tue, Mar 18, 2008 at 12:30 PM, Johnnie [EMAIL PROTECTED] wrote: Hi, I´ve upgraded from Wicket 1.3.1 to 1.3.2 and got the following exception: Unexpected RuntimeException Root cause: java.lang.NullPointerException at org.apache.wicket.util.concurrent.ConcurrentHashMap.hash( ConcurrentHashMap.java:299) at org.apache.wicket.util.concurrent.ConcurrentHashMap.put( ConcurrentHashMap.java:533) at org.apache.wicket.markup.MarkupCache$DefaultCacheImplementation.put( MarkupCache.java:711) at org.apache.wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:437) at org.apache.wicket.markup.MarkupCache.loadMarkupAndWatchForChanges( MarkupCache.java:520) at org.apache.wicket.markup.MarkupCache.getMarkup( MarkupCache.java :319) at org.apache.wicket.markup.loader.InheritedMarkupMarkupLoader.checkForMarkupInheritance (InheritedMarkupMarkupLoader.java:95) at org.apache.wicket.markup.loader.InheritedMarkupMarkupLoader.loadMarkup( InheritedMarkupMarkupLoader.java:63) at org.apache.wicket.markup.loader.DefaultMarkupLoader.loadMarkup( DefaultMarkupLoader.java:55) at org.apache.wicket.markup.MarkupCache.loadMarkup(MarkupCache.java:433) at org.apache.wicket.markup.MarkupCache.loadMarkupAndWatchForChanges( MarkupCache.java:520) at org.apache.wicket.markup.MarkupCache.getMarkup( MarkupCache.java :319) at org.apache.wicket.markup.MarkupCache.getMarkupStream(MarkupCache.java :215) at org.apache.wicket.MarkupContainer.getAssociatedMarkupStream( MarkupContainer.java:343) at org.apache.wicket.Page.onRender(Page.java:1453) at org.apache.wicket.Component.render(Component.java:2308) at org.apache.wicket.Page.renderPage(Page.java:906) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.respond
Re: After 1 minute the Pagemap null is still locked
Thanks Igor / Martijn for your help. As you mentioned Wicket had nothing to do with it. I had a piece of code that was executed when a user clicked a certain link and was blocking by accident, caught in a loop peging the CPU. Your suggestions of kill -3 to get the thread dump over a couple of samples helped me to narrow down the issue and fix it. Thanks very much. Jeremy On Tue, Mar 18, 2008 at 4:26 PM, Martijn Dashorst [EMAIL PROTECTED] wrote: I suggest getting a thread dump at the time of the exception, to see which threads are stuck. You can do that by sending a kill -3 to the java process running your webapp. The stack traces should be in your console output captured by your server. Martijn On 3/18/08, Igor Vaynberg [EMAIL PROTECTED] wrote: i think the only way this can happen is that you have something that really takes longer then 1 minute to execute. i dont see how wicket can take over your cpuso may be it is that runaway process that does that... i think to debug it you might want to attach a profiler to the server and wait for it to happen, take a cpu timing profile and see what was going on during the spike... does the message tell you who it is locked by? which page or otherwise? if not that is possibly something we can improve also... -igor On Tue, Mar 18, 2008 at 1:06 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I am seeing the After 1 minute the Pagemap null is still locked error in production a couple of times a day for about the last week or so. We put in a major update to our site about 3 weeks ago, but only recently started seeing this error. I suspect they are related. From doing some research on the mailinglist it seems that this comes up when a user requests a new page while there is an open request still processing. http://www.nabble.com/pagemap-locking-to11350774.html#a11350774 At the same time (or a few seconds before) the CPU is pegged at 100% and stays that way. Overtime the CPU usage progressively gets more and more backed up (I assume because this issue keeps happening and compounds the load). The longest page request on the site is a panel which has 4 child lazy loading panels but none of them take longer then a max of 4 seconds, which is pretty strictly enforced. The CPU getting pegged is a huge problem because it is forcing us to restart the server every some often. For now we have not been able to reproduce this error in a development environment, any suggestions, or troubleshooting ideas? Jeremy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Buy Wicket in Action: http://manning.com/dashorst Apache Wicket 1.3.2 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.2 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [vote] Release 1.4 with only generics and stop support for 1.3
+1 On Mon, Mar 17, 2008 at 1:15 PM, djo.mos [EMAIL PROTECTED] wrote: [ ] +1, Wicket 1.4 is 1.3 + generics, drop support for 1.3 -- View this message in context: http://www.nabble.com/-vote--Release-1.4-with-only-generics-and-stop-support-for-1.3-tp16090054p16097038.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Link to last accessed page
You could just pass the current page to the new page via the constructor. On Feb 13, 2008 2:06 PM, Warren [EMAIL PROTECTED] wrote: How do I create a link on a page that will go to the last accessed page no matter what that page is? I see that WebPage has a method homePageLink. Is there something simmilar that will return you to the last accessed page? I also see that the class AccessStackPageMap has a method lastAccessedEntry(), but I do not know how to get to that method from my page. Thanks, Warren - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Challenge: write something really sleek for Facebook?
We have been thinking about this a little bit as well... It broke down into two parts: Making FaceBook Wicket components that represent and render the corresponding FBML. Integrating the wicket session with facebooks session. It seemed like to us that the calls from facebook across multiple users would break / not maintain a wicket session as well as include an easy mechanism to retrieve data from facebook. j On Feb 2, 2008 5:27 AM, tieTYT [EMAIL PROTECTED] wrote: Hi Eelco, I wanted to give you an update of what i learned about facebook apps: there's 2 types: FBML and IFRAME fbml apps are actually translated from your webapp and facebook renders it with their server (me thinks). the IFRAME app is just literally your app rendered from your server but displayed on theirs if you want to do it as IFRAME, that wiki post i made is pretty much all you need... that and you need to understand how to use the FaceBookRestClient that you put in the session. As I prefer the IFRAME approach, that's what i'm going to use. Eelco Hillenius wrote: Hi, Daniel Kaplan wrote a WIKI page[1] that describes how to set up Wicket for Facebook. Someone posted a link to that on DZone[2], and that in turn prompted Dave from Alfresco to write an alternative to it that shows it can be done much shorter[3]. I know that several people posted the idea before of writing a simple integration framework for Facebook/ Wicket, but so far no-one actually contributed code (besides this WIKI). How about it? Is that blog posting a challenge enough to come up with a simple framework that makes writing Facebook apps with Wicket short and elegant? I can imagine we'd need a component (set) and/ or specialized models for parsing external REST requests. But maybe I'm just talking crap here. Any takers? :-) Eelco [1] http://cwiki.apache.org/confluence/display/WICKET/Facebook+Integration [2] http://www.dzone.com/links/rss/apache_wicket_facebook_integration.html [3] http://blogs.alfresco.com/davidc/?p=12 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Challenge%3A-write-something-really-sleek-for-Facebook--tp15220672p15241533.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: DropDownChoice with -1 value
If you create a properties file for the page class and use dot notation matching your page hierarchy but leave the last value as null you can set the default value: For example: theForm.birthdayMonth.null=M theForm.birthdayYear.null=Y theForm.birthdayDay.null=D See if that helps.. J On Jan 2, 2008 2:14 PM, Juliano Gaio [EMAIL PROTECTED] wrote: Hello Everybody I'm using wicket.markup.html.form.DropDownChoice and it works fine until now, when I got a suspicious behavior (maybe bug) Into database I have one data called TEMP CUSTOMER that has id = -1 (it's business logic of our client, that data came through database importation, and I can not update that data) Following my code: List relations = relationManager.list(); final DropDownChoice ddRelations = new DropDownChoice(relation, ( task.getRelation() == null) ? new Model() : new Model(task.getRelation()), relations, new IChoiceRenderer() { public Object getDisplayValue(Object object) { return ((Relation) object).getName(); } public String getIdValue(Object object, int index) { return String.valueOf(((Relation) object).getId()); } }); form.add(ddRelations); and HERE is the source code generate on html : select name=relation option selected=selected value=Choose one/option option selected=selected value=-1TEMP CUSTOMER/option option value=1CUSTOMER 1/option option value=2CUSTOMER 2/option .. and so on ... As you can see, there are two options with selected attribute, therefore always TEMP CUSTOMER will be selected. When I saw this, I though why in all other dropdownchoices that I had already implemented following the same sample are working very well ? I had no doubts, and I changed the TEMP CUSTOMER id on database to 1 and ... sup.. the dropdownchoice works fine. But I can't change that data, so I rollback, and also the problem rollback. I ask to you , experts guys, if I put a negative value into a dropdownchoice, it will be the default value if none is selected ? How I can do Choose one be the default value in this specific case ? Any idea to solve this problem ? Thank you Best Regards Juliano
Re: Create button to open popup Window.
You may want to check out PopupSettings as well. http://wicketstuff.org/wicket13doc/org/apache/wicket/markup/html/link/PopupSettings.html Jeremy On Dec 10, 2007 5:33 PM, Christian Alejandro Marquez Grabia [EMAIL PROTECTED] wrote: Hi Maybe you should look at this example using Modal Windows http://www.wicket-library.com/wicket-examples/ajax/modal-window.1 Cheers, Chris On 12/10/07, Karen Schaper [EMAIL PROTECTED] wrote: Hi, I am very new to wicket. My background is with jsp. I'd like to add a button that will open a popup window that contains mulitple checkboxes. The user will select a few checkboxes and then those choices will be listed back on the main page ( using ajax??) Right now I'm trying to figure out how in wicket to have my button open a popup window. I don't want to submit the form but have some type of onclick event. Any insight is greatly appreciated. Thanks Karen - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Overlay panel on ajax call
I would assume this can be done entirely using CSS.. Try something like: div#greyBackground {position:absolute;z-index:2;top:0;left:0;width:100%;height:100%;background:rgb(230,230,230);opacity:.75;filter:alpha(opacity=75);text-decoration:none;} and use the wicket simpleattributemodifier to change the style attribute display option. J On Dec 11, 2007 10:01 AM, Alex Objelean [EMAIL PROTECTED] wrote: Use ajaxCallDecorator and javascript. There is a jquery plugin, called blockUI. You can use it, or write something similar to get the same behavior. Regards, Alex. Newgro wrote: Hi *, i have a long running task. The result will be presented in a panel. The panel is already present if the task is started. I would like to disable the panel until the task is done. The presentation of the panel should be semi-transparent with a running circle. How can i reach this? Can anybody show me a hint? i tried the LazyLoadPanel. The problem with it is that it's completely invisible. Thanks Per -- View this message in context: http://www.nabble.com/Overlay-panel-on-ajax-call-tp14270197p14275684.html Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Wicket behind a front-end proxy
I am pretty sure my configuration is correct as per the documentation however I am having the following problem: My configuration is as follows: Apache 2.2 (mod_proxy_jk) -- Tomcat 5.5(JBoss embedded) My Wicket application filter is mapped to /* and my WAR file is deployed within a context of /web therefore URL's look like http://pabst:8080/web/mypage http://myhost:8080/web/mypage or http://pabst:8080/web/?x=TFx*mXM8oGdr1hAFT5*lkAhttp://myhost:8080/web/?x=TFx*mXM8oGdr1hAFT5*lkAetc.. using the CryptedUrlWebRequestCodingStrategy. Here is my Apache virtual host configuration for mod_proxy running on tiger proxing to pabst : VirtualHost *:80 ServerName tiger DocumentRoot /opt/www/ ProxyRequests Off Proxy * Order deny,allow Allow from all /Proxy RewriteEngine on #HACK to fix home page context issue RewriteRule ^/web(.*) $1 [R=302,NC] ProxyPass / ajp://10.0.0.1:8009/web/ ProxyPassReverse / ajp://10.0.0.1:8009/web/ ProxyPassReverseCookiePath /web / ProxyPreserveHost On RewriteLog /var/log/httpd/rewrite.log RewriteLogLevel 2 /VirtualHost This works just fine, however without the rewrite rule mentioned above the site redirects to /web/[page] under some circumstances. As far as I can tell it happens when you click on a link that requires authorization, RestartResponseAtInterceptPageException is thrown and it attempts redirect to the InterceptPage but the ProxyPassReverse rule isn't applied. It also seems to happen when ever Application.getHomePage() is called, but I can't confirm that. One last thing and I'm not sure if it matters but getHomePage() is returning a page that is an Authenticated web page, I do this because this way the URL doesn't change from the logged in home page versus the unauthenticated home page. For the people who aren't having problems with this, are you using Tomcat? Any help is appreciated. j On Dec 9, 2007 3:18 AM, Frank Bille [EMAIL PROTECTED] wrote: If you read[1], it say what you need to do (and which version of Apache httpd you need to use). Frank [1]: http://cwiki.apache.org/WICKET/wicket-behind-a-front-end-proxy.html On Dec 9, 2007 8:15 AM, sshark [EMAIL PROTECTED] wrote: Hi, I am trying the same but it does not seems to work.What I want is to be able to access Wicket application using the URL * http://www.someapps.com*instead of *http://myapps.com/wicketapps*. I am using Apache 1.3. Should I be using Apache 2.x instead? Please advise. Thanks My configuration is VirtualHost myapps.com DocumentRoot /home/vocanic/apps_vocanic_net ServerAlias www.myapps.com JkMount /* vocanic_1 /VirtualHost VirtualHost someapps.com ServerAlias www.someapps.com ProxyPass / http://localhost:10012/wicketapps ProxyPassReverse / http://localhost:10012/wicketapps #ProxyPassReverseCookiePath /citibank-survey / #not supported in Apache 1.3 /VirtualHost /lim/ p.s. I tried to post this message in reply to the topic Re: Wicket behind a front-end proxy in Nabble but it was rejected. The error was, I quoted, *This message was created automatically by mail delivery software. A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed: users@wicket.apache.org SMTP error from remote mail server after end of data: host mx1.eu.apache.org [192.87.106.230]: 552 spam score (5.0) exceeded threshold** * Can anyone shed someone light here? Thanks
Re: Wicket 1.3 rc1 Relative URLs not working properly
The /1 is the web app context. Change it to ../ breaks it on the pages that were working before. One thing I noticed is that if I deploy this to a server which has mod_proxy set up to hide the /1 it seems to work fine. j On Dec 3, 2007 4:10 AM, Johan Compagner [EMAIL PROTECTED] wrote: and /1/ is your servlyet path? what happens if you put ../css/style.css in your markup? Because from the normal page that is the css you want i guess? johan On Dec 2, 2007 11:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I just upgraded to Wicket 1.3, it was remarkably smooth. It took about 6 hours overall. Every single thing was explained very well in the migration guide and the things i was looking forward to in 1.3 are working perfectly. The only issue I am having is if I have a page this is not mounted as a bookmarkable page the relative paths for my stylesheet and other resources are written out incorrect. Below are examples for the same page if I mount the page versus not. *Bookmarked Page URL (works):* http://localhost/1/gettingstarted link rel=stylesheet type=text/css href=../css/style.css/ *Nonbookmarked Page URL (doesn't work): * http://localhost/1/?x=5uwbo6kafiblurBY3bq1UEFwOyXneRheYz2FfwYwMiQAxP5GPHI1HfUHBUhydOCe link rel=stylesheet type=text/css href=css/style.css/ *As it's written in my base page html:* link rel=stylesheet type=text/css href=css/style.css/ Is this something I missed in the migration, or a left over, bug maybe? Jeremy
Re: How to secure passwords?
Pills, I don't really thing this has anything to do w/ Wicket... Do a Google search for java password hash. A quick search found this: http://www.devarticles.com/c/a/Java/Password-Encryption-Rationale-and-Java-Example/ J On Dec 3, 2007 9:40 AM, Pills [EMAIL PROTECTED] wrote: Hello, I've a little question with wicket: I would like to hash my users' passwords (with md5) to make them unreadable for a human. And I also would like to hash them before sending them through the network (to avoid the biggest part of security issues). Is there a way to achieve this? Thank you ;) -- View this message in context: http://www.nabble.com/How-to-secure-passwords--tf4936916.html#a14131090 Sent from the Wicket - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: How to secure passwords?
You are correct, I'm assuming his admin has knowledge of the salt, if there even was one... On Dec 3, 2007 1:33 PM, Sebastiaan van Erk [EMAIL PROTECTED] wrote: Jeremy Levy wrote: Don't use MD5: http://md5.rednoize.com/ 328b78157026ea76f87d3f2d7111dfb1 j I REALLY don't get your point. So you can do a dictionary attack on MD5 hashes or brute force on short plaintexts if you don't use a salt. Weeha. So what else is new? This has ABSOLUTELY NOTHING to do with MD5. This works with SHA1, and ANY other hash. That's why you use salts. When you store a hashed password in the database you generally do something like this. Take a random generated alphanumeric string of 10 chars: GXSYvmzz0y Then take the plaintext password, i.e., test123 and append it to the salt: GXSYvmzz0y$test123 Now make an MD5 hash: ca62c4bd0a5094d9198112a6ce6ab4f4 Now prepend the salt to the hash, and store this in the database. In other words, store this: GXSYvmzz0y$ca62c4bd0a5094d9198112a6ce6ab4f4 in the database. To verify the password for a user, split the stored value, use the salt to compute the required hash, and compare. Good luck cracking that. Your site is not going to help, and neither will rainbow crack. Regards, Sebastiaan On Dec 3, 2007 12:17 PM, Sebastiaan van Erk [EMAIL PROTECTED] wrote: Korbinian Bachl wrote: However, they *CAN NOT* generate a collision for an arbitrary hash. Furthermore, doing this in a limited size string (like a password) adds another complication. they can and did ! - if you have a hashvalue e.g: 79054025255fb1a26e4bc422aef54eb4 you can use various reverse tables to get the needed inputString into any md5(inputString) function to get the desired hash - example look here: http://www.antsight.com/zsl/rainbowcrack/ They're using precomputed tables to speed up finding a hash from a *known* plaintext space. For example, the 36GB md5 table allows you to find which string of 1-8 characters from the lowercase alphanum charset was used to generate a specific has. To be specific, if I provided the hash: 4a251a2ef9bbf4ccc35f97aba2c9cbda rainbow crack would find the key: test123. However, if I provided the hash: 36a03a8a4c00e81f03d62d8b04bbbf4d rainbow crack would *NOT* find the key: Test123, since it contains a character not in their character set. Furthermore, it would find no key at all if it so happens (which is overwhelmingly probably the case) that there exists no 1-8 string lowercase alphanum string which has this hash. with classic rainbow tables or hybrid rainbow tables you get a 99,9% chance to score a hit for under 1h time... sounds not very secure to me Only for specific plaintexts, after precomputing the tables. Nope, MD5 password hashes are still perfectly fine. sure? Yes, secure enough. In practical use, passwords are rather weak, and there are many easy attack points (social engineering, reading passwords from an unprotected password vault of the browser, dictionary attacks, etc.). Hashing the password is (in general) used to hide the plaintext from view (in a DB for example). Furthermore, anybody can gain access to an account if they have write access to the DB by simply putting in their own hash. Hashing the password client side is actually UNSAFE. This means the hash goes over the network, and somebody else can just send the same hash to the server to log in without ever knowing the user's password. and its more save if the md5 sits in the RDBMS that may be breached? Yes again. If your RDBMS is breached you've got far more serious issues. Futhermore, somebody sniffing a hash going of the network (especially LAN) is *EASY*. If you have a secure setup with your RDBS, it's on a safe network, behind a DMZ, and not accessible from the internet directly. Apart from other confidential data that will be leaked (e.g. credit card numbers, or whatever), I think hashed MD5 passwords are the least of your problems. But I agree with one thing: since it's free in Java to use SHA instead of MD5 (all you have to do is change 1 little string), you may as well use SHA. Regards, Sebastiaan
Re: Wicket 1.3 rc1 Relative URLs not working properly
Sorry for now explaining this properly. My application is deployed within a context of /1. The Wicket filter is mapped to /* of the app context. The first page of the site has url of http://www.somehost.com/1/welcomewhere welcome is mounted as a bookmarkable page. There is a link from the welcome page to a page that isn't bookmarked. The relative path of the CSS is incorrect on the page that isn't mounted as a bookmarkable page. If I make it bookmarkable the path to the CSS its correct. I'm going to create a quickstart project to demonstrate it and log a bug. J On Dec 3, 2007 4:40 PM, Johan Compagner [EMAIL PROTECTED] wrote: huh? i must be missing something here. you say to the first that it works and to the second that it doesn't if /1 is the context then would say the first is broken and the second should work. because the first the url is this: localhost/css/style.css but thats outside of the context. the second it seems to be localhost/1/css/xxx and that seems ok then But it is still strange that those 2 pages give different urls because both should be css/ as far as i see because they are on both on the same level. Please make a jira issue for this johan On Dec 3, 2007 4:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: The /1 is the web app context. Change it to ../ breaks it on the pages that were working before. One thing I noticed is that if I deploy this to a server which has mod_proxy set up to hide the /1 it seems to work fine. j On Dec 3, 2007 4:10 AM, Johan Compagner [EMAIL PROTECTED] wrote: and /1/ is your servlyet path? what happens if you put ../css/style.css in your markup? Because from the normal page that is the css you want i guess? johan On Dec 2, 2007 11:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I just upgraded to Wicket 1.3, it was remarkably smooth. It took about 6 hours overall. Every single thing was explained very well in the migration guide and the things i was looking forward to in 1.3 are working perfectly. The only issue I am having is if I have a page this is not mounted as a bookmarkable page the relative paths for my stylesheet and other resources are written out incorrect. Below are examples for the same page if I mount the page versus not. *Bookmarked Page URL (works):* http://localhost/1/gettingstarted link rel=stylesheet type=text/css href=../css/style.css/ *Nonbookmarked Page URL (doesn't work): * http://localhost/1/?x=5uwbo6kafiblurBY3bq1UEFwOyXneRheYz2FfwYwMiQAxP5GPHI1HfUHBUhydOCe link rel=stylesheet type=text/css href=css/style.css/ *As it's written in my base page html:* link rel=stylesheet type=text/css href=css/style.css/ Is this something I missed in the migration, or a left over, bug maybe? Jeremy
Re: Wicket 1.3 rc1 Relative URLs not working properly
WICKET-1205 On Dec 3, 2007 5:16 PM, Jeremy Levy [EMAIL PROTECTED] wrote: Sorry for now explaining this properly. My application is deployed within a context of /1. The Wicket filter is mapped to /* of the app context. The first page of the site has url of http://www.somehost.com/1/welcomewhere welcome is mounted as a bookmarkable page. There is a link from the welcome page to a page that isn't bookmarked. The relative path of the CSS is incorrect on the page that isn't mounted as a bookmarkable page. If I make it bookmarkable the path to the CSS its correct. I'm going to create a quickstart project to demonstrate it and log a bug. J On Dec 3, 2007 4:40 PM, Johan Compagner [EMAIL PROTECTED] wrote: huh? i must be missing something here. you say to the first that it works and to the second that it doesn't if /1 is the context then would say the first is broken and the second should work. because the first the url is this: localhost/css/style.css but thats outside of the context. the second it seems to be localhost/1/css/xxx and that seems ok then But it is still strange that those 2 pages give different urls because both should be css/ as far as i see because they are on both on the same level. Please make a jira issue for this johan On Dec 3, 2007 4:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: The /1 is the web app context. Change it to ../ breaks it on the pages that were working before. One thing I noticed is that if I deploy this to a server which has mod_proxy set up to hide the /1 it seems to work fine. j On Dec 3, 2007 4:10 AM, Johan Compagner [EMAIL PROTECTED] wrote: and /1/ is your servlyet path? what happens if you put ../css/style.css in your markup? Because from the normal page that is the css you want i guess? johan On Dec 2, 2007 11:08 PM, Jeremy Levy [EMAIL PROTECTED] wrote: I just upgraded to Wicket 1.3, it was remarkably smooth. It took about 6 hours overall. Every single thing was explained very well in the migration guide and the things i was looking forward to in 1.3 are working perfectly. The only issue I am having is if I have a page this is not mounted as a bookmarkable page the relative paths for my stylesheet and other resources are written out incorrect. Below are examples for the same page if I mount the page versus not. *Bookmarked Page URL (works):* http://localhost/1/gettingstarted link rel=stylesheet type=text/css href=../css/style.css/ *Nonbookmarked Page URL (doesn't work): * http://localhost/1/?x=5uwbo6kafiblurBY3bq1UEFwOyXneRheYz2FfwYwMiQAxP5GPHI1HfUHBUhydOCe link rel=stylesheet type=text/css href=css/style.css/ *As it's written in my base page html:* link rel=stylesheet type=text/css href=css/style.css/ Is this something I missed in the migration, or a left over, bug maybe? Jeremy
Wicket 1.3 rc1 Relative URLs not working properly
I just upgraded to Wicket 1.3, it was remarkably smooth. It took about 6 hours overall. Every single thing was explained very well in the migration guide and the things i was looking forward to in 1.3 are working perfectly. The only issue I am having is if I have a page this is not mounted as a bookmarkable page the relative paths for my stylesheet and other resources are written out incorrect. Below are examples for the same page if I mount the page versus not. *Bookmarked Page URL (works):* http://localhost/1/gettingstarted link rel=stylesheet type=text/css href=../css/style.css/ *Nonbookmarked Page URL (doesn't work): * http://localhost/1/?x=5uwbo6kafiblurBY3bq1UEFwOyXneRheYz2FfwYwMiQAxP5GPHI1HfUHBUhydOCe link rel=stylesheet type=text/css href=css/style.css/ *As it's written in my base page html:* link rel=stylesheet type=text/css href=css/style.css/ Is this something I missed in the migration, or a left over, bug maybe? Jeremy
InlineFrame and Ajax Timer failing
I've created a Ajax Timer similar to the one on the example page, it works well, and I use it several places on my site. However when it's added to the same page as a InlineFrame/Iframe the Ajax callback fails with the following error: *INFO: * *INFO: * Initiating Ajax GET request on /1/m?x=R..t85wwicket:behaviorId=0wicket:ignoreIfNotActive=truerandom= 0.9373848969782422 *INFO: *Invoking pre-call handler(s)... *INFO: *Received ajax response (0 characters) *INFO: * *ERROR: * Error while parsing response: Could not find root ajax-response element *INFO: *Invoking post-call handler(s)... *INFO: *Invoking failure handler(s).. I've been messing with it for sometime now and can't see to get a grasp on whats not functioning properly... J
Re: InlineFrame and Ajax Timer failing
I fixed it. I was creating the InlineFrame by passing in a Page to the constructor, I switched it to MyPage.class and it worked... Not quite sure why though.. j On Nov 27, 2007 10:29 AM, Jeremy Levy [EMAIL PROTECTED] wrote: I've created a Ajax Timer similar to the one on the example page, it works well, and I use it several places on my site. However when it's added to the same page as a InlineFrame/Iframe the Ajax callback fails with the following error: *INFO: * *INFO: * Initiating Ajax GET request on /1/m?x=R..t85wwicket:behaviorId=0wicket:ignoreIfNotActive=truerandom= 0.9373848969782422 *INFO: *Invoking pre-call handler(s)... *INFO: *Received ajax response (0 characters) *INFO: * *ERROR: *Error while parsing response: Could not find root ajax-response element *INFO: *Invoking post-call handler(s)... *INFO: *Invoking failure handler(s).. I've been messing with it for sometime now and can't see to get a grasp on whats not functioning properly... J
possible bug in 1.2.6 / 1.3 Include
I found this while working on 1.2.6 and checked it out in 1.3 and it's the same. It appears as though Include does not pay attention to the contextpath if it is explicitly set. Line 162 (In 1.2.6) or line 233 (in 1.3b4) of Include is the following line which as I understands it builds a absolute URL from a relative path from the model: buildUrl.append(req.getContextPath()).append('/').append(url); It's using the request's context path to build the absolute URL, if this is behind a proxy it will fail, I changed my copy to this: buildUrl.append (getApplication().getApplicationSettings().getContextPath()).append('/').append(url); Am I misunderstanding this? Jeremy
Using mod_proxy / mod_rewrite to hang app off root
I've having trouble getting my application behind apache hanging off the root, my application servers url are as follows: http://localhost:8080/context/servlet/bookmarkpage I'd like the URL to be: http://localhost/bookmarkpage I've set up Apache 2.2 in from of it. I can get Apache2 working so that the url is http://localhost/servlet/bookmarkpage, however I want to get rid of the servlet as well. To do that I am aware of two options, one is to write a rewrite rule which removes the servlet from the url and exclude any resources from the rule. I can't quite figure that rule out but I am sure I can given some time. The other option is to set the wicket servlet to /* which is simple and works very nicely, however then ajax calls backs fail. Is there a way to fix that? Perhaps a rewrite rule? What are other people doing? j
Custom Content
I'm attempting to load the markup for a page based on values that are available when the page is constructed. For example, I want to be able to pass a parameter into a page and then lookup the name of the content file in my database based on this parameter and then have the page load and display the appropriate content. I've tried looking at the custom resource loading example in the examples package but that seems to work by loading content based on the class name and I didn't see a way to extend it. I've tried overwriting the newMarkupResourceStream method, but it seems to be called before the constructor is called as well as before the session is available. Any suggestions? j
Re: Custom Content
Will that work if the content includes a form? I would like to be able to have a page which includes a form but have a couple of different versions of the HTML and be able to select the one I want based on the param... In otherwords the HTML will contain form elements with wicket:id attributes which I want to be associated with elements I've added in the form class. The reason is I want to have radically different layouts for a page/form which I don't want to have to update any java code to enable, only add the new HTML file and update my database. Swapping in different style sheets which would seem to make the most sense isn't going to work in this case.. j On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: stick a content into a label and call label.setescapemodelstrings(false) -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: I'm attempting to load the markup for a page based on values that are available when the page is constructed. For example, I want to be able to pass a parameter into a page and then lookup the name of the content file in my database based on this parameter and then have the page load and display the appropriate content. I've tried looking at the custom resource loading example in the examples package but that seems to work by loading content based on the class name and I didn't see a way to extend it. I've tried overwriting the newMarkupResourceStream method, but it seems to be called before the constructor is called as well as before the session is available. Any suggestions? j
Re: Custom Content
Igor, I was afraid you were going to say that, we are still on 1.2.5 and I think those are 1.3 features :(. We aren't planning to upgrade until it's released. Can you think of any alternatives? I've divided the entry page and the form page into two separate pages, the first page figures out which html file to use, stores it in a static hastable somewhere else, using the sessionid as the key and forwards to the page that loads the HTML file. ( I know thats very unwickety, not to mention hacky). I then load the value out of the hashtable in newMarkupResourceStream and that works. Only issue is that newMarkupResourceStream is only called on the first time the page loads when it's compiled with the HTML i suppose. Is there any way to prevent that for one class / page? J On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: see IMarkupResourceStreamProvider and IMarkupCacheKeyProvider. make that page implement both and suck the markup in from the db. -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: Will that work if the content includes a form? I would like to be able to have a page which includes a form but have a couple of different versions of the HTML and be able to select the one I want based on the param... In otherwords the HTML will contain form elements with wicket:id attributes which I want to be associated with elements I've added in the form class. The reason is I want to have radically different layouts for a page/form which I don't want to have to update any java code to enable, only add the new HTML file and update my database. Swapping in different style sheets which would seem to make the most sense isn't going to work in this case.. j On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: stick a content into a label and call label.setescapemodelstrings (false) -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: I'm attempting to load the markup for a page based on values that are available when the page is constructed. For example, I want to be able to pass a parameter into a page and then lookup the name of the content file in my database based on this parameter and then have the page load and display the appropriate content. I've tried looking at the custom resource loading example in the examples package but that seems to work by loading content based on the class name and I didn't see a way to extend it. I've tried overwriting the newMarkupResourceStream method, but it seems to be called before the constructor is called as well as before the session is available. Any suggestions? j
Re: Custom Content
Thanks. I see, so if I were to return a random value with getVariation, that would effectively defeat reusing the complied version. Could you give me more details on markupresourcestreamprovider I couldn't find anything like that in the api, what should I extend / implement and how do I use it? j On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: newMarkupResourceStream is only called on the first time the page loads when it's compiled with the HTML i suppose. Is there any way to prevent that for one class / page? not as far as i know, this is why we added IMarkupCacheKeyProvider what you can do is use your own markupresourcestreamprovider, but use it in conjunection with getvariation(). so when you pull out that database id return it from getvariation() and that way you will get one call to your markupresourcestreamprovider for every database id instead of just a single one. -igor J On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: see IMarkupResourceStreamProvider and IMarkupCacheKeyProvider. make that page implement both and suck the markup in from the db. -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: Will that work if the content includes a form? I would like to be able to have a page which includes a form but have a couple of different versions of the HTML and be able to select the one I want based on the param... In otherwords the HTML will contain form elements with wicket:id attributes which I want to be associated with elements I've added in the form class. The reason is I want to have radically different layouts for a page/form which I don't want to have to update any java code to enable, only add the new HTML file and update my database. Swapping in different style sheets which would seem to make the most sense isn't going to work in this case.. j On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: stick a content into a label and call label.setescapemodelstrings (false) -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: I'm attempting to load the markup for a page based on values that are available when the page is constructed. For example, I want to be able to pass a parameter into a page and then lookup the name of the content file in my database based on this parameter and then have the page load and display the appropriate content. I've tried looking at the custom resource loading example in the examples package but that seems to work by loading content based on the class name and I didn't see a way to extend it. I've tried overwriting the newMarkupResourceStream method, but it seems to be called before the constructor is called as well as before the session is available. Any suggestions? j
Re: Custom Content
Okay, I think i figured it out. Using AbstractResourceStream which gets content based on the ids. Thank you. On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: Thanks. I see, so if I were to return a random value with getVariation, that would effectively defeat reusing the complied version. Could you give me more details on markupresourcestreamprovider I couldn't find anything like that in the api, what should I extend / implement and how do I use it? j On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: newMarkupResourceStream is only called on the first time the page loads when it's compiled with the HTML i suppose. Is there any way to prevent that for one class / page? not as far as i know, this is why we added IMarkupCacheKeyProvider what you can do is use your own markupresourcestreamprovider, but use it in conjunection with getvariation(). so when you pull out that database id return it from getvariation() and that way you will get one call to your markupresourcestreamprovider for every database id instead of just a single one. -igor J On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: see IMarkupResourceStreamProvider and IMarkupCacheKeyProvider. make that page implement both and suck the markup in from the db. -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: Will that work if the content includes a form? I would like to be able to have a page which includes a form but have a couple of different versions of the HTML and be able to select the one I want based on the param... In otherwords the HTML will contain form elements with wicket:id attributes which I want to be associated with elements I've added in the form class. The reason is I want to have radically different layouts for a page/form which I don't want to have to update any java code to enable, only add the new HTML file and update my database. Swapping in different style sheets which would seem to make the most sense isn't going to work in this case.. j On 10/13/07, Igor Vaynberg [EMAIL PROTECTED] wrote: stick a content into a label and call label.setescapemodelstrings (false) -igor On 10/13/07, Jeremy Levy [EMAIL PROTECTED] wrote: I'm attempting to load the markup for a page based on values that are available when the page is constructed. For example, I want to be able to pass a parameter into a page and then lookup the name of the content file in my database based on this parameter and then have the page load and display the appropriate content. I've tried looking at the custom resource loading example in the examples package but that seems to work by loading content based on the class name and I didn't see a way to extend it. I've tried overwriting the newMarkupResourceStream method, but it seems to be called before the constructor is called as well as before the session is available. Any suggestions? j
Re: out of memory - wicket 1.2.6
Are you redeploying often with out restarting? Jeremy On 10/8/07, Nino Saturnino Martinez Vazquez Wael [EMAIL PROTECTED] wrote: At my former job, we had a memory leak not in our own application but a dependancy though.. Thats where jmeter and jprobe came into scope. It took me 12 hours of screen starin/running different scenarios to find out what it was, very boring but nice to see it wasnt my code. regards Nino Dipu Seminlal wrote: i would say very less ,i wouldn't rule it out though. On 10/8/07, Nino Saturnino Martinez Vazquez Wael [EMAIL PROTECTED] wrote: What are the chances of you having a memory leak in your code? regards Nino Dipu Seminlal wrote: yes it's in production mode Regards Dipu On 10/8/07, Nino Saturnino Martinez Vazquez Wael [EMAIL PROTECTED] wrote: Hmm this is always tricky.. I supose that you deployed wicket in production mode? If not the only way forward are using a memory profiler, and a performance tester (because memory errors might not be obvious until youve gotten a lot of clicks). I'd suggest JProbe and JMeter... http://www.quest.com/jprobe/memory-home.aspx http://jakarta.apache.org/jmeter/ regards Nino Dipu Seminlal wrote: Hi, One of our servers running wicket application went down throwing out of memory error. This is the first time it has ever happened, can any one throw some light on the reason for the issue. 2007-10-08 11:36:02:425 ERROR wicket.RequestCycle [TP-Processor63] - Method onFormSubmitted of interface wicket.markup.html.form.IFormSubmitListenertargeted at component [MarkupContainer [Component id = searchForm, page = com.xmltravel.fab1.wicket.flights.HorizontalSearchNavPage, path = 0:searchLandingPanel: searchForm.HorizontalSearchNavPagePanel$InputForm , isVisible = true, isVersioned = true]] threw an exception wicket.WicketRuntimeException: Method onFormSubmitted of interface wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = searchForm, page = com.xmltravel.fab1.wicket.flights.HorizontalSearchNavPage, path = 0:searchLandingPanel: searchForm.HorizontalSearchNavPagePanel$InputForm , isVisible = true, isVersioned = true]] threw an exception at wicket.RequestListenerInterface.invoke( RequestListenerInterface.java :198) at wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents (ListenerInterfaceRequestTarget.java:74) at wicket.request.compound.DefaultEventProcessorStrategy.processEvents( DefaultEventProcessorStrategy.java:65) at wicket.request.compound.AbstractCompoundRequestCycleProcessor.processEvents ( AbstractCompoundRequestCycleProcessor.java:57) at wicket.RequestCycle.doProcessEventsAndRespond( RequestCycle.java :896) at wicket.RequestCycle.processEventsAndRespond(RequestCycle.java :929) at wicket.RequestCycle.step(RequestCycle.java:1010) at wicket.RequestCycle.steps(RequestCycle.java:1084) at wicket.RequestCycle.request(RequestCycle.java:454) at wicket.protocol.http.WicketServlet.doGet(WicketServlet.java :219) at wicket.protocol.http.WicketServlet.doPost(WicketServlet.java :262) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:210) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:151) at org.apache.jk.server.JkCoyoteHandler.invoke( JkCoyoteHandler.java :200) at org.apache.jk.common.HandlerRequest.invoke( HandlerRequest.java :283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java :773) at org.apache.jk.common.ChannelSocket.processConnection( ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt( ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run ( ThreadPool.java:685) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.reflect.InvocationTargetException at