You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NOTE: Increment & Decrement are considered part of the ‘binary’ API and as such may still be subject to change
287
287
288
+
TIP: Setting the document expiry time only works when a document is created, and it is not possible to update the expiry time of an existing counter document with the Increment method -- to do this during an increment, use with the `Touch()` method.
Let's break it down. A query is always performed at the `Cluster` level, using the `query` method. It takes the statement as a required argument and then allows to provide additional options if needed (in the example above, no options are specified).
54
+
Note that building indexes is covered in some detail on the xref:concept-docs:n1ql-query.adoc#index-building[Query concept page], which you should take a quick look at --
55
+
and in the https://docs.couchbase.com/sdk-api/couchbase-java-client/com/couchbase/client/java/manager/query/package-summary.html[API Reference].
56
+
57
+
Let's break down the above code snippet.
58
+
A query is always performed at the `Cluster` level, using the `query` method. It takes the statement as a required argument and then allows to provide additional options if needed (in the example above, no options are specified).
55
59
56
60
Once a result returns you can iterate the returned rows and/or accessing the `QueryMetaData` associated with the query. If something goes wrong during the execution of the query, a derivate of the `CouchbaseException` will be thrown that also provides additional context on the operation:
For sample procedures whereby certificates can be generated and deployed, see xref:7.1@server:manage:manage-security/manage-certificates.adoc[Manage Certificates].
49
-
The rest of this document assumes that the processes there, or something similar, have been followed.
50
-
That is, a cluster certificate has been created and installed on the server, a client certificate has been created, and it is stored in a JVM keystore along with the cluster's certificate.
48
+
To learn how to generate and deploy certificates, see xref:{server_version}@server:manage:manage-security/manage-certificates.adoc[Manage Certificates].
49
+
The rest of this section assumes you followed those processes, or did something similar.
50
+
51
+
For the following example, you will need a client certificate and the associated private key.
52
+
These must be stored together in the same Java KeyStore file or pkcs12 bundle.
53
+
54
+
If your cluster's root certificate does not come from a well-known Certificate Authority (CA), you must tell the client to trust the cluster's root certificate.
55
+
This example assumes the cluster's root certificate is available in a file called `ca-cert.pem`.
56
+
57
+
TIP: To trust multiple root certificates, put them all in the same `ca-certs.pem` file.
51
58
52
59
[source,java]
53
60
----
54
61
include::example$Auth.java[tag=certauth,indent=0]
55
62
----
56
63
57
-
In addition to providing the initialized `KeyStore` directly, the `CertificateAuthenticator` can also be initialized from a key store path, a key directly or a `KeyManagerFactory` for maximum flexibility. Please see the API documentation for the `CertificateAuthenticator` for more details.
64
+
`CertificateAuthenticator` has several static factory methods.
65
+
If you prefer not to load your own `KeyStore` object, you can create a `CertificateAuthenticator` from a `Path` to a key store file, or from an in-memory certificate & key.
66
+
For maximum flexibility, you can even provide your own `KeyManagerFactory`.
67
+
Please see the https://docs.couchbase.com/sdk-api/couchbase-core-io/com/couchbase/client/core/env/CertificateAuthenticator.html[API documentation] for the `CertificateAuthenticator` for more details.
The 3.4 SDK requires Java 8 or later to be installed, earlier versions will not work.
13
+
The 3.5 SDK requires Java 8 or later to be installed, earlier versions will not work.
14
14
_Java 17 is recommended_, which has various enhancements like sealed classes, pattern matching for switch expressions (in preview), and further updates and improvements on core libraries.
15
15
Most of the flavors available will do, although we may only provide support for OpenJDK and Oracle JDK going forward.
16
16
@@ -29,11 +29,11 @@ It is best to upgrade either the SDK or the Couchbase version you are using.
29
29
[#table_sdk_versions]
30
30
[cols="40,20,25"]
31
31
|===
32
-
| | 3.1 | SDK 3.2-3.4
32
+
| | 3.1 | SDK 3.2-3.5
33
33
34
34
| *Server 6.6*
35
-
| *✔*
36
-
| *✔*
35
+
| *◎*
36
+
| *◎*
37
37
38
38
| *Server 7.0-7.2*
39
39
| *◎*
@@ -100,7 +100,7 @@ Microsoft Windows 10 / All LTS releases from Windows Server 2016.
100
100
=== Mac OS X
101
101
102
102
The current and previous two releases of OS X.
103
-
At time of writing (October 2022): 13 (Ventura), 12 (Monterey), and 11 (Big Sur).
103
+
At time of writing (November 2023): 14 (Sonoma), 13 (Ventura), and 12 (Monterey).
104
104
M1 ARM architecture is fully supported in the Java SDK.
105
105
106
106
[discrete]
@@ -151,39 +151,43 @@ The downside of these workarounds is potentially reduced performance, which can
151
151
152
152
.Couchbase Server and SDK Supported Version Matrix
153
153
[.table-merge-cells]
154
-
[cols="7,5,7"]
154
+
[cols="7,5,6.7"]
155
155
|===
156
-
| | Server 6.6 | Server 7.0 & 7.1
156
+
| | Server 6.6 | Server 7.0 & 7.1 | Server 7.2
157
157
158
158
| Enhanced Durability
159
-
2+| All SDK versions
159
+
3+| All SDK versions
160
160
161
161
| Durable Writes
162
-
2+| Since SDK 3.0
162
+
3+| Since SDK 3.0
163
163
164
164
| Analytics
165
-
2+| Since SDK 2.7
165
+
3+| Since SDK 2.7
166
166
167
167
| Distributed ACID Transactions
168
-
2+| Since SDK 3.3 included in SDK, or since SDK 3.0 with Java Transactions Libraryfootnote:[3.0.7 or more recent recommended; preferably, follow the transitive dependency for the transactions library in Maven.]
168
+
3+| Since SDK 3.3 included in SDK, or since SDK 3.0 with Java Transactions Libraryfootnote:[3.0.7 or more recent recommended; preferably, follow the transitive dependency for the transactions library in Maven.]
169
169
170
170
| {sqlpp} Queries inside the Transaction Lambda
171
171
| Not Supported
172
-
| Since SDK 3.1, or since 3.0.7 with Java Transactions Libraryfootnote:[1.2.1 or newer recommended.]
172
+
2+| Since SDK 3.1, or since 3.0.7 with Java Transactions Libraryfootnote:[1.2.1 or newer recommended.]
173
173
174
174
| Collections
175
175
| Developer Preview in 6.6, SDK 3.0
176
-
| Since SDK 3.0.6
176
+
2+| Since SDK 3.0.6
177
177
178
178
| Scope-Level {sqlpp} Queries & all Collections features
179
179
| Not Supported
180
-
| Since SDK 3.2.0
180
+
2+| Since SDK 3.2.0
181
181
182
182
| Field Level Encryption v2
183
-
2+| Since SDK 3.0.5footnote:[Field Level Encryption distributed as separate library.]
183
+
3+| Since SDK 3.0.5footnote:[Field Level Encryption distributed as separate library.]
184
184
185
185
| Request Tracing
186
-
2+| Since SDK 3.1.0
186
+
3+| Since SDK 3.1.0
187
+
188
+
| Cloud Native Gateway
189
+
2+| Not Supported
190
+
| From SDK 3.5.0 (with xref:operator::overview.adoc[Couchbase Autonomous Operator] 2.6+)
Copy file name to clipboardExpand all lines: modules/project-docs/pages/sdk-full-installation.adoc
+43-3Lines changed: 43 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ We recommend running the latest Java LTS version (i.e. at the time of writing JD
33
33
Java 17 has various enhancements like sealed classes, pattern matching for switch expressions (in preview), and further updates and improvements on core libraries.
34
34
35
35
Couchbase publishes all stable artifacts to https://central.sonatype.com/namespace/com.couchbase.client[Maven Central].
36
-
The latest version (as of September 2023) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.4.10/jar[3.4.10].
36
+
The latest version (as of October 2023) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.4.11/jar[3.4.11].
37
37
38
38
You can use your favorite dependency management tool to install the SDK.
39
39
@@ -50,7 +50,7 @@ For https://maven.apache.org[Maven], you can insert the following into the depen
50
50
<dependency>
51
51
<groupId>com.couchbase.client</groupId>
52
52
<artifactId>java-client</artifactId>
53
-
<version>3.4.10</version>
53
+
<version>3.4.11</version>
54
54
</dependency>
55
55
----
56
56
Refer to the https://maven.apache.org/guides/introduction/introduction-to-the-pom.html/[Maven Documentation] for more information regarding the structure of the `pom.xml` file.
@@ -62,7 +62,7 @@ For https://gradle.org/[Gradle], you can use:
Copy file name to clipboardExpand all lines: modules/project-docs/pages/sdk-release-notes.adoc
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,42 @@ All patch releases for each dot minor release should be API compatible, and safe
29
29
any changes to expected behavior are noted in the release notes that follow.
30
30
31
31
32
+
=== Version 3.4.11 (4 October 2023)
33
+
34
+
With thanks to our community for the contribution, support for Micrometer Observation has been added via the new `tracing-micrometer-observation` module.
With thanks to our community for the contribution, support for Micrometer Observation has been added via the new `tracing-micrometer-observation` module.
0 commit comments