Here is the config passed to the ‘server’ nodes
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.s3.TcpDiscoveryS3IpFinder">
<property name="awsCredentials" ref="aws.creds"/>
<property name="clientConfiguration" ref="aws.conf"/>
<property name="bucketName" value="asci-ignite-dev"/>
</bean>
</property>
<property name="localAddress" value="LOCALIP"/>
</bean>
</property>
<property name="peerClassLoadingEnabled" value="false"/>
</bean>
<bean id="aws.conf" class="com.amazonaws.ClientConfiguration">
<property name="proxyHost" value="dc1-utility01.dc01.revsci.net"/>
<property name="proxyPort" value="3128"/>
</bean>
<!-- AWS credentials. Provide your access key ID and secret access key. -->
<bean id="aws.creds" class="com.amazonaws.auth.BasicAWSCredentials">
<constructor-arg value=“obfuscated-key-val" />
<constructor-arg value="/9RMACVMY7PDNliPxLqpbEJfRO/KyVIlqRHerYZZ" />
</bean>
</beans>
Here are the classes used to perform the Java based config within the client
// uses this proxy mode because the CacheStore needs to be serializable
@Bean
@Scope(proxyMode = ScopedProxyMode.TARGET_CLASS)
IgniteCacheStore igniteCacheStore() {
return new IgniteCacheStore();
}
@Bean
public TSDBCacheConfiguration tsdbCacheConfiguration() {
return new TSDBCacheConfiguration(igniteCacheStore());
}
@Bean
IgniteCache<String, String> igniteCache() {
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("dc1-utility01.dc01.revsci.net");
clientConfiguration.setProxyPort(3128);
com.amazonaws.auth.BasicAWSCredentials awsCredentials = new
com.amazonaws.auth.BasicAWSCredentials(“obfuscated-key-val","/9RMACVMY7PDNliPxLqpbEJfRO/KyVIlqRHerYZZ”);
org.apache.ignite.spi.discovery.tcp.ipfinder.s3.TcpDiscoveryS3IpFinder
ipFinder = new
org.apache.ignite.spi.discovery.tcp.ipfinder.s3.TcpDiscoveryS3IpFinder();
ipFinder.setAwsCredentials(awsCredentials);
ipFinder.setBucketName("asci-ignite-dev");
ipFinder.setClientConfiguration(clientConfiguration);
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi tcpDiscoverySpi = new
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi();
tcpDiscoverySpi.setIpFinder(ipFinder);
TSDBCacheConfiguration tsdbCacheConfiguration = tsdbCacheConfiguration();
IgniteConfiguration igniteConfiguration =
tsdbCacheConfiguration.getIgniteConfiguration();
igniteConfiguration.setClientMode(true);
igniteConfiguration.setDiscoverySpi(tcpDiscoverySpi);
CacheConfiguration cfg = tsdbCacheConfiguration.getCfg();
cfg.setName("myCache");
Ignite ignite = Ignition.start(igniteConfiguration);
Ignition.setClientMode(true);
// Create cache with given name, if it does not exist.
IgniteCache<String, String> cache = ignite.getOrCreateCache(cfg);
return cache;
}
The TSDBCacheConfiguration is used in the core library to allow us to test the
IgniteCacheStore so we reused it in the above config
public class TSDBCacheConfiguration {
private CacheConfiguration cfg;
//must be set the consuming application
// @Autowired
// TcpDiscoverySpi tcpDiscoverySpi;
private IgniteConfiguration igniteConfiguration;
public TSDBCacheConfiguration(IgniteCacheStore igniteCacheStore) {
cfg = new org.apache.ignite.configuration.CacheConfiguration();
cfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
cfg.setBackups(1);
cfg.setCacheStoreFactory(new
FactoryBuilder.SingletonFactory<>(igniteCacheStore));
cfg.setReadThrough(true);
cfg.setWriteThrough(true);
igniteConfiguration = new IgniteConfiguration();
igniteConfiguration.setCacheConfiguration(cfg);
}
/**
* without write behind persistence store
*/
public TSDBCacheConfiguration() {
cfg = new org.apache.ignite.configuration.CacheConfiguration();
cfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
cfg.setBackups(1);
igniteConfiguration = new IgniteConfiguration();
igniteConfiguration.setCacheConfiguration(cfg);
}
public IgniteConfiguration getIgniteConfiguration() {
return igniteConfiguration;
}
public void setIgniteConfiguration(IgniteConfiguration igniteConfiguration)
{
this.igniteConfiguration = igniteConfiguration;
}
public CacheConfiguration getCfg() {
return cfg;
}
public void setCfg(CacheConfiguration cfg) {
this.cfg = cfg;
}
}
Ranbir Chawla | V.P. Engineering
C: (303) 868-7797
F: (425) 328-1221
[email protected] <mailto:[email protected]>
www.AudienceScience.com <http://www.audiencescience.com/>
1120 112th Avenue NE, Suite 400
Bellevue, WA 98004
<http://twitter.com/@audiencescience>
<http://www.facebook.com/AudienceScience>
<http://www.linkedin.com/companies/236049>
<http://www.linkedin.com/companies/236049>
On 11/29/15, 1:08 AM, "vkulichenko" <[email protected]> wrote:
>Hi,
>
>Can you please attach your cache configuration? It will be easier to tell
>the reason of the error if we have it.
>
>-Val
>
>
>
>--
>View this message in context:
>http://apache-ignite-users.70518.x6.nabble.com/Cannot-connect-client-to-new-Data-Grid-newbie-question-tp2080p2083.html
>Sent from the Apache Ignite Users mailing list archive at Nabble.com.