diff options
Diffstat (limited to 'engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java')
-rw-r--r-- | engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java b/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java index 473b929..16ae49c 100644 --- a/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java +++ b/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java @@ -150,7 +150,9 @@ public class DroolsEngine { StringReader reader = new StringReader(ruleContent); Resource res = ResourceFactory.newReaderResource(reader); - kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); + if (kbuilder == null) { + kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); + } kbuilder.add(res, ResourceType.DRL); @@ -161,8 +163,6 @@ public class DroolsEngine { throw new EngineException(e); } - kbuilder = null; - ksession.fireAllRules(); } @@ -171,7 +171,9 @@ public class DroolsEngine { StringReader reader = new StringReader(rule.getContent()); Resource res = ResourceFactory.newReaderResource(reader); - kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); + if (kbuilder == null) { + kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); + } kbuilder.add(res, ResourceType.DRL); @@ -183,9 +185,9 @@ public class DroolsEngine { throw new CorrelationException(errorMsg); } - String packageName = kbuilder.getKnowledgePackages().iterator().next().getName(); + KnowledgePackage kpackage = kbuilder.getKnowledgePackages().iterator().next(); - if (kbase.getKnowledgePackages().contains(packageName)) { + if (kbase.getKnowledgePackages().contains(kpackage)) { String errorMsg = I18nProxy.getInstance().getValueByArgs(locale, I18nProxy.ENGINE_CONTENT_ILLEGALITY,new String[]{ @@ -203,13 +205,10 @@ public class DroolsEngine { throw new CorrelationException(errorMsg, e); } - kbuilder = null; - ksession.fireAllRules(); - return packageName; + return kpackage.getName(); } - public synchronized void undeployRule(String packageName, Locale locale) throws CorrelationException { @@ -237,7 +236,9 @@ public class DroolsEngine { StringReader reader = new StringReader(content); Resource res = ResourceFactory.newReaderResource(reader); - kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); + if (kbuilder == null) { + kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); + } kbuilder.add(res, ResourceType.DRL); @@ -248,7 +249,6 @@ public class DroolsEngine { log.error(errorMsg); throw new CorrelationException(errorMsg); } - kbuilder = null; } public void putRaisedIntoStream(Alarm raiseAlarm) { |