You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ph...@apache.org on 2017/11/03 15:54:48 UTC
nifi-minifi-cpp git commit: MINIFICPP-284 Handle processor
configuration errors better
Repository: nifi-minifi-cpp
Updated Branches:
refs/heads/master 9a10b98e1 -> 6527fac36
MINIFICPP-284 Handle processor configuration errors better
This closes #173.
Signed-off-by: Marc Parisi <ph...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/6527fac3
Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/6527fac3
Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/6527fac3
Branch: refs/heads/master
Commit: 6527fac36566892c3f5e760fc7b2e537b6fb9831
Parents: 9a10b98
Author: Andy I. Christianson <an...@andyic.org>
Authored: Fri Nov 3 11:20:29 2017 -0400
Committer: Marc Parisi <ph...@apache.org>
Committed: Fri Nov 3 11:46:22 2017 -0400
----------------------------------------------------------------------
libminifi/src/core/FlowConfiguration.cpp | 1 +
main/MiNiFiMain.cpp | 18 +++++++++++-------
2 files changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/6527fac3/libminifi/src/core/FlowConfiguration.cpp
----------------------------------------------------------------------
diff --git a/libminifi/src/core/FlowConfiguration.cpp b/libminifi/src/core/FlowConfiguration.cpp
index 68b7520..22d737a 100644
--- a/libminifi/src/core/FlowConfiguration.cpp
+++ b/libminifi/src/core/FlowConfiguration.cpp
@@ -38,6 +38,7 @@ std::shared_ptr<core::Processor> FlowConfiguration::createProcessor(std::string
auto ptr = core::ClassLoader::getDefaultClassLoader().instantiate(name, uuid);
if (nullptr == ptr) {
logger_->log_error("No Processor defined for %s", name.c_str());
+ return nullptr;
}
std::shared_ptr<core::Processor> processor = std::static_pointer_cast<core::Processor>(ptr);
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/6527fac3/main/MiNiFiMain.cpp
----------------------------------------------------------------------
diff --git a/main/MiNiFiMain.cpp b/main/MiNiFiMain.cpp
index fdbd076..d8fb3ca 100644
--- a/main/MiNiFiMain.cpp
+++ b/main/MiNiFiMain.cpp
@@ -30,15 +30,9 @@
#include "core/Core.h"
-#include "spdlog/spdlog.h"
#include "core/FlowConfiguration.h"
#include "core/ConfigurationFactory.h"
#include "core/RepositoryFactory.h"
-#include "core/logging/Logger.h"
-#include "core/logging/LoggerConfiguration.h"
-#include "properties/Properties.h"
-#include "properties/Configure.h"
-#include "utils/Id.h"
#include "FlowController.h"
//! Main thread sleep interval 1 second
@@ -216,8 +210,18 @@ int main(int argc, char **argv) {
new minifi::FlowController(prov_repo, flow_repo, configure, std::move(flow_configuration), content_repo));
logger->log_info("Loading FlowController");
+
// Load flow from specified configuration file
- controller->load();
+ try {
+ controller->load();
+ } catch (std::exception &e) {
+ logger->log_error("Failed to load configuration due to exception: %s", e.what());
+ return -1;
+ } catch (...) {
+ logger->log_error("Failed to load configuration due to unknown exception");
+ return -1;
+ }
+
// Start Processing the flow
controller->start();