Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
2.2.0
-
None
Description
This feature addresses a 'user experience' problem: displaying stack traces to the end user. For example, If I change my database connection to a bad setting, and then try to hit the portal, I get this in my browser:
javax.servlet.ServletException: Failed to initalize jetspeed. org.apache.jetspeed.exception.JetspeedException: Unable to create Engine
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:206)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Ugly.
I propose that the Jetspeed engine always completes initialization, even on error conditions. The engine will have 'state' attribute to determine if the engine is running or in
engine.getState()
returning states such as RUNNING, INITIALIZING, DOWN, ERROR
Then a valve can check the engine state, and redirect to servlet pages based on the state, or pass thru on the RUNNING state.
This leads to an interesting challenge: what if the database comes up?
Should we just restart the app server?
Thats certainly the easiest solution.
A retry thread would be another solution