• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Auto-restart a web app on Tomcat for high availability

 
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Can a web application be configured for auto-restart in the event it goes down for some reason?

The idea is to make the web application Highly Available ,so that practically there's little or no down time for the same.

What could be other possible approaches? I was wondering if JMX could serve any purpose? Need to check if JMX exposes web application controlling ( start/stop/restart) capabilities. In case it doesn't have those,what could be the possible designs to achieve the same?
 
Sheriff
Posts: 13411
Firefox Browser VI Editor Redhat
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A cron job with either webget or a command line Java applcation should be able to do this.

Have it hit a page in your app ever n minutes.
If you don't get a status 200 back, you'll know something went wrong.
At that point, your app could either restart the web application by making a web call to the Tomcat manager, or if it's running on the same box as Tomcat, restart Tomcat itself from the command line.
 
Ajay Saxena
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the reply Ben!

Well,actually I'm working on similar lines by designing a portable(and hence Java coded) watchdog which would ping a component of the web app running on tomcat at regular intervals.

The inherent complexity of the problem lies in the fact that in case the response received is not as expected/erroneous, we need to figure out what the error could be attributed to

1> Tomcat not running

2> Tomcat process running,but with few threads (may be the TCP connection listener thread 8080)not running

3> The web application is not running

4> The web application is in an inconsistent state

1> Could be easily detected by checking the existence of the tomcat server process,but detecting 2> could be tricky.

Again 3> and 4> are equivalent from an application control perspective,as in both the cases,the web app needs to be restarted.

So that requires putting some thoughts on how to detect 2>. This is important because the watchdog should not be led to interpret that Tomcat is running fine just because the corresponding process is running,and therefore proceed to restart the webapp,instead of restarting the Tomcat.

-Any thoughts/comments would be highly appreciated!
[ July 25, 2008: Message edited by: Ajay Saxena ]
 
Ben Souther
Sheriff
Posts: 13411
Firefox Browser VI Editor Redhat
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ajay Saxena:

The inherent complexity of the problem lies in the fact that in case the response received is not as expected/erroneous, ...



That doesn't really tell us much.
When you say response, what exactly do you mean?
Are you making a web request a resource running under Tomcat?
If so, are you looking at the response code?
If so, what are you getting back?
What were you expecting?
How are you making this request?
 
Ajay Saxena
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That doesn't really tell us much.

When you say response, what exactly do you mean?



I mean the HTTP response obtained by the watchdog

Are you making a web request a resource running under Tomcat?



Yes, the watchdog will fire a web request periodically to the resource(a servlet) that would form a part of the monitored web app running on Tomcat

If so, are you looking at the response code?
If so, what are you getting back?



Well, these things haven't been finalized yet,and I'm yet to look into how to make use of the response code to detect the errors . It's good that you pointed them out

What were you expecting?



I might sound really stupid here, but I'm still not decided on this as I need to know what I should expect in this case to interpret an error free response. Excuse my little experience with web response handling.

How are you making this request?



As already said, it's a plain web request wrapped in a HTTPurlconnection from the watchdog
[ July 26, 2008: Message edited by: Ajay Saxena ]
 
Ben Souther
Sheriff
Posts: 13411
Firefox Browser VI Editor Redhat
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A 200 response code means that everything is good.
404 is page not found,
500 is a server error.

No response means that the server is down altogether or that there is a network problem between the client and server.

If you download and install the LiveHTTPHeaders plugin for firefox, you can see the response codes and HTTP headers going back and forth between your browser and whatever server you're hitting. It's a good tool for getting your head around the way HTTP works.
 
Ajay Saxena
Ranch Hand
Posts: 154
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks a ton for those wonderful pointers Ben!
 
yeah, but ... what would PIE do? Especially concerning this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic