All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy