We should not be writing things to stdout/stderr - we should be logging to Tomcat and let it direct the messages where appropriate.
We should also not rewrap unchecked Exceptions in RuntimeException. I would hope Tomcat logged unchecked Exceptions from listeners; if it isn't we should log them to its log rather than stderr before rethrowing (with a comment that this is to work around its failure to log). -- Jeremy [EMAIL PROTECTED] wrote: > Author: rineholt > Date: Tue Apr 4 05:51:48 2006 > New Revision: 391292 > > URL: http://svn.apache.org/viewcvs?rev=391292&view=rev > Log: > We need to report configuration errors to the user. > Currently without this change the webapp is not initialized but no errors are > given to the end user. > Logging is not sufficient for a error like this. > > > Modified: > > incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java > > Modified: > incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java > URL: > http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java?rev=391292&r1=391291&r2=391292&view=diff > ============================================================================== > --- > incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java > (original) > +++ > incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java > Tue Apr 4 05:51:48 2006 > @@ -81,28 +81,37 @@ > > try { > loadContext(ctx); > + moduleContext.fireEvent(EventContext.MODULE_START, null); > + > + // add a valve to this context's pipeline that will associate > the request with the runtime > + Valve valve = new TuscanyValve(moduleContext); > + ctx.getPipeline().addValve(valve); > + > + // add the web service servlet wrapper > + addWebServiceWrapper(ctx); > + addJSONRPCServiceWrapper(ctx); > + > + // add the RuntimeContext in as a servlet context parameter > + ServletContext servletContext = ctx.getServletContext(); > + servletContext.setAttribute(TUSCANY_RUNTIME_NAME, runtime); > + servletContext.setAttribute(MODULE_COMPONENT_NAME, > moduleContext); > + > + > } catch (ConfigurationException e) { > + e.printStackTrace(); > + e.printStackTrace(System.out); > log.error("context.configError", e); > try { > Thread.sleep(10000); > } catch (InterruptedException e1) { > } > return; > + }catch( Exception e){ > + e.printStackTrace(); > + e.printStackTrace(System.out); > + new RuntimeException(e); > + > } > - moduleContext.fireEvent(EventContext.MODULE_START, null); > - > - // add a valve to this context's pipeline that will associate the > request with the runtime > - Valve valve = new TuscanyValve(moduleContext); > - ctx.getPipeline().addValve(valve); > - > - // add the web service servlet wrapper > - addWebServiceWrapper(ctx); > - addJSONRPCServiceWrapper(ctx); > - > - // add the RuntimeContext in as a servlet context parameter > - ServletContext servletContext = ctx.getServletContext(); > - servletContext.setAttribute(TUSCANY_RUNTIME_NAME, runtime); > - servletContext.setAttribute(MODULE_COMPONENT_NAME, moduleContext); > } > > private void loadContext(Context ctx) throws ConfigurationException { > >
