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;
@Slf4j
public class HazelcastCacheConfig {
+ @Value("${hazelcast.cluster-name}")
+ protected String clusterName;
+
@Value("${hazelcast.mode.kubernetes.enabled}")
protected boolean cacheKubernetesEnabled;
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);
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;
}
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);