summaryrefslogtreecommitdiffstats
path: root/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java
diff options
context:
space:
mode:
Diffstat (limited to 'feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java')
-rw-r--r--feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java
index 8255c027..e74b2895 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeNativeDroolsController.java
@@ -84,14 +84,23 @@ public class PolicyTypeNativeDroolsController implements PolicyTypeController {
PolicyController controller;
try {
- controller = PolicyEngineConstants.getManager()
- .createPolicyController(controllerConfig.getControllerName(), controllerProps);
+ controller =
+ PolicyEngineConstants.getManager()
+ .createPolicyController(controllerConfig.getControllerName(), controllerProps);
} catch (RuntimeException e) {
- logger.warn("failed deploy (cannot create controller) for policy: {}", policy);
+ logger.warn("failed deploy (cannot create controller) for policy: {}", policy, e);
return false;
}
- return controller != null;
+ try {
+ controller.start();
+ } catch (RuntimeException e) {
+ logger.warn("failed deploy (cannot start ontroller) for policy: {}", policy, e);
+ PolicyEngineConstants.getManager().removePolicyController(controller);
+ return false;
+ }
+
+ return true;
}
@Override