This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 4a8cd1ab9a08f2aecd3b6e8db98ebddd0e93cb78 Author: Benoit Tellier <[email protected]> AuthorDate: Thu Nov 28 09:28:04 2019 +0700 JAMES-2996 Errors upon start should be reported to the logging system log then rethrow pattern is the only solution to do this while still pro- pagating the error. --- .../java/org/apache/james/GuiceJamesServer.java | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java index 85311fd..84611d7 100644 --- a/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java +++ b/server/container/guice/guice-common/src/main/java/org/apache/james/GuiceJamesServer.java @@ -31,6 +31,8 @@ import org.apache.james.server.core.configuration.Configuration; import org.apache.james.utils.GuiceProbe; import org.apache.james.utils.GuiceProbeProvider; import org.apache.james.utils.InitializationOperations; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.google.common.collect.Iterables; import com.google.inject.Guice; @@ -41,6 +43,7 @@ import com.google.inject.TypeLiteral; import com.google.inject.util.Modules; public class GuiceJamesServer { + private static final Logger LOGGER = LoggerFactory.getLogger(GuiceJamesServer.class); protected final Module module; private final IsStartedProbe isStartedProbe; @@ -76,13 +79,19 @@ public class GuiceJamesServer { } public void start() throws Exception { - Injector injector = Guice.createInjector(module); - preDestroy = injector.getInstance(Key.get(new TypeLiteral<Stager<PreDestroy>>() {})); - injector.getInstance(StartUpChecksPerformer.class) - .performCheck(); - injector.getInstance(InitializationOperations.class).initModules(); - guiceProbeProvider = injector.getInstance(GuiceProbeProvider.class); - isStartedProbe.notifyStarted(); + try { + Injector injector = Guice.createInjector(module); + preDestroy = injector.getInstance(Key.get(new TypeLiteral<Stager<PreDestroy>>() { + })); + injector.getInstance(StartUpChecksPerformer.class) + .performCheck(); + injector.getInstance(InitializationOperations.class).initModules(); + guiceProbeProvider = injector.getInstance(GuiceProbeProvider.class); + isStartedProbe.notifyStarted(); + } catch (Throwable e) { + LOGGER.error("Fatal error while starting James", e); + throw e; + } } public void stop() { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
