From 2b100aaf195124576d070dcdc0e1b875534fd2f6 Mon Sep 17 00:00:00 2001 From: Musachy Barroso Date: Thu, 2 Apr 2009 19:12:19 +0000 Subject: [PATCH] WW-3026 Log exceptions when initialization fails git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@761381 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/struts2/dispatcher/Dispatcher.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java index 3b69a5928..10485bc98 100644 --- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java +++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java @@ -41,6 +41,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.StrutsConstants; import org.apache.struts2.StrutsStatics; +import org.apache.struts2.StrutsException; import org.apache.struts2.config.BeanSelectionProvider; import org.apache.struts2.config.DefaultPropertiesProvider; import org.apache.struts2.config.LegacyPropertiesConfigurationProvider; @@ -396,22 +397,28 @@ public class Dispatcher { configurationManager = new ConfigurationManager(BeanSelectionProvider.DEFAULT_BEAN_NAME); } - init_DefaultProperties(); // [1] - init_TraditionalXmlConfigurations(); // [2] - init_LegacyStrutsProperties(); // [3] - init_CustomConfigurationProviders(); // [5] - init_FilterInitParameters() ; // [6] - init_AliasStandardObjects() ; // [7] + try { + init_DefaultProperties(); // [1] + init_TraditionalXmlConfigurations(); // [2] + init_LegacyStrutsProperties(); // [3] + init_CustomConfigurationProviders(); // [5] + init_FilterInitParameters() ; // [6] + init_AliasStandardObjects() ; // [7] - Container container = init_PreloadConfiguration(); - container.inject(this); - init_CheckConfigurationReloading(container); - init_CheckWebLogicWorkaround(container); + Container container = init_PreloadConfiguration(); + container.inject(this); + init_CheckConfigurationReloading(container); + init_CheckWebLogicWorkaround(container); - if (!dispatcherListeners.isEmpty()) { - for (DispatcherListener l : dispatcherListeners) { - l.dispatcherInitialized(this); + if (!dispatcherListeners.isEmpty()) { + for (DispatcherListener l : dispatcherListeners) { + l.dispatcherInitialized(this); + } } + } catch (Exception ex) { + if (LOG.isErrorEnabled()) + LOG.error("Dispatcher initialization failed", ex); + throw new StrutsException(ex); } }