[BUG] Set Hazelcast class loader
[cps.git] / cps-service / src / main / java / org / onap / cps / cache / HazelcastCacheConfig.java
index 4aebcea..0efabfd 100644 (file)
@@ -24,6 +24,7 @@ import com.hazelcast.config.Config;
 import com.hazelcast.config.MapConfig;
 import com.hazelcast.config.NamedConfig;
 import com.hazelcast.config.QueueConfig;
+import com.hazelcast.config.SetConfig;
 import com.hazelcast.core.Hazelcast;
 import com.hazelcast.core.HazelcastInstance;
 import lombok.extern.slf4j.Slf4j;
@@ -35,6 +36,9 @@ import org.springframework.beans.factory.annotation.Value;
 @Slf4j
 public class HazelcastCacheConfig {
 
+    @Value("${hazelcast.cluster-name}")
+    protected String clusterName;
+
     @Value("${hazelcast.mode.kubernetes.enabled}")
     protected boolean cacheKubernetesEnabled;
 
@@ -42,12 +46,11 @@ public class HazelcastCacheConfig {
     protected String cacheKubernetesServiceName;
 
     protected HazelcastInstance createHazelcastInstance(final String hazelcastInstanceName,
-                                                        final NamedConfig namedConfig, final String clusterName) {
-        return Hazelcast.newHazelcastInstance(initializeConfig(hazelcastInstanceName, namedConfig, clusterName));
+                                                        final NamedConfig namedConfig) {
+        return Hazelcast.newHazelcastInstance(initializeConfig(hazelcastInstanceName, namedConfig));
     }
 
-    private Config initializeConfig(final String instanceName, final NamedConfig namedConfig,
-                                    final String clusterName) {
+    private Config initializeConfig(final String instanceName, final NamedConfig namedConfig) {
         final Config config = new Config(instanceName);
         if (namedConfig instanceof MapConfig) {
             config.addMapConfig((MapConfig) namedConfig);
@@ -55,7 +58,12 @@ public class HazelcastCacheConfig {
         if (namedConfig instanceof QueueConfig) {
             config.addQueueConfig((QueueConfig) namedConfig);
         }
+        if (namedConfig instanceof SetConfig) {
+            config.addSetConfig((SetConfig) namedConfig);
+        }
+
         config.setClusterName(clusterName);
+        config.setClassLoader(org.onap.cps.spi.model.Dataspace.class.getClassLoader());
         updateDiscoveryMode(config);
         return config;
     }
@@ -74,6 +82,13 @@ public class HazelcastCacheConfig {
         return commonQueueConfig;
     }
 
+    protected static SetConfig createSetConfig(final String configName) {
+        final SetConfig commonSetConfig = new SetConfig(configName);
+        commonSetConfig.setBackupCount(1);
+        commonSetConfig.setAsyncBackupCount(1);
+        return commonSetConfig;
+    }
+
     protected void updateDiscoveryMode(final Config config) {
         if (cacheKubernetesEnabled) {
             log.info("Enabling kubernetes mode with service-name : {}", cacheKubernetesServiceName);