How to add dynamic attributes to tag ?
I've had success my and , but trying to add as a WebMarkupContainer gave me: Last cause: Mis-placed . must be outside of , , and . Error occurred while rendering page: SomePage using markup stream: file:/.../SomePage.html Motivation : https://developers.google.com/search/docs/data-types/sitename Thank you. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-add-dynamic-attributes-to-head-tag-tp4678490.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
Re: How to "force" page redirects to HTTPS?
Thanks Sebastian for the hint. But yes, I've mapped all pages before calling setRootRequestMapper. I also put logs in my getDesiredSchemeFor and they're being called, and returning HTTPS for all calls. But is it possible there are some cases it's not being called (?) Or perhaps the ?1 stateful redirect is handled differently? My current issue is only with the redirects. Everything else seems to be fine... Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-force-page-redirects-to-HTTPS-tp4678479p4678484.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
Re: How to "force" page redirects to HTTPS?
I have managed to use XForwardedRequestWrapperFactory by creating a Filter. I also use HttpsMapper as follows : setRootRequestMapper(new HttpsMapper(getRootRequestMapper(), new HttpsConfig()) { @Override protected Scheme getDesiredSchemeFor(IRequestHandler handler) { final HttpServletRequest request = (HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest(); // Assume runtime deployment is always reverse proxied and SSL-terminated by load balancer // WARNING: This requires proper XForwardedRequestWrapperFactory configuration AND nginx configuration final Scheme desiredScheme = "https".equalsIgnoreCase(request.getScheme()) ? Scheme.HTTPS : super.getDesiredSchemeFor(handler); log.debug("Scheme: {} Secure: {} Remote Addr: {} desiredScheme for {}: {}", request.getScheme(), request.isSecure(), request.getRemoteAddr(), null != handler ? handler.getClass().getSimpleName() : null, desiredScheme); return desiredScheme; } }); However, even though I've confirmed that XForwardedRequestWrapperFactory works as intended (settings scheme=https and isSecure=true), getDesiredSchemeFor() always returns HTTPS in my case, initial redirect for stateful pages are always done using HTTP. i.e. from https://.../match/edit redirected to http://.../match/edit?1, while I would expect it to be redirected to https://.../match/edit?1 Please help, thank you in advance. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-force-page-redirects-to-HTTPS-tp4678479p4678482.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
Re: How to "force" page redirects to HTTPS?
This seems to be interesting: * https://issues.apache.org/jira/browse/WICKET-3015 * https://issues.apache.org/jira/browse/WICKET-3009 But how to use it? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-force-page-redirects-to-HTTPS-tp4678479p4678480.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
How to "force" page redirects to HTTPS?
Hi, My setup is: Wicket 7.8 running in Spring Boot (HTTP:8080) <--served by-- nginx (HTTP:80) <--CDNed by-- CloudFlare (HTTPS:443) This works almost well, however everytime Wicket issues a redirect it always goes to http://version first, which is intercepted by CloudFlare then immediately redirected back again to the HTTPS version. This is inefficient (and may be why sometimes I experience certain issues with sessions, etc.) What I'd like to do is so that Wicket always redirects *to* HTTPS (only for Wicket pages, not manual URLs), or using predefined base URI that I set. I set a base URI manually because e.g. I want to send email outside of Wicket, the email needs to contain a link to the website, so the base URI needs to be known. I'd like to use this base URI configuration with Wicket too. However I don't want to use @RequireHttps because to the app server/Tomcat, it always comes as a plain HTTP request. Please help, thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-force-page-redirects-to-HTTPS-tp4678479.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
History API support for navigable AJAX pages/components?
Hi friends, Continuing the discussion on https://issues.apache.org/jira/browse/WICKET-5290 / http://apache-wicket.1842946.n4.nabble.com/Wicket7-History-API-support-for-navigable-AJAX-pages-components-td4660502.html, I made a simple working experiment: final DropdownSizePanel dropdownSizePanel = new DropdownSizePanel(dropdownSize, selectedSizeModel) { @Override protected void onSizeChanged(AjaxRequestTarget target) { target.add(productGrid); final PageParameters newParams = new PageParameters(getPage().getPageParameters()); newParams.set(selectedSize, Optional.ofNullable(selectedSizeModel.getObject()).map(Term::getQName).orElse(null)); final String newUri = urlFor(getPage().getPageClass(), newParams).toString(); target.appendJavaScript(window.history.pushState(null, null, + JSONObject.quote(newUri) + );); } }; add(dropdownSizePanel); This works brilliantly with a caveat: Even after the browser URI is updated, next AJAX calls still use the old URI. So this is a missing piece, how do I change Wicket's client-side URI variable? So next AJAX calls will use the new URI. Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/History-API-support-for-navigable-AJAX-pages-components-tp4668897.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
Re: History API support for navigable AJAX pages/components?
I tried to do this: protected void onSizeChanged(AjaxRequestTarget target) { target.add(productGrid); final PageParameters newParams = new PageParameters(getPage().getPageParameters()); newParams.set(selectedSize, Optional.ofNullable(selectedSizeModel.getObject()).map(Term::getQName).orElse(null)); final String newUri = urlFor(getPage().getPageClass(), newParams).toString(); final String absoluteNewUri = RequestUtils.toAbsolutePath(getRequest().getUrl().toString(), newUri); target.appendJavaScript(window.history.pushState(null, null, + JSONObject.quote(newUri) + );); target.appendJavaScript(Wicket.Ajax.baseUrl = + JSONObject.quote(StringUtils.removeStart(absoluteNewUri, /)) + ;); } but although Wicket.Ajax.baseUrl does change in the client, but seems to have no effect. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/History-API-support-for-navigable-AJAX-pages-components-tp4668897p4668898.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
Re: java.lang.ClassNotFoundException: lowercased class name?
Thanks Martin, that really helps :) I have a clue though, all of those lowercased requests are coming from MSNBot IPs. I'm suspecting the bot is testing whether the URI is accessible via lowercase (perhaps for duplicate content prevention) if that's true then that would suck. However I also had a log where the request is from Googlebot and the requested class name seems to be correct, but still yields ClassNotFoundException... any idea how this could happen? 11:50:00.234 WARN | galerigoti || -ver-3D35A572284BBA11932BD72F46EE6574.js 66.249.67.16/crawl-66-249-67-16.googlebot.com Mozilla/5.0 (compati | -apr-8204-exec-5 | o.a.w.c.u.l.WicketObjects| Could not resolve class [org.soluvas.web.bootstrap.ToTopJs] java.lang.ClassNotFoundException: org.soluvas.web.bootstrap.ToTopJs at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718) ~[tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569) ~[tomcat-catalina-7.0.52.jar:7.0.52] at java.lang.Class.forName0(Native Method) ~[na:1.8.0_25] at java.lang.Class.forName(Class.java:344) ~[na:1.8.0_25] at org.apache.wicket.application.AbstractClassResolver.resolveClass(AbstractClassResolver.java:108) ~[wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.core.util.lang.WicketObjects.resolveClass(WicketObjects.java:72) ~[wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.core.request.mapper.BasicResourceReferenceMapper.resolveClass(BasicResourceReferenceMapper.java:153) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.core.request.mapper.BasicResourceReferenceMapper.mapRequest(BasicResourceReferenceMapper.java:129) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.request.mapper.ParentPathReferenceRewriter.mapRequest(ParentPathReferenceRewriter.java:84) [wicket-request-6.18.0.jar:6.18.0] at org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(CompoundRequestMapper.java:152) [wicket-request-6.18.0.jar:6.18.0] at org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:190) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:215) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) [wicket-core-6.18.0.jar:6.18.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at org.soluvas.web.site.servlet.ShiroPrincipalsServletFilter.doFilter(ShiroPrincipalsServletFilter.java:59) [org.soluvas.web.site-2.2.0-SNAPSHOT.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at org.soluvas.web.site.servlet.MoreMdcServletFilter.doFilter(MoreMdcServletFilter.java:62) [org.soluvas.web.site-2.2.0-SNAPSHOT.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:51) [logback-classic-1.0.13.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.3.jar:1.2.3] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.3.jar:1.2.3] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3] at
Re: java.lang.ClassNotFoundException: lowercased class name?
Slightly complete-er log: 19:20:27.925 WARN | zikra | | /wicket/resource/org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior/ajaxformchoicecomponentupdatingbehavior.min-ver-d12e39a9a23f5adefcfe3bfc3d520d68.js 207.46.13.122/msnbot-207-46-13-122.search.msn.com Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) R= | -apr-8204-exec-2 | o.a.w.c.u.l.WicketObjects| Could not resolve class [org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior] java.lang.ClassNotFoundException: org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718) ~[tomcat-catalina-7.0.52.jar:7.0.52] Some points: 1. URI is lowercased: /wicket/resource/org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior/ajaxformchoicecomponentupdatingbehavior.min-ver-d12e39a9a23f5adefcfe3bfc3d520d68.js 2. although the host is msnbot-207-46-13-122.search.msn.com, for the user agent it doesn't advertise as MSNBot ... 3. Referer header is empty, which isn't helpful :( 4. I don't really know where it gets this lowercased URI.. maybe my mistake, or maybe the bot does the lowercasing. 5. *If* it's my mistake, then why no other bots do lowercased URI requests? If this is actually MSNBot's issue, surely I shouldn't be the only one having this problem. I'm thinking of catching this particular Exception, logging it as DEBUG (effectively ignoring it), and go on with my life (i.e. return 404 not found or even 400 bad request). Any suggestion? If so, where should I put this Exception handler, is it in RequestListener? Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/java-lang-ClassNotFoundException-lowercased-class-name-tp4668754p4668766.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
java.lang.ClassNotFoundException: lowercased class name?
Has anyone ever encountered this error? It confuses me because: 1. It doesn't happen often, but happens a few times a day 2. Only happens on production 3. Pretty much all functionality work fine when tested manually What's weird is the class name is lowercased, i.e. org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior doesn't exist... but org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior does. Who did the lowercasing? 23:41:01.411 WARN | kalyanitun || -ver-d12e39a9a23f5adefcfe3bfc3d520d68.js msnbot-207-46-13-117.search.msn.com Mozilla/5.0 (compati | -apr-8204-exec-4 | o.a.w.c.u.l.WicketObjects| Could not resolve class [org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior] java.lang.ClassNotFoundException: org.apache.wicket.ajax.form.ajaxformchoicecomponentupdatingbehavior at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718) ~[tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569) ~[tomcat-catalina-7.0.52.jar:7.0.52] at java.lang.Class.forName0(Native Method) ~[na:1.8.0_25] at java.lang.Class.forName(Class.java:344) ~[na:1.8.0_25] at org.apache.wicket.application.AbstractClassResolver.resolveClass(AbstractClassResolver.java:108) ~[wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.core.util.lang.WicketObjects.resolveClass(WicketObjects.java:72) ~[wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.core.request.mapper.BasicResourceReferenceMapper.resolveClass(BasicResourceReferenceMapper.java:153) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.core.request.mapper.BasicResourceReferenceMapper.mapRequest(BasicResourceReferenceMapper.java:129) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.request.mapper.ParentPathReferenceRewriter.mapRequest(ParentPathReferenceRewriter.java:84) [wicket-request-6.18.0.jar:6.18.0] at org.apache.wicket.request.mapper.CompoundRequestMapper.mapRequest(CompoundRequestMapper.java:152) [wicket-request-6.18.0.jar:6.18.0] at org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:190) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:215) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) [wicket-core-6.18.0.jar:6.18.0] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) [wicket-core-6.18.0.jar:6.18.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at org.soluvas.web.site.servlet.ShiroPrincipalsServletFilter.doFilter(ShiroPrincipalsServletFilter.java:59) [org.soluvas.web.site-2.2.0-SNAPSHOT.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at org.soluvas.web.site.servlet.MoreMdcServletFilter.doFilter(MoreMdcServletFilter.java:62) [org.soluvas.web.site-2.2.0-SNAPSHOT.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:51) [logback-classic-1.1.2.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [tomcat-catalina-7.0.52.jar:7.0.52] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.3.jar:1.2.3] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.3.jar:1.2.3] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3]
Re: java.lang.ClassNotFoundException: lowercased class name?
I wonder how another filter could alter the behavior for this issue.. The call fails at org.apache.wicket.core.util.lang.WicketObjects.resolveClass(WicketObjects.java:72), surely the class name to be resolved is solely at Wicket's control? On Sun, Dec 14, 2014, 01:18 Ernesto Reinaldo Barreiro-4 [via Apache Wicket] ml-node+s1842946n4668756...@n4.nabble.com wrote: There are more filters, besides wicket filter, on the filter chain. Did you check those? -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/java-lang-ClassNotFoundException-lowercased-class-name-tp4668754p4668757.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
How to instruct RenderPageRequestHandler to redirect using 301 Permanent
I currently have a custom SEO-friendly RequestMapper with the following snippet: @Override public final IRequestHandler mapRequest(Request request) { try { final String userAgent = ((HttpServletRequest) request.getContainerRequest()).getHeader(User-Agent); final RedirectPolicy redirectPolicy = userAgent != null BotUtils.isBot(userAgent) ? RedirectPolicy.NEVER_REDIRECT : RedirectPolicy.AUTO_REDIRECT; final UrlInfo urlInfo = parseRequest(request); // check if the URL is long enough and starts with the proper segments if (urlInfo != null) { PageComponentInfo info = urlInfo.getPageComponentInfo(); Class? extends IRequestablePage pageClass = urlInfo.getPageClass(); PageParameters pageParameters = urlInfo.getPageParameters(); if (info == null) { // if there are is no page instance information // then this is a simple bookmarkable URL return processBookmarkable(pageClass, pageParameters, redirectPolicy); } else if (info.getPageInfo().getPageId() != null info.getComponentInfo() == null) { // if there is page instance information in the URL but no component and listener // interface then this is a hybrid URL - we need to try to reuse existing page // instance return processHybrid(info.getPageInfo(), pageClass, pageParameters, null); } else if (info.getComponentInfo() != null) { // with both page instance and component+listener this is a listener interface URL return processListener(info, pageClass, pageParameters); } else if (info.getPageInfo().getPageId() == null) { return processBookmarkable(pageClass, pageParameters, redirectPolicy); } } return null; } catch (MapperRedirectException e) { log.debug(Redirecting '{}' to canonical page: {}, request.getUrl(), e.getPageProvider()); // return new RedirectRequestHandler(redirectUrl, 301); return new RenderPageRequestHandler(e.getPageProvider(), RedirectPolicy.ALWAYS_REDIRECT); } } What it does is allow freeform root URI paths, e.g. http://www.tuneeca.com/t-1113012 instead of the longer http://www.tuneeca.com/product/t-1113012 . Now, requests to http://www.tuneeca.com/product/t-1113012 are also handled by the same RequestMapper and will be redirected to http://www.tuneeca.com/t-1113012 . However, currently it's using 302 temporary redirect. How to make it use 301 permanent redirect? Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-instruct-RenderPageRequestHandler-to-redirect-using-301-Permanent-tp4668716.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
Re: How to instruct RenderPageRequestHandler to redirect using 301 Permanent
Thanks for prompt advice Martin, however please explain more... I commented that code because I don't know how to construct the redirectUrl String from a PageProvider, inside RequestMapper.mapRequest? (Or alternatively, from PageClass + PageParameters) Hoping you can shed light on this. Thanks in advance. Hendy On Wed, Dec 10, 2014, 20:12 Martin Grigorov-4 [via Apache Wicket] ml-node+s1842946n4668717...@n4.nabble.com wrote: Hi, To do a normal redirect Wicket uses javax.servlet.http.HttpServletResponse#sendRedirect() and this sets 302 as a code. To have better control you should use RedirectRequestHandler, as in your commented out code. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Dec 10, 2014 at 2:56 PM, Hendy Irawan [hidden email] http:///user/SendEmail.jtp?type=nodenode=4668717i=0 wrote: I currently have a custom SEO-friendly RequestMapper with the following snippet: @Override public final IRequestHandler mapRequest(Request request) { try { final String userAgent = ((HttpServletRequest) request.getContainerRequest()).getHeader(User-Agent); final RedirectPolicy redirectPolicy = userAgent != null BotUtils.isBot(userAgent) ? RedirectPolicy.NEVER_REDIRECT : RedirectPolicy.AUTO_REDIRECT; final UrlInfo urlInfo = parseRequest(request); // check if the URL is long enough and starts with the proper segments if (urlInfo != null) { PageComponentInfo info = urlInfo.getPageComponentInfo(); Class? extends IRequestablePage pageClass = urlInfo.getPageClass(); PageParameters pageParameters = urlInfo.getPageParameters(); if (info == null) { // if there are is no page instance information // then this is a simple bookmarkable URL return processBookmarkable(pageClass, pageParameters, redirectPolicy); } else if (info.getPageInfo().getPageId() != null info.getComponentInfo() == null) { // if there is page instance information in the URL but no component and listener // interface then this is a hybrid URL - we need to try to reuse existing page // instance return processHybrid(info.getPageInfo(), pageClass, pageParameters, null); } else if (info.getComponentInfo() != null) { // with both page instance and component+listener this is a listener interface URL return processListener(info, pageClass, pageParameters); } else if (info.getPageInfo().getPageId() == null) { return processBookmarkable(pageClass, pageParameters, redirectPolicy); } } return null; } catch (MapperRedirectException e) { log.debug(Redirecting '{}' to canonical page: {}, request.getUrl(), e.getPageProvider()); // return new RedirectRequestHandler(redirectUrl, 301); return new RenderPageRequestHandler(e.getPageProvider(), RedirectPolicy.ALWAYS_REDIRECT); } } What it does is allow freeform root URI paths, e.g. http://www.tuneeca.com/t-1113012 instead of the longer http://www.tuneeca.com/product/t-1113012 . Now, requests to http://www.tuneeca.com/product/t-1113012 are also handled by the same RequestMapper and will be redirected to http://www.tuneeca.com/t-1113012 . However, currently it's using 302 temporary redirect. How to make it use 301 permanent redirect? Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-instruct-RenderPageRequestHandler-to-redirect-using-301-Permanent-tp4668716.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: [hidden email] http:///user/SendEmail.jtp?type=nodenode=4668717i=1 For additional commands, e-mail: [hidden email] http:///user/SendEmail.jtp?type=nodenode=4668717i=2 -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/How-to-instruct-RenderPageRequestHandler-to-redirect-using-301-Permanent-tp4668716p4668717.html To unsubscribe
Re: How to instruct RenderPageRequestHandler to redirect using 301 Permanent
Awesome!!! Thank so much Martin! And additional thanks for answering so quickly :)) Hendy On Wed, Dec 10, 2014, 20:36 Martin Grigorov-4 [via Apache Wicket] ml-node+s1842946n4668721...@n4.nabble.com wrote: RequestCycle.get().urlFor(pageClass, parameters) Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Dec 10, 2014 at 3:20 PM, Hendy Irawan [hidden email] http:///user/SendEmail.jtp?type=nodenode=4668721i=0 wrote: Thanks for prompt advice Martin, however please explain more... I commented that code because I don't know how to construct the redirectUrl String from a PageProvider, inside RequestMapper.mapRequest? (Or alternatively, from PageClass + PageParameters) Hoping you can shed light on this. Thanks in advance. Hendy On Wed, Dec 10, 2014, 20:12 Martin Grigorov-4 [via Apache Wicket] [hidden email] http:///user/SendEmail.jtp?type=nodenode=4668721i=1 wrote: Hi, To do a normal redirect Wicket uses javax.servlet.http.HttpServletResponse#sendRedirect() and this sets 302 as a code. To have better control you should use RedirectRequestHandler, as in your commented out code. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Dec 10, 2014 at 2:56 PM, Hendy Irawan [hidden email] http:///user/SendEmail.jtp?type=nodenode=4668717i=0 wrote: I currently have a custom SEO-friendly RequestMapper with the following snippet: @Override public final IRequestHandler mapRequest(Request request) { try { final String userAgent = ((HttpServletRequest) request.getContainerRequest()).getHeader(User-Agent); final RedirectPolicy redirectPolicy = userAgent != null BotUtils.isBot(userAgent) ? RedirectPolicy.NEVER_REDIRECT : RedirectPolicy.AUTO_REDIRECT; final UrlInfo urlInfo = parseRequest(request); // check if the URL is long enough and starts with the proper segments if (urlInfo != null) { PageComponentInfo info = urlInfo.getPageComponentInfo(); Class? extends IRequestablePage pageClass = urlInfo.getPageClass(); PageParameters pageParameters = urlInfo.getPageParameters(); if (info == null) { // if there are is no page instance information // then this is a simple bookmarkable URL return processBookmarkable(pageClass, pageParameters, redirectPolicy); } else if (info.getPageInfo().getPageId() != null info.getComponentInfo() == null) { // if there is page instance information in the URL but no component and listener // interface then this is a hybrid URL - we need to try to reuse existing page // instance return processHybrid(info.getPageInfo(), pageClass, pageParameters, null); } else if (info.getComponentInfo() != null) { // with both page instance and component+listener this is a listener interface URL return processListener(info, pageClass, pageParameters); } else if (info.getPageInfo().getPageId() == null) { return processBookmarkable(pageClass, pageParameters, redirectPolicy); } } return null; } catch (MapperRedirectException e) { log.debug(Redirecting '{}' to canonical page: {}, request.getUrl(), e.getPageProvider()); // return new RedirectRequestHandler(redirectUrl, 301); return new RenderPageRequestHandler(e.getPageProvider(), RedirectPolicy.ALWAYS_REDIRECT); } } What it does is allow freeform root URI paths, e.g. http://www.tuneeca.com/t-1113012 instead of the longer http://www.tuneeca.com/product/t-1113012 . Now, requests to http://www.tuneeca.com/product/t-1113012 are also handled by the same RequestMapper and will be redirected to http://www.tuneeca.com/t-1113012 . However, currently it's using 302 temporary redirect. How to make it use 301 permanent redirect? Thank you. Hendy -- View
Re: Wicket and microdata
Hi Dirk and Martin, Dirk Forchel wrote Martin Grigorov-4 wrote Another way is to add these attributes directly in the markup. No need to add Behavior to the components for something that is always true. Yes, but I prefer the dynamic way. A Component/Page provides some kind of microdata and implements an interface. The AttributeAppender takes the information and writes the appropriate attribute at the tag. I agree. Some markups are customizable by designers, I'd rather let them worry about presentation structure rather than semantic data, which are closer to the model. Martin Grigorov-4 wrote seen this before)? Or is this marker value for internal use only? At least the generated HTML code looks like intended. I would like to know whether there is a kind of general solution to deal with microdata, say a bunch of Behavior-classes to add this kind of data. AttributeModifier is a Behavior itself. There is no special code in Wicket for microdata. This specification is not broadly used. I thought someone has had the same requirements within his project and came with a general solution for this specification. Okay, fair enough. Martin, This [microdata] specification is not broadly used. some of us disagree with that (some refers to Google, Bing, and Yahoo, for a start) ;-) : https://blog.kissmetrics.com/get-started-using-schema/ Dirk, yes I have exactly the same requirements as yours for Bippo http://www.bippo.co.id/ . Do you share your solution somewhere? I'm planning to put my work as part of soluvas-web project on GitHub https://github.com/soluvas/soluvas-web since it's most comfortable within our build environment, but if anybody wants it in wicketstuff I can also contribute. Thanks. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-and-microdata-tp4661135p4668468.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
Re: Wicket and microdata
Here's what I came up with : https://github.com/soluvas/soluvas-web/commit/8cfbe121bc8589502154bf72fff9bd94762dd7cb While my usage is for e-commerce websites, with sufficient definitions it's usable for any kind of site, primarily using schema.org vocabulary. IMHO it's quite convenient (thanks to Wicket's Behavior programming model, yay!) and also type-safe (no Strings, ma!). Usage examples: final WebMarkupContainer productDiv = new WebMarkupContainer(productDiv); productDiv.add(new ItemScopeBehavior(SchemaOrgClass.PRODUCT)); ... protected void populateItem(final ListItemProductImage imageItem) { imageItem.add(new ImageMicrodataBehavior()); ... final Label descLabel = new Label(descriptionHtml, new PropertyModelString(model, descriptionHtml)); descLabel.add(new ItemPropBehavior(SchemaOrgProperty.DESCRIPTION)); ... inStockLabel = new Label(inStockStatus, In Stock); inStockLabel.add(new ItemPropEnumBehavior(SchemaOrgProperty.AVAILABILITY, ItemAvailability.IN_STOCK)); add(inStockLabel); outOfStockLabel = new Label(outOfStockStatus, Out of Stock); outOfStockLabel.add(new ItemPropEnumBehavior(SchemaOrgProperty.AVAILABILITY, ItemAvailability.OUT_OF_STOCK)); add(outOfStockLabel); ... currencyPriceAfterDiscountLbl.add(new ItemPropContentBehavior(SchemaOrgProperty.PRICE_CURRENCY, new PropertyModelCurrencyUnit(selectedProductModel, currency))); add(currencyPriceAfterDiscountLbl); final Label priceAfterDiscountsLabel = new MoneyLabel(price, priceAfterDiscountsModel); priceAfterDiscountsLabel.add(new ItemPropContentBehavior(SchemaOrgProperty.PRICE, priceAfterDiscountsModel)); ... localSkuCtr.add(new Label(localSkuValue, new PropertyModel(productModel, localSku)) .add(new ItemPropBehavior(SchemaOrgProperty.SKU)) ); Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Wicket-and-microdata-tp4661135p4668470.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
Re: [ANNOUNCE] Apache Wicket 6.17.0 released
After 3 days Wicket 6.17.0 is still not available from Maven Central: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.wicket%22%20AND%20a%3A%22wicket-core%22 Please check. Ironically (but good) Wicketstuff 6.17.0 is already available in Maven Central. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/ANNOUNCE-Apache-Wicket-6-17-0-released-tp4667360p4667383.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
Re: How to get PageClass from BufferedResponseRequestHandler ? And how to link related requests?
Thank you Martin! Filed https://issues.apache.org/jira/browse/WICKET-5621 Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-get-PageClass-from-BufferedResponseRequestHandler-And-how-to-link-related-requests-tp4666247p4666286.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
Re: How to get PageClass from BufferedResponseRequestHandler ? And how to link related requests?
It seems ignoring BufferedResponseRequestHandler is harder than I thought because IResponseFilter is only called during BufferedResponseRequestHandler, not during the preceding IPageRequestHandler. What is the best way to achieve my goal? i.e. during the begin and end of IPageRequestHandler I need to perform tasks (i.e. noting the start values, calculating the delta of values during request processing, and then manipulate the response). for begin and end we have RequestCycleListener.onRequestHandlerResolved and onEndRequest, but I don't know how to manipulate the response there (in onEndRequest)?? The response manipulation is quite simple (adding dynamic JavaScripts before /body) but I'd like to do it in CPU-efficient way if possible. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-get-PageClass-from-BufferedResponseRequestHandler-And-how-to-link-related-requests-tp4666247p4666282.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
How to get PageClass from BufferedResponseRequestHandler ? And how to link related requests?
Hi, How to get PageClass from BufferedResponseRequestHandler ? At little background: I'm sending processing metrics to Google Analytics, mentioning the PageClass (if available), used memory, and processing time. I'm using RequestCycleListener to do the crux of this. When Wicket's using IPageClassRequestHandler, things are fine. However, on the second request (after redirect to ?pageVersion), Wicket's using BufferedResponseRequestHandler, and I can't get the PageClass. A related question is how do I link related requests? Logically, I want this to happen: 1. User navigates to /contact 2. [http-thread-1] Begin RequestGroup - sets starting mem usage, page class, etc. 3. [http-thread-1] page processing 4. Wicket redirects to /contact?0 5. [http-thread-2] page rendered 6. [http-thread-2] End RequestGroup - calculates mem usage, etc. between #2..#6 I tried to use ThreadLocal but since thread is different, the information stored in step #2 is lost. Thank you. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-get-PageClass-from-BufferedResponseRequestHandler-And-how-to-link-related-requests-tp4666247.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
Re: How to get PageClass from BufferedResponseRequestHandler ? And how to link related requests?
I also tried requestCycle.setMetaData() but the metadata is also gone for the next related request. :( -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-get-PageClass-from-BufferedResponseRequestHandler-And-how-to-link-related-requests-tp4666247p4666248.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
Re: How to get PageClass from BufferedResponseRequestHandler ? And how to link related requests?
Thank you Martin. Currently I went with this solution: https://github.com/soluvas/soluvas-web/blob/3c3cb8a923e06522ccee156725196a8ab15fba0b/site/src/main/java/org/soluvas/web/site/metrics/ThreadMetricsRequestCycleListener.java I'll follow your advice and just ignored it, then :) Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-get-PageClass-from-BufferedResponseRequestHandler-And-how-to-link-related-requests-tp4666247p4666252.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
Re: ListenerInvocationNotAllowedException and EmptyRequestHandler
I also get the same error: org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException: Behavior rejected interface invocation. Component: [NumberTextField [Component id = qty]] Behavior: id.co.bippo.inventory.web.VariantQtyEditor$2$2$1@530459be Listener: [RequestListenerInterface name=IBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:237) ~[RequestListenerInterface.class:6.15.0] at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:250) ~[ListenerInterfaceRequestHandler.class:6.15.0] at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236) ~[ListenerInterfaceRequestHandler.class:6.15.0] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:862) ~[RequestCycle$HandlerExecutor.class:6.15.0] at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[RequestHandlerStack.class:6.15.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) [RequestCycle.class:6.15.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218) [RequestCycle.class:6.15.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) [RequestCycle.class:6.15.0] at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) [WicketFilter.class:6.15.0] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) [WicketFilter.class:6.15.0] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) [WicketFilter.class:6.15.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.5] at org.soluvas.web.site.servlet.ShiroPrincipalsServletFilter.doFilter(ShiroPrincipalsServletFilter.java:59) [classes/:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.5] at org.soluvas.web.site.servlet.MoreMdcServletFilter.doFilter(MoreMdcServletFilter.java:62) [classes/:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.5] at ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:51) [MDCInsertingServletFilter.class:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.5] at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [AbstractShiroFilter.class:1.2.3] at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [AbstractShiroFilter$1.class:1.2.3] at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [SubjectCallable.class:1.2.3] at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [SubjectCallable.class:1.2.3] at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [DelegatingSubject.class:1.2.3] at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [AbstractShiroFilter.class:1.2.3] at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [OncePerRequestFilter.class:1.2.3] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) [DelegatingFilterProxy.class:3.2.9.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) [DelegatingFilterProxy.class:3.2.9.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) [catalina.jar:8.0.5] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) [catalina.jar:8.0.5] at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:97) [AbstractInstrumentedFilter.class:3.0.2] at
Re: ListenerInvocationNotAllowedException and EmptyRequestHandler
It turns out it happens because I was using a custom AjaxChannel with name autodisable. Changing the AjaxChannel name to 0 solves the problem. BTW, Can I request AjaxChannel.DEFAULT public static constant with a value of 0 ? I don't feel comfortable typing 0 there, I much prefer a constant. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/ListenerInvocationNotAllowedException-and-EmptyRequestHandler-tp4663618p4666114.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
StalePageException's followed by An error occurred while checking whether a page is stateless. Assuming it is stateful.
We're getting a lot of StalePageException, immediately followed by An error occurred while checking whether a page is stateless. Assuming it is stateful. on stateful pages and especially when crawled by Google bot. Any idea why this is happening? @timestamp 2013-09-24T01:42:47-04:00 caller Caller+0 at org.apache.wicket.request.RequestHandlerStack.detach(RequestHandlerStack.java:184) Caller+1 at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:636) Caller+2 at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:589) Caller+3 at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) Caller+4 at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259) level ERROR logger org.apache.wicket.request.RequestHandlerStack message Error detaching RequestHandler req.queryString 0-1.IBehaviorListener.1-productStatusPanel-addToCartRegion-1-productCartComposeForm-quantityProductPanel-quantity req.remoteHost 127.0.0.1 req.requestURI /tuneeca_prd_commerce/app/product/gamis-je-t-aime-champs-elyses req.requestURL http://localhost:8201/tuneeca_prd_commerce/app/product/gamis-je-t-aime-champs-elyses req.sessionId 369EE req.userAgent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) req.xForwardedFor 66.249.66.172 thread http-nio-8201-exec-17 throwable org.apache.wicket.core.request.mapper.StalePageException: null followed by : @timestamp 2013-09-24T01:42:47-04:00 caller Caller+0 at org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:170) Caller+1 at org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:98) Caller+2 at org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:73) Caller+3 at org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:281) Caller+4 at org.apache.wicket.Application$2.onDetach(Application.java:1628) level WARN logger org.apache.wicket.page.RequestAdapter message An error occurred while checking whether a page is stateless. Assuming it is stateful. req.queryString 0-1.IBehaviorListener.1-productStatusPanel-addToCartRegion-1-productCartComposeForm-quantityProductPanel-quantity req.remoteHost 127.0.0.1 req.requestURI /tuneeca_prd_commerce/app/product/gamis-je-t-aime-champs-elyses req.requestURL http://localhost:8201/tuneeca_prd_commerce/app/product/gamis-je-t-aime-champs-elyses req.sessionId 369EE916 req.userAgent Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) req.xForwardedFor 66.249.66.172 thread http-nio-8201-exec-17 throwable java.lang.NullPointerException: null at id.co.bippo.product.web.pub.ProductShowPage.getAddToCartRegion(ProductShowPage.java:207) ~[id.co.bippo.product.web-5.1.0-SNAPSHOT.jar:na] at id.co.bippo.springapp.SoluvasWebApplication.composeComponent(SoluvasWebApplication.java:377) ~[SoluvasWebApplication.class:na] at id.co.bippo.springapp.SoluvasWebApplication$1.onInitialize(SoluvasWebApplication.java:352) ~[SoluvasWebApplication$1.class:na] at org.apache.wicket.application.ComponentInitializationListenerCollection$1.notify(ComponentInitializationListenerCollection.java:40) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.application.ComponentInitializationListenerCollection$1.notify(ComponentInitializationListenerCollection.java:36) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.util.listener.ListenerCollection.notify(ListenerCollection.java:80) ~[wicket-util-6.8.0.jar:6.8.0] at org.apache.wicket.application.ComponentInitializationListenerCollection.onInitialize(ComponentInitializationListenerCollection.java:35) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.Component.fireInitialize(Component.java:873) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:955) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.Page.isPageStateless(Page.java:451) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:166) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:98) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:73) ~[wicket-core-6.8.0.jar:6.8.0] at org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:281) ~[wicket-core-6.8.0.jar:6.8.0] at
Re: StalePageException's followed by An error occurred while checking whether a page is stateless. Assuming it is stateful.
Hi, I'm not sure if this is related, I'm suspecting the StalePageException's are a cause to this: sometimes the page response are misrouted from the request: 1. A user clicks an AjaxLink/AjaxButton, but gets redirected to a totally unrelated page (like the search page) which seems to be for another HTTP request 2. A user clicks a BookmarkablePageLink, but gets redirected to a totally unrelated page (like the search page) which seems to be for another HTTP request 3. A user clicks a BookmarkablePageLink, but the browser then displays a Wicket AJAX XML response for totally unrelated request With a concurrent user of around 50, this happens in about 1 out of 100 clicks for a single user. BTW we're using Wicket 6.8.0, the NIO HTTP Connector and Atmosphere 0.10. Any idea how this could happen? Or a way to diagnose the cause? Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/StalePageException-s-followed-by-An-error-occurred-while-checking-whether-a-page-is-stateless-Assumi-tp4661457p4661458.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
How to increase number of stored pages in PageStore for Wicket 6.8?
Hi, When I checked the work/.../wicketFilter-filestore folder it seems that for every session Wicket stores the last 3 stateful pages. Will this cause problems when a user opens more than 3 (stateful) tabs at once? How do I increase this number? Is it possible to increase this number for select requests only? (i.e. only for logged in users having specific authorization/security roles, while guests and regular users get the standard 3 pages) Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459.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
Re: How to increase number of stored pages in PageStore for Wicket 6.8?
Thank you Francois and Martin. So the 3 pages are actually because Wicket limits to size (not number of pages?) Is it possible to set this on a per-request basis? I'd like to set guests to have the default size 10 MB, more for authenticated users (50 MB?) and even more for privileged/selected users. Is this possible? Thank you. Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung On Tue, Sep 24, 2013 at 3:44 PM, Martin Grigorov-4 [via Apache Wicket] ml-node+s1842946n4661461...@n4.nabble.com wrote: Hi, See org.apache.wicket.settings.IStoreSettings#setMaxSizePerSession By default Wicket gives 10Mb per session. How many pages will fit inside these 10Mb depends on the pages themselves. On Tue, Sep 24, 2013 at 10:34 AM, Hendy Irawan [hidden email]http://user/SendEmail.jtp?type=nodenode=4661461i=0 wrote: Hi, When I checked the work/.../wicketFilter-filestore folder it seems that for every session Wicket stores the last 3 stateful pages. Will this cause problems when a user opens more than 3 (stateful) tabs at once? How do I increase this number? Is it possible to increase this number for select requests only? (i.e. only for logged in users having specific authorization/security roles, while guests and regular users get the standard 3 pages) Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4661461i=1 For additional commands, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4661461i=2 -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459p4661461.html To unsubscribe from How to increase number of stored pages in PageStore for Wicket 6.8?, click herehttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4661459code=aGVuZHlAc29sdXZhcy5jb218NDY2MTQ1OXwxNTI0Njc4NzUy . NAMLhttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459p4661462.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
Re: How to increase number of stored pages in PageStore for Wicket 6.8?
Forgive me for asking one more thing. If I want to offload the wicket store to another server, how is the best way to do this? 1. Mount the Wicket Store folder from an NFS share; or 2. Configure Wicket-specific other Store implementation (JDBC?); or 3. Configure Wicket to store in session (how?) and let Tomcat's PersistentManager handle this? I've been reading https://cwiki.apache.org/confluence/display/WICKET/Page+Storage but it seems it only applies to Wicket 1.5 ? Thank you. Hendy Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung On Tue, Sep 24, 2013 at 3:46 PM, Hendy Irawan he...@soluvas.com wrote: Thank you Francois and Martin. So the 3 pages are actually because Wicket limits to size (not number of pages?) Is it possible to set this on a per-request basis? I'd like to set guests to have the default size 10 MB, more for authenticated users (50 MB?) and even more for privileged/selected users. Is this possible? Thank you. Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung On Tue, Sep 24, 2013 at 3:44 PM, Martin Grigorov-4 [via Apache Wicket] ml-node+s1842946n4661461...@n4.nabble.com wrote: Hi, See org.apache.wicket.settings.IStoreSettings#setMaxSizePerSession By default Wicket gives 10Mb per session. How many pages will fit inside these 10Mb depends on the pages themselves. On Tue, Sep 24, 2013 at 10:34 AM, Hendy Irawan [hidden email]http://user/SendEmail.jtp?type=nodenode=4661461i=0 wrote: Hi, When I checked the work/.../wicketFilter-filestore folder it seems that for every session Wicket stores the last 3 stateful pages. Will this cause problems when a user opens more than 3 (stateful) tabs at once? How do I increase this number? Is it possible to increase this number for select requests only? (i.e. only for logged in users having specific authorization/security roles, while guests and regular users get the standard 3 pages) Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4661461i=1 For additional commands, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4661461i=2 -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459p4661461.html To unsubscribe from How to increase number of stored pages in PageStore for Wicket 6.8?, click herehttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4661459code=aGVuZHlAc29sdXZhcy5jb218NDY2MTQ1OXwxNTI0Njc4NzUy . NAMLhttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-increase-number-of-stored-pages-in-PageStore-for-Wicket-6-8-tp4661459p4661463.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
How to use DEPLOYMENT configuration but retain the detailed exception page?
Hi all, How to use DEPLOYMENT configuration but retain the detailed exception page? Or how to re-enable the detailed exception page feature? Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-use-DEPLOYMENT-configuration-but-retain-the-detailed-exception-page-tp4661341.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
Re: How to use DEPLOYMENT configuration but retain the detailed exception page?
THANK YOU Martin ! Awesome! To those who want the same as me, put this on your WebApplication's init() : // we need this even for DEPLOYMENT at least for now getExceptionSettings().setUnexpectedExceptionDisplay(IExceptionSettings.SHOW_EXCEPTION_PAGE); Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung On Mon, Sep 16, 2013 at 9:11 PM, Martin Grigorov-4 [via Apache Wicket] ml-node+s1842946n466134...@n4.nabble.com wrote: https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/Application.java?source=cc#L308 On Mon, Sep 16, 2013 at 5:06 PM, Hendy Irawan [hidden email]http://user/SendEmail.jtp?type=nodenode=4661342i=0 wrote: Hi all, How to use DEPLOYMENT configuration but retain the detailed exception page? Or how to re-enable the detailed exception page feature? Thank you. Hendy -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-use-DEPLOYMENT-configuration-but-retain-the-detailed-exception-page-tp4661341.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4661342i=1 For additional commands, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4661342i=2 -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/How-to-use-DEPLOYMENT-configuration-but-retain-the-detailed-exception-page-tp4661341p4661342.html To unsubscribe from How to use DEPLOYMENT configuration but retain the detailed exception page?, click herehttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4661341code=aGVuZHlAc29sdXZhcy5jb218NDY2MTM0MXwxNTI0Njc4NzUy . NAMLhttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/How-to-use-DEPLOYMENT-configuration-but-retain-the-detailed-exception-page-tp4661341p4661343.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
Re: Are Wicket models loaded concurrently ?
I think I just found a bug ... LoadableDetachableModel is potentially non-threadsafe. I experience weird behavior, my concurrent models are chained (i.e. calls other models getObject()), and my concurrent models extend LoadableDetachableModel. The weird behavior is that sometimes (!!) the models return null. But if debugged, they're not null. It's like a timing and race condition problem. Now I think I know why. LoadableDetachableModel, upon getObject(), sets attached=true before caling load(), which can take some time. If getObject() gets called again, it then immediately returns the loaded object, which was still null (sometimes.). Should I report this as bug? On Wed, Dec 26, 2012 at 6:14 PM, Siefart, Olaf [via Apache Wicket] ml-node+s1842946n4655056...@n4.nabble.com wrote: Hi, A dashboard with unrelated web services is exactly the usecase of our christmas project (https://github.com/osiefart/wicket-christmas). @Hendy: I would not start the execution immediately upon model creation. I would choose a Visitor - onConfigure - Solution. Then it is possible to check the visibility of the component before loading data... Kindly regards, Olaf -Ursprüngliche Nachricht- Von: Serban.Balamaci [mailto:[hidden email]http://user/SendEmail.jtp?type=nodenode=4655056i=0] Gesendet: Mittwoch, 26. Dezember 2012 11:45 An: [hidden email] http://user/SendEmail.jtp?type=nodenode=4655056i=1 Betreff: Re: Are Wicket models loaded concurrently ? Hello guys. For sure this would be useful. I encountered many cases where the models are using different unrelated web services and starting the requests in parallel would be a nice improvement. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655055.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4655056i=2 For additional commands, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4655056i=3 - To unsubscribe, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4655056i=4 For additional commands, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4655056i=5 -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655056.html To unsubscribe from Are Wicket models loaded concurrently ?, click herehttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4655046code=aGVuZHlAc29sdXZhcy5jb218NDY1NTA0NnwxNTI0Njc4NzUy . NAMLhttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655067.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
Re: Are Wicket models loaded concurrently ?
Thank you Olaf and Michael. I think this is workable... We can create an abstract base class that instead of doing load() directly, the signature would be something like: public FutureT load(ExecutorService executor); The async load() will execute immediately upon model creation, and during the actual LoadableDetachableModel.load(), it will simply wait for the future to complete (if it hasn't completed). Since there can be multiple futures executing at one time, no model is blocked by the loading of another model. That's in theory... Hopefully it will actually work as intended. :) Is there a plan to make this asynchronous model support built-in in Wicket? With asynchronous frameworks like Play and vert.x, I think Wicket needs to improve on this front too to keep itself relevant. If anyone else also have a need for this (at least there are 3 of us) I can file a ticket. Hendy On Tue, Dec 25, 2012 at 6:49 PM, michael mosmann [via Apache Wicket] ml-node+s1842946n4655050...@n4.nabble.com wrote: If you want to speedup thing, you should trigger some model loading as early as possible.. (It is too late, if a component calls IModel.getObject() (should return the right value)). Because wicket uses one thread per request you must use an other thread for loading. This way you could speedup a pageload for one user.. but not for more than one (you have to load it anyway) .. there is a good chance to make it worse. I think you choose a threaded model loading if most other options failed (use a cache, change the query, ...) Mm:) Hendy Irawan [hidden email]http://user/SendEmail.jtp?type=nodenode=4655050i=0 schrieb: Hi friends, If I have 5 Wicket (LoadableDetachable)models on a page, will Wicket load each model sequentially, or will the 5 models loaded concurrently ? We're using different servers for each database connection (MongoDB, Neo4j, etc.) so it will be a more effective use to load the models concurrently. Thank you. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655047.html Sent from the Users forum mailing list archive at Nabble.com. - To unsubscribe, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4655050i=1 For additional commands, e-mail: [hidden email]http://user/SendEmail.jtp?type=nodenode=4655050i=2 -- Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet. -- If you reply to this email, your message will be added to the discussion below: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655050.html To unsubscribe from Are Wicket models loaded concurrently ?, click herehttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=4655046code=aGVuZHlAc29sdXZhcy5jb218NDY1NTA0NnwxNTI0Njc4NzUy . NAMLhttp://apache-wicket.1842946.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- Hendy Irawan - on Twitter http://twitter.com/hendybippo - on LinkedInhttp://id.linkedin.com/in/hendyirawan Web Developer | Bippo Indonesia http://www.bippo.co.id/ | Akselerator Bisnis | Bandung -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655051.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
Are Wicket models loaded concurrently ?
Hi friends, If I have 5 Wicket (LoadableDetachable)models on a page, will Wicket load each model sequentially, or will the 5 models loaded concurrently ? We're using different servers for each database connection (MongoDB, Neo4j, etc.) so it will be a more effective use to load the models concurrently. Thank you. -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Are-Wicket-models-loaded-concurrently-tp4655046p4655047.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