On 10/5/18 11:13 AM, James Selvakumar wrote:
Hi Martin,
Thank you very much for the response.
I'll check that out.
On Fri, Oct 5, 2018 at 3:02 PM Martin Grigorov <mgrigo...@apache.org> wrote:
Hi,
You are very welcome!
Since you use Spring I'd recommend you to check this article+demo app:
https://github.com/nurkiewicz/spring-startup-progress
It should give you an idea how to do it.
Since I recently implemented the same for our application, here's two
things I remember spending quite a lot of time on that were missing from
the article:
1.) Valve operational way too late in the startup cycle
If you want the Valve to work from the very beginning of Tomcat startup
you need to configure "deployOnStartup" and "backgroundProcessorDelay"
inside server.xml like so:
<Host name="localhost" appBase="webapps" deployOnStartup="false"
backgroundProcessorDelay="1"
unpackWARs="true" autoDeploy="true">
2.) At least with Tomcat 9.0.5, requests to unmapped endpoints will flag
the response OutputBuffer as 'suspended' and this will silently ignore
whatever you're writing to it so the progress page will not work
To fix this, you need to check for a suspended response and call
setSuspended(false) like this:
@Override
public void invoke(Request request, Response response) throws
IOException, ServletException
{
final String requestURI = request.getRequestURI();
if ( "/progress".equals( requestURI ) )
{
if ( response.isSuspended() )
{
// Dirty hack to work around the fact that if Tomcat
decided the request endpoint
// doesn't exist it already prepares sending a 404 and
this in turn
// invokes OutputBuffer#setSuspended(true) which would
// silently drop the bytes we're about to write to the
output stream
response.setSuspended( false );
}
// do your thing
}
}
Cheers,
Tobias
On Fri, Oct 5, 2018 at 5:09 AM James Selvakumar <ja...@mcruncher.com>
wrote:
Hi all,
First of all I would like to thank the community for all the help offered
in the past. Thank you very much.
My application (Wicket + Spring + Hibernate) takes around 60 to 90
seconds
to startup and all the user has to see is an empty browser tab when the
application is starting up.
I've observed Jenkins displaying a familiar "Getting ready to work"
message
when it starts up.
I've seen some Atlassian products even displaying what's happening behind
the hood during startup.
Can someone explain how to do something similar with Wicket?
--
Tobias Gierke
Software Developer
Voipfuture GmbH Wendenstr. 4 20097 Hamburg Germany
Phone +49 40 688 9001 64 Fax +49 40 688 9001 99 www.voipfuture.com
Managing Directors Jan Bastian Eyal Ullert
Commercial Court AG Hamburg HRB 109896 VAT ID DE263738086
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org