/** * Copyright 2015-2017 The OpenZipkin Authors * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. */ package zipkin.autoconfigure.storage.cassandra; import java.io.Serializable; import java.util.concurrent.TimeUnit; import org.springframework.boot.context.properties.ConfigurationProperties; import zipkin.storage.cassandra.CassandraStorage; @ConfigurationProperties("zipkin.storage.cassandra") public class ZipkinCassandraStorageProperties implements Serializable { // for Spark jobs private static final long serialVersionUID = 0L; private String keyspace = "zipkin"; private String contactPoints = "localhost"; private String localDc; private int maxConnections = 8; private boolean ensureSchema = true; private boolean useSsl = false; private String username; private String password; private int spanTtl = (int) TimeUnit.DAYS.toSeconds(7); private int indexTtl = (int) TimeUnit.DAYS.toSeconds(3); /** See {@link CassandraStorage.Builder#indexCacheMax(int)} */ private int indexCacheMax = 100000; /** See {@link CassandraStorage.Builder#indexCacheTtl(int)} */ private int indexCacheTtl = 60; /** See {@link CassandraStorage.Builder#indexFetchMultiplier(int)} */ private int indexFetchMultiplier = 3; public String getKeyspace() { return keyspace; } public void setKeyspace(String keyspace) { this.keyspace = keyspace; } public String getContactPoints() { return contactPoints; } public void setContactPoints(String contactPoints) { this.contactPoints = contactPoints; } public String getLocalDc() { return localDc; } public void setLocalDc(String localDc) { this.localDc = "".equals(localDc) ? null : localDc; } public int getMaxConnections() { return maxConnections; } public void setMaxConnections(int maxConnections) { this.maxConnections = maxConnections; } public boolean isEnsureSchema() { return ensureSchema; } public void setEnsureSchema(boolean ensureSchema) { this.ensureSchema = ensureSchema; } public boolean isUseSsl() { return useSsl; } public void setUseSsl(boolean useSsl) { this.useSsl = useSsl; } public String getUsername() { return username; } public void setUsername(String username) { this.username = "".equals(username) ? null : username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = "".equals(password) ? null : password; } /** * @deprecated See {@link CassandraStorage.Builder#spanTtl(int)} */ @Deprecated public int getSpanTtl() { return spanTtl; } /** * @deprecated See {@link CassandraStorage.Builder#spanTtl(int)} */ @Deprecated public void setSpanTtl(int spanTtl) { this.spanTtl = spanTtl; } /** * @deprecated See {@link CassandraStorage.Builder#indexTtl(int)} */ @Deprecated public int getIndexTtl() { return indexTtl; } /** * @deprecated See {@link CassandraStorage.Builder#indexTtl(int)} */ @Deprecated public void setIndexTtl(int indexTtl) { this.indexTtl = indexTtl; } public int getIndexCacheMax() { return indexCacheMax; } public void setIndexCacheMax(int indexCacheMax) { this.indexCacheMax = indexCacheMax; } public int getIndexCacheTtl() { return indexCacheTtl; } public void setIndexCacheTtl(int indexCacheTtl) { this.indexCacheTtl = indexCacheTtl; } public int getIndexFetchMultiplier() { return indexFetchMultiplier; } public void setIndexFetchMultiplier(int indexFetchMultiplier) { this.indexFetchMultiplier = indexFetchMultiplier; } public CassandraStorage.Builder toBuilder() { return CassandraStorage.builder() .keyspace(keyspace) .contactPoints(contactPoints) .localDc(localDc) .maxConnections(maxConnections) .ensureSchema(ensureSchema) .useSsl(useSsl) .username(username) .password(password) .spanTtl(spanTtl) .indexTtl(indexTtl) .indexCacheMax(indexCacheMax) .indexCacheTtl(indexCacheTtl) .indexFetchMultiplier(indexFetchMultiplier); } }