From 80cc0acc2d9c1087ee61800fae59d8041bbdc7b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20M=C3=A4rki?= Date: Thu, 25 Feb 2016 17:57:37 +0100 Subject: [PATCH] Provide info when no Backend was loaded. --- .../queryrest/controller/QueryRestController.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java b/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java index 2f855d2..385e340 100644 --- a/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java +++ b/src/main/java/ch/psi/daq/queryrest/controller/QueryRestController.java @@ -95,11 +95,14 @@ public class QueryRestController { @PostConstruct public void afterPropertiesSet() { + List exceptions = new ArrayList<>(); + try { QueryProcessor queryProcessor = appContext.getBean(QueryConfig.BEAN_NAME_CASSANDRA_QUERY_PROCESSOR, QueryProcessor.class); queryProcessors.put(queryProcessor.getBackend(), queryProcessor); } catch (Exception e) { + exceptions.add(e); LOGGER.warn(""); LOGGER.warn("##########"); LOGGER.warn("Could not load query processor for cassandra."); @@ -112,12 +115,22 @@ public class QueryRestController { appContext.getBean(QueryConfig.BEAN_NAME_ARCHIVER_APPLIANCE_QUERY_PROCESSOR, QueryProcessor.class); queryProcessors.put(queryProcessor.getBackend(), queryProcessor); } catch (Exception e) { + exceptions.add(e); LOGGER.warn(""); LOGGER.warn("##########"); LOGGER.warn("Could not load query processor for archiverappliance."); LOGGER.warn("##########"); LOGGER.warn(""); } + + if(queryProcessors.isEmpty()){ + LOGGER.error("No query processor could be loaded! Exceptions were: "); + for (Exception exception : exceptions) { + LOGGER.error("", exception); + } + + throw new RuntimeException("No Backends available!"); + } channelNameCache = new ChannelNameCache(queryProcessors, appContext.getBean(CassandraConfig.BEAN_NAME_READ_TIMEOUT,