tough to diagnose without more info.. check your $CATALINA_HOME/logs/mod_jk.log for 503 errors e.g. [jk_ajp_common.c (642)]: sending to ajp13 #503 [jk_ajp_common.c (884)]: ajp_send_request 2: request body to send 0 - request body to resend 0 [mod_jk.c (389)]: writing 4088 (4088) out of 4088 [jk_ajp_common.c (729)]: received from ajp13 #8188
If jk is too backed up to handle the requests you'll probably want to look at implementing some manner of Load Balancer http://tomcat.apache.org/connectors-doc/generic_howto/loadbalancers.html M-- ----- Original Message ----- From: "Len Popp" <[EMAIL PROTECTED]> To: "Tomcat Users List" <users@tomcat.apache.org> Sent: Wednesday, November 14, 2007 11:24 AM Subject: Re: servlet init error pages > HTTP error 503 is "service unavailable", which means the servlet or > web app is not running. There's a specific exception, > UnavailableException, that tells Tomcat to remove the servlet from > service. Is your servlet throwing that exception? > > I've found that <error-page> doesn't work with error 503 when the > entire web app is down, but I'm not sure what happens when just one > servlet is unavailable. Maybe error 503 acts differently in this case > too. > > To answer one of your questions, yes the error page location is > relative to the root of the web app. Sorry, I don't have the other > answers right now. > -- > Len > > On Nov 14, 2007 12:37 AM, Adam Parker <[EMAIL PROTECTED]> wrote: > > Thanks for the reply, at least I know someone else has gotten it to work at > > this point. > > > > Sorry for the lack of information. I am on a deadline and trying to do too > > many things at once. I've included all the important things I can think of > > below. > > > > Tomcat Version: 5.5.17 > > Error type: I am seeing a 503 http error code being returned, but I want to > > be able to catch exception classes rather than specific error codes. > > > > I have tried > > > > <error-page> > > <exception-type>java.lang.Throwable</exception-type> > > <location>/yourErrorPage.jsp</location> > > </error-page> > > > > and > > > > <error-page> > > <error-code>503</exception-type> > > <location>/yourErrorPage.jsp</location> > > </error-page> > > > > in both my application web.xml, and in the tomcat web.xml (with the default > > servlet) with no success. I still get a generic tomcat error page showing a > > stack trace. > > > > How is the error-page location related to my app? I assumed that the root > > of the location corresponded to the root of my app, but maybe I am > > mistaken. Would tomcat still use the default error page if it can't find > > the error page, or would it give me a different error? Oh, and can the > > error pages be static html (mine are, perhaps that is the problem)? > > > > As for the application, the servlet init method sets up all the servlet > > dependencies through spring config. When there is a problem with the config > > file an exception is thrown and I see the error page. > > > > Thanks for any help, > > Adam Parker > > > > > > > > > > On Nov 13, 2007 6:12 PM, Len Popp <[EMAIL PROTECTED]> wrote: > > > > > I do get my custom error page when an error happens in a servlet > > > init() method. But you didn't give many details about your problem, so > > > I can't say whether you should be seeing custom error pages on your > > > system. > > > > > > First of all, you didn't say what version of Tomcat you're using. If > > > it's older than 5.5, it could act differently from what I've seen. > > > > > > Secondly, I'm assuming the "errors" you speak of are exceptions that > > > are thrown by the init() method. Not HTTP error status codes. (You > > > can't call response.sendError() in init().). > > > > > > Normally, the servlet's init() is called when the first HTTP request > > > is received for that servlet, and if it throws an exception a custom > > > error page will be displayed as usual. > > > > > > If the servlet has "load-on-startup" specified in web.xml, init() is > > > called when the server starts up, before there are any web requests - > > > so obviously it can't return an error page to anyone. But then init() > > > will be called *again* when a request is received for the servlet, and > > > you'll see your error page then. > > > > > > Two reasons why you might not see your custom error page: > > > 1. Error in the custom error page. > > > 2. Error in the <error-page> declaration. To define a custom error > > > page for all exceptions, do this in your application's web.xml: > > > <error-page> > > > <exception-type>java.lang.Throwable</exception-type> > > > <location>/yourErrorPage.jsp</location> > > > </error-page> > > > -- > > > Len > > > > > > On Nov 13, 2007 6:19 PM, Adam Parker <[EMAIL PROTECTED]> wrote: > > > > I am trying to override tomcat error pages, and I have tried various > > > > combinations of the <error-pages> element in both the global web.xml, > > > and my > > > > application web.xml. Nothing is working. > > > > > > > > After some research I believe the problem is that the error I am looking > > > at > > > > actually occurs in the servlet.init(config) call. This call doesn't > > > seem to > > > > happen in the normal request processing loop, and hence the > > > <error-pages> is > > > > never used and a generic tomcat error is returned. > > > > > > > > Is there anyway to override this error even when outside the context of > > > a > > > > request/reply? > > > > > > > > Any info on how the error is returned without a request/reply would be > > > > greatly appreciated. > > > > > > > > -Adam Parker > > > > > > > > > > --------------------------------------------------------------------- > > > To start a new topic, e-mail: users@tomcat.apache.org > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]