DATACASS-231 - Add ProtocolVersion to CassandraCqlClusterFactoryBean.
Original pull request: #41. CLA: 134320150813044603 (Kirk Clemens)
This commit is contained in:
committed by
Mark Paluch
parent
09f8de4603
commit
0f14ade35a
@@ -43,6 +43,7 @@ import com.datastax.driver.core.Host;
|
||||
import com.datastax.driver.core.LatencyTracker;
|
||||
import com.datastax.driver.core.PoolingOptions;
|
||||
import com.datastax.driver.core.ProtocolOptions.Compression;
|
||||
import com.datastax.driver.core.ProtocolVersion;
|
||||
import com.datastax.driver.core.SSLOptions;
|
||||
import com.datastax.driver.core.Session;
|
||||
import com.datastax.driver.core.SocketOptions;
|
||||
@@ -85,6 +86,7 @@ public class CassandraCqlClusterFactoryBean implements FactoryBean<Cluster>, Ini
|
||||
private LoadBalancingPolicy loadBalancingPolicy;
|
||||
private ReconnectionPolicy reconnectionPolicy;
|
||||
private RetryPolicy retryPolicy;
|
||||
private ProtocolVersion protocolVersion;
|
||||
private boolean metricsEnabled = DEFAULT_METRICS_ENABLED;
|
||||
private boolean jmxReportingEnabled = DEFAULT_JMX_REPORTING_ENABLED;
|
||||
private boolean sslEnabled = DEFAULT_SSL_ENABLED;
|
||||
@@ -178,6 +180,10 @@ public class CassandraCqlClusterFactoryBean implements FactoryBean<Cluster>, Ini
|
||||
}
|
||||
}
|
||||
|
||||
if(protocolVersion != null) {
|
||||
builder.withProtocolVersion(protocolVersion);
|
||||
}
|
||||
|
||||
cluster = builder.build();
|
||||
|
||||
if (hostStateListener != null) {
|
||||
@@ -286,6 +292,10 @@ public class CassandraCqlClusterFactoryBean implements FactoryBean<Cluster>, Ini
|
||||
this.poolingOptions = poolingOptions;
|
||||
}
|
||||
|
||||
public void setProtocolVersion(ProtocolVersion protocolVersion){
|
||||
this.protocolVersion = protocolVersion;
|
||||
}
|
||||
|
||||
public void setSocketOptions(SocketOptions socketOptions) {
|
||||
this.socketOptions = socketOptions;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import com.datastax.driver.core.AuthProvider;
|
||||
import com.datastax.driver.core.PoolingOptions;
|
||||
import com.datastax.driver.core.ProtocolVersion;
|
||||
import com.datastax.driver.core.SocketOptions;
|
||||
import com.datastax.driver.core.policies.LoadBalancingPolicy;
|
||||
import com.datastax.driver.core.policies.ReconnectionPolicy;
|
||||
@@ -59,6 +60,7 @@ public abstract class AbstractClusterConfiguration {
|
||||
bean.setShutdownScripts(getShutdownScripts());
|
||||
bean.setSocketOptions(getSocketOptions());
|
||||
bean.setStartupScripts(getStartupScripts());
|
||||
bean.setProtocolVersion(getProtocolVersion());
|
||||
|
||||
return bean;
|
||||
}
|
||||
@@ -118,4 +120,8 @@ public abstract class AbstractClusterConfiguration {
|
||||
protected AuthProvider getAuthProvider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected ProtocolVersion getProtocolVersion(){
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package org.springframework.cassandra.test.unit.config;
|
||||
|
||||
import com.datastax.driver.core.ProtocolVersion;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.springframework.cassandra.config.CassandraCqlClusterFactoryBean;
|
||||
|
||||
/**
|
||||
* JUnit test case for CassandraCqlClusterFactoryBean
|
||||
*
|
||||
* @author Kirk Clemens
|
||||
*/
|
||||
public class CassandraCqlClusterFactoryBeanTest{
|
||||
|
||||
@Test
|
||||
public void testProtocolVersion(){
|
||||
final CassandraCqlClusterFactoryBean cassandraCqlClusterFactoryBean = new CassandraCqlClusterFactoryBean();
|
||||
cassandraCqlClusterFactoryBean.setProtocolVersion(ProtocolVersion.V2);
|
||||
try {
|
||||
cassandraCqlClusterFactoryBean.afterPropertiesSet();
|
||||
Assert.assertEquals(
|
||||
ProtocolVersion.V2,
|
||||
cassandraCqlClusterFactoryBean.getObject().getConfiguration().getProtocolOptions().getProtocolVersionEnum()
|
||||
);
|
||||
} catch (Exception e) {
|
||||
Assert.fail("Unable to create CQL cluster bean" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultProtocolVersion(){
|
||||
final CassandraCqlClusterFactoryBean cassandraCqlClusterFactoryBean = new CassandraCqlClusterFactoryBean();
|
||||
|
||||
try {
|
||||
cassandraCqlClusterFactoryBean.afterPropertiesSet();
|
||||
Assert.assertNull(
|
||||
cassandraCqlClusterFactoryBean.getObject().getConfiguration().getProtocolOptions().getProtocolVersionEnum()
|
||||
);
|
||||
} catch (Exception e) {
|
||||
Assert.fail("Unable to create CQL cluster bean" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user