diff --git a/pom.xml b/pom.xml index 378b09dc..13b46217 100644 --- a/pom.xml +++ b/pom.xml @@ -18,8 +18,8 @@ - 2.5.6 - 2.5.6 + 2.6.0 + 2.6.0 2.1.0.BUILD-SNAPSHOT spring.data.couchbase @@ -111,6 +111,13 @@ true + + + com.couchbase.client + encryption + 1.0.0 + + org.testcontainers testcontainers diff --git a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java index 0f3cf8a0..26271e85 100644 --- a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java +++ b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentFactoryBean.java @@ -63,6 +63,9 @@ import org.springframework.beans.factory.config.AbstractFactoryBean; queryServiceConfig searchServiceConfig viewServiceConfig + cryptoManager + tracer + orphanResponseReporter */ @Override @@ -210,4 +213,36 @@ import org.springframework.beans.factory.config.AbstractFactoryBean; public void setAnalyticsTimeout(long analyticsTimeout) { this.couchbaseEnvBuilder.analyticsTimeout(analyticsTimeout); } -} + + public void setConfigPollInterval(long configPollInterval) { + this.couchbaseEnvBuilder.configPollInterval(configPollInterval); + } + + public void setConfigPollFloorInterval(long configPollFloorInterval) { + this.couchbaseEnvBuilder.configPollFloorInterval(configPollFloorInterval); + } + + public void setCertAuthEnabled(boolean certAuthEnabled) { + this.couchbaseEnvBuilder.certAuthEnabled(certAuthEnabled); + } + + public void setOperationTracingEnabled(boolean operationTracingEnabled) { + this.couchbaseEnvBuilder.operationTracingEnabled(operationTracingEnabled); + } + + public void setOperationTracingServerDurationEnabled(boolean operationTracingServerDurationEnabled) { + this.couchbaseEnvBuilder.operationTracingServerDurationEnabled(operationTracingServerDurationEnabled); + } + + public void setOrphanResponseReportingEnabled(boolean orphanResponseReportingEnabled) { + this.couchbaseEnvBuilder.orphanResponseReportingEnabled(orphanResponseReportingEnabled); + } + + public void setCompressionMinSize(int compressionMinSize) { + this.couchbaseEnvBuilder.compressionMinSize(compressionMinSize); + } + + public void setCompressionMinRatio(double compressionMinRatio) { + this.couchbaseEnvBuilder.compressionMinRatio(compressionMinRatio); + } +} \ No newline at end of file diff --git a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java index 6df59204..c4b8a015 100644 --- a/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java +++ b/src/main/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParser.java @@ -135,6 +135,14 @@ public class CouchbaseEnvironmentParser extends AbstractSingleBeanDefinitionPars setPropertyValue(envDefinitionBuilder, envElement, "tcpNodelayEnabled", "tcpNodelayEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "mutationTokensEnabled", "mutationTokensEnabled"); setPropertyValue(envDefinitionBuilder, envElement, "analyticsTimeout", "analyticsTimeout"); + setPropertyValue(envDefinitionBuilder, envElement, "configPollInterval", "configPollInterval"); + setPropertyValue(envDefinitionBuilder, envElement, "configPollFloorInterval", "configPollFloorInterval"); + setPropertyValue(envDefinitionBuilder, envElement, "certAuthEnabled", "certAuthEnabled"); + setPropertyValue(envDefinitionBuilder, envElement, "operationTracingEnabled", "operationTracingEnabled"); + setPropertyValue(envDefinitionBuilder, envElement, "operationTracingServerDurationEnabled", "operationTracingServerDurationEnabled"); + setPropertyValue(envDefinitionBuilder, envElement, "orphanResponseReportingEnabled", "orphanResponseReportingEnabled"); + setPropertyValue(envDefinitionBuilder, envElement, "compressionMinSize", "compressionMinSize"); + setPropertyValue(envDefinitionBuilder, envElement, "compressionMinRatio", "compressionMinRatio"); //retry strategy is particular, in the xsd this is an enum (FailFast, BestEffort) setPropertyValue(envDefinitionBuilder, envElement, "retryStrategy", "retryStrategy"); diff --git a/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd b/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd index 5741e6fb..9752a144 100644 --- a/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd +++ b/src/main/resources/org/springframework/data/couchbase/config/spring-couchbase-env-2.0.xsd @@ -54,6 +54,14 @@ + + + + + + + + diff --git a/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java b/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java index d8aa3c60..6e5bbd67 100644 --- a/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java +++ b/src/test/java/org/springframework/data/couchbase/config/CouchbaseEnvironmentParserTest.java @@ -99,6 +99,13 @@ public class CouchbaseEnvironmentParserTest { assertThat(env.tcpNodelayEnabled(), allOf(equalTo(false), not(defaultEnv.tcpNodelayEnabled()))); assertThat(env.mutationTokensEnabled(), allOf(equalTo(true), not(defaultEnv.mutationTokensEnabled()))); assertThat(env.analyticsTimeout(), is(equalTo(30L))); + assertThat(env.configPollInterval(), is(equalTo(50L))); + assertThat(env.configPollFloorInterval(), is(equalTo(30L))); + assertThat(env.operationTracingEnabled(), allOf(equalTo(false), not(defaultEnv.operationTracingEnabled()))); + assertThat(env.operationTracingServerDurationEnabled(), allOf(equalTo(false), not(defaultEnv.operationTracingServerDurationEnabled()))); + assertThat(env.orphanResponseReportingEnabled(), allOf(equalTo(false), not(defaultEnv.orphanResponseReportingEnabled()))); + assertThat(env.compressionMinSize(), is(equalTo(100))); + assertThat(env.compressionMinRatio(), is(equalTo(0.90))); } @AfterClass diff --git a/src/test/resources/configurations/couchbaseEnv-bean.xml b/src/test/resources/configurations/couchbaseEnv-bean.xml index 5337f812..975cf2fb 100644 --- a/src/test/resources/configurations/couchbaseEnv-bean.xml +++ b/src/test/resources/configurations/couchbaseEnv-bean.xml @@ -43,6 +43,13 @@ tcpNodelayEnabled="false" mutationTokensEnabled="true" analyticsTimeout = "30" + configPollInterval="50" + configPollFloorInterval="30" + operationTracingServerDurationEnabled="false" + operationTracingEnabled="false" + orphanResponseReportingEnabled="false" + compressionMinSize="100" + compressionMinRatio="0.90" /> \ No newline at end of file