aboutsummaryrefslogtreecommitdiffstats
path: root/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java')
-rw-r--r--policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java
index ea4094fc..19aec79a 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngineManager.java
@@ -31,6 +31,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Properties;
+import java.util.UUID;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.atomic.AtomicReference;
@@ -41,6 +42,8 @@ import java.util.stream.Stream;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NonNull;
+import lombok.Setter;
+import lombok.Synchronized;
import lombok.ToString;
import org.apache.commons.lang3.StringUtils;
import org.onap.policy.common.endpoints.event.comm.Topic;
@@ -59,6 +62,7 @@ import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.onap.policy.common.gson.annotation.GsonJsonIgnore;
import org.onap.policy.common.gson.annotation.GsonJsonProperty;
import org.onap.policy.common.utils.logging.LoggerUtils;
+import org.onap.policy.common.utils.network.NetworkUtil;
import org.onap.policy.common.utils.resources.PrometheusUtils;
import org.onap.policy.common.utils.services.FeatureApiUtils;
import org.onap.policy.drools.controller.DroolsControllerConstants;
@@ -107,6 +111,8 @@ class PolicyEngineManager implements PolicyEngine {
public static final String EXECUTOR_THREAD_PROP = "executor.threads";
protected static final int DEFAULT_EXECUTOR_THREADS = 5;
+ public static final String CLUSTER_NAME_PROP = "engine.cluster";
+
/**
* logger.
*/
@@ -170,6 +176,18 @@ class PolicyEngineManager implements PolicyEngine {
@Getter
private final PolicyStatsManager stats = new PolicyStatsManager();
+ @Getter(onMethod_ = {@Synchronized}, value = AccessLevel.PUBLIC)
+ @Setter(onMethod_ = {@Synchronized}, value = AccessLevel.PUBLIC)
+ private String clusterName = UUID.randomUUID().toString();
+
+ @Getter(onMethod_ = {@Synchronized}, value = AccessLevel.PUBLIC)
+ @Setter(onMethod_ = {@Synchronized}, value = AccessLevel.PUBLIC)
+ private String hostName = NetworkUtil.getHostname();
+
+ @Getter(onMethod_ = {@Synchronized}, value = AccessLevel.PUBLIC)
+ @Setter(onMethod_ = {@Synchronized}, value = AccessLevel.PUBLIC)
+ private String pdpName;
+
/**
* gson parser to decode configuration requests.
*/
@@ -368,6 +386,10 @@ class PolicyEngineManager implements PolicyEngine {
}
this.properties = properties;
+ if (!StringUtils.isBlank(this.properties.getProperty(CLUSTER_NAME_PROP))) {
+ this.clusterName = this.properties.getProperty(CLUSTER_NAME_PROP, this.clusterName);
+ }
+ this.pdpName = hostName + "." + this.clusterName;
try {
this.sources = getTopicEndpointManager().addTopicSources(properties);
@@ -438,7 +460,6 @@ class PolicyEngineManager implements PolicyEngine {
@Override
public synchronized PolicyController createPolicyController(String name, Properties properties) {
-
String tempName = name;
// check if a PROPERTY_CONTROLLER_NAME property is present
// if so, override the given name