org.zalando.boot.cassandra.autoconfig.CassandraProperties Maven / Gradle / Ivy
package org.zalando.boot.cassandra.autoconfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
import com.datastax.driver.core.NettyOptions;
import com.datastax.driver.core.PoolingOptions;
import com.datastax.driver.core.ProtocolOptions;
import com.datastax.driver.core.ProtocolVersion;
import com.datastax.driver.core.QueryOptions;
import com.datastax.driver.core.SocketOptions;
import lombok.Data;
/**
* The configuration properties for the cassandra client.
*/
@ConfigurationProperties(prefix = "zalando.cassandra")
@Data
public class CassandraProperties {
/**
* cluster name
*/
private String clusterName;
/**
* key in etcd cluster
*/
private String etcdKeyName;
/**
* contact points
*/
private String contactPoints = "localhost";
/**
* port
*/
private int port = 9042;
/**
* protocol version
*/
private ProtocolVersion protocolVersion;
/**
* compression
*/
private ProtocolOptions.Compression compression;
/**
* load balancing policy in the structure fqcn,constructor param1,
* constructor param2, ...
*/
private String loadBalancingPolicy;
/**
* reconnnection policy in the structure fqcn,constructor param1,
* constructor param2, ...
*/
private String reconnectionPolicy;
/**
* speculative execution policy in the structure fqcn,constructor param1,
* constructor param2, ...
*/
private String speculativeExecutionPolicy;
/**
* retry policy in the structure fqcn,constructor param1, constructor
* param2, ...
*/
private String retryPolicy;
/**
* address translator
*/
private String addressTranslator;
/**
* query options
*/
private QueryOptions queryOptions;
/**
* pooling options
*/
private PoolingOptions poolingOptions;
/**
* socket options
*/
private SocketOptions socketOptions;
/**
* netty options
*/
private NettyOptions nettyOptions;
/**
* timestamp generator
*/
private String timestampGenerator;
/**
* auth provider
*/
private String authProvider;
/**
* username
*/
private String username;
/**
* password
*/
private String password;
/**
* indicates whether metrics gathering is enabled
*/
private boolean metricsEnabled = true;
/**
* indicates whether JMX reporting is enabled
*/
private boolean jmxEnabled = true;
/**
* indicates whether SSL is enabled
*/
private boolean sslEnabled = false;
/**
* ssl options
*/
private String sslOptions;
/**
* keyspace
*/
private String keyspace;
}