in modules/frontend/app/configuration/generator/generator/ConfigurationGenerator.js [209:404]
static clusterGeneral(cluster, available, cfg = this.igniteConfigurationBean(cluster), client = false) {
if (client)
cfg.prop('boolean', 'clientMode', true);
if (available('2.0.0'))
cfg.stringProperty('name', 'igniteInstanceName');
else
cfg.stringProperty('name', 'gridName');
cfg.stringProperty('localHost');
if (isNil(cluster.discovery))
return cfg;
const discovery = IgniteConfigurationGenerator.discoveryConfigurationBean(cluster.discovery);
let ipFinder;
switch (discovery.valueOf('kind')) {
case 'Vm':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder',
'ipFinder', cluster.discovery.Vm, clusterDflts.discovery.Vm);
ipFinder.collectionProperty('addrs', 'addresses', cluster.discovery.Vm.addresses);
break;
case 'Multicast':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder',
'ipFinder', cluster.discovery.Multicast, clusterDflts.discovery.Multicast);
ipFinder.stringProperty('multicastGroup')
.intProperty('multicastPort')
.intProperty('responseWaitTime')
.intProperty('addressRequestAttempts')
.stringProperty('localAddress')
.collectionProperty('addrs', 'addresses', cluster.discovery.Multicast.addresses);
break;
case 'S3':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.s3.TcpDiscoveryS3IpFinder',
'ipFinder', cluster.discovery.S3, clusterDflts.discovery.S3);
ipFinder.stringProperty('bucketName');
if (available('2.4.0')) {
ipFinder.stringProperty('bucketEndpoint')
.stringProperty('SSEAlgorithm');
}
break;
case 'Cloud':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.cloud.TcpDiscoveryCloudIpFinder',
'ipFinder', cluster.discovery.Cloud, clusterDflts.discovery.Cloud);
ipFinder.stringProperty('credential')
.pathProperty('credentialPath')
.stringProperty('identity')
.stringProperty('provider')
.collectionProperty('regions', 'regions', cluster.discovery.Cloud.regions)
.collectionProperty('zones', 'zones', cluster.discovery.Cloud.zones);
break;
case 'GoogleStorage':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder',
'ipFinder', cluster.discovery.GoogleStorage, clusterDflts.discovery.GoogleStorage);
ipFinder.stringProperty('projectName')
.stringProperty('bucketName')
.pathProperty('serviceAccountP12FilePath')
.stringProperty('serviceAccountId');
break;
case 'Jdbc':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc.TcpDiscoveryJdbcIpFinder',
'ipFinder', cluster.discovery.Jdbc, clusterDflts.discovery.Jdbc);
ipFinder.intProperty('initSchema');
if (ipFinder.includes('dataSourceBean', 'dialect')) {
const id = ipFinder.valueOf('dataSourceBean');
ipFinder.dataSource(id, 'dataSource', this.dataSourceBean(id, ipFinder.valueOf('dialect'), available));
}
break;
case 'SharedFs':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs.TcpDiscoverySharedFsIpFinder',
'ipFinder', cluster.discovery.SharedFs, clusterDflts.discovery.SharedFs);
ipFinder.pathProperty('path');
break;
case 'ZooKeeper':
const src = cluster.discovery.ZooKeeper;
const dflt = clusterDflts.discovery.ZooKeeper;
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder',
'ipFinder', src, dflt);
ipFinder.emptyBeanProperty('curator')
.stringProperty('zkConnectionString');
const kind = _.get(src, 'retryPolicy.kind');
if (kind) {
const policy = src.retryPolicy;
let retryPolicyBean;
switch (kind) {
case 'ExponentialBackoff':
retryPolicyBean = new Bean('org.apache.curator.retry.ExponentialBackoffRetry', null,
policy.ExponentialBackoff, dflt.ExponentialBackoff)
.intConstructorArgument('baseSleepTimeMs')
.intConstructorArgument('maxRetries')
.intConstructorArgument('maxSleepMs');
break;
case 'BoundedExponentialBackoff':
retryPolicyBean = new Bean('org.apache.curator.retry.BoundedExponentialBackoffRetry',
null, policy.BoundedExponentialBackoff, dflt.BoundedExponentialBackoffRetry)
.intConstructorArgument('baseSleepTimeMs')
.intConstructorArgument('maxSleepTimeMs')
.intConstructorArgument('maxRetries');
break;
case 'UntilElapsed':
retryPolicyBean = new Bean('org.apache.curator.retry.RetryUntilElapsed', null,
policy.UntilElapsed, dflt.UntilElapsed)
.intConstructorArgument('maxElapsedTimeMs')
.intConstructorArgument('sleepMsBetweenRetries');
break;
case 'NTimes':
retryPolicyBean = new Bean('org.apache.curator.retry.RetryNTimes', null,
policy.NTimes, dflt.NTimes)
.intConstructorArgument('n')
.intConstructorArgument('sleepMsBetweenRetries');
break;
case 'OneTime':
retryPolicyBean = new Bean('org.apache.curator.retry.RetryOneTime', null,
policy.OneTime, dflt.OneTime)
.intConstructorArgument('sleepMsBetweenRetry');
break;
case 'Forever':
retryPolicyBean = new Bean('org.apache.curator.retry.RetryForever', null,
policy.Forever, dflt.Forever)
.intConstructorArgument('retryIntervalMs');
break;
case 'Custom':
const className = _.get(policy, 'Custom.className');
if (nonEmpty(className))
retryPolicyBean = new EmptyBean(className);
break;
default:
// No-op.
}
if (retryPolicyBean)
ipFinder.beanProperty('retryPolicy', retryPolicyBean);
}
ipFinder.pathProperty('basePath')
.stringProperty('serviceName')
.boolProperty('allowDuplicateRegistrations');
break;
case 'Kubernetes':
ipFinder = new Bean('org.apache.ignite.spi.discovery.tcp.ipfinder.kubernetes.TcpDiscoveryKubernetesIpFinder',
'ipFinder', cluster.discovery.Kubernetes, clusterDflts.discovery.Kubernetes);
ipFinder.stringProperty('serviceName')
.stringProperty('namespace')
.stringProperty('masterUrl')
.pathProperty('accountToken');
break;
default:
// No-op.
}
if (ipFinder)
discovery.beanProperty('ipFinder', ipFinder);
this.clusterDiscovery(cluster.discovery, available, cfg, discovery);
return cfg;
}