public void deactivatePolicy(String policyName) { Policy policy = registeredPolicies.get(policyName); ScheduledFuture<?> future = activatedPolicies.remove(policyName); future.cancel(true); logger.debug("Policy {} deactivated successfully", policy); policy.stop(); logger.debug("Policy {} stopped successfully", policy); }
policyInstance.start(); logger.debug("Policy {} successfully started", policyInstance); long interval = policyInstance.getInterval(); if (interval <= 0) { logger.error("Policy {} returned invalid (must be bigger than 0) interval {}, won't be activated", policyInstance, interval); logger.debug("About to apply policy {} at {}", policyInstance, new Date()); try { policyInstance.apply(this.kieServerRegistry, this.kieServer); logger.debug("Policy {} applied successfully at {}", policyInstance, new Date()); } catch (Throwable e) {
public synchronized void start(KieServer kieServer, KieServerRegistry kieServerRegistry) { this.kieServer = kieServer; this.kieServerRegistry = kieServerRegistry; logger.debug("Starting policy manager..."); policyServiceLoader.forEach( p -> { registeredPolicies.put(p.getName(), p); logger.info("Registered {} policy under name {}", p, p.getName()); }); String toActivate = System.getProperty(KieServerConstants.KIE_SERVER_ACTIVATE_POLICIES); if (toActivate != null) { String[] policies = toActivate.split(","); logger.debug("Following policies will be activated {}", policies); for (String policy : policies) { String policyName = policy.trim(); activatePolicy(policyName); } } logger.info("Policy manager started successfully, activated policies are {}", activatedPolicies.keySet()); }