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
Copy file name to clipboardExpand all lines: documentation/ingestion/clients/java.md
+69-72Lines changed: 69 additions & 72 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,6 @@
1
1
---
2
2
title: Java Client Documentation
3
-
description: "Dive into QuestDB using the Java ingestion client for high-performance,
4
-
insert-only operations. Unlock peak time series data ingestion and analysis
5
-
efficiency."
3
+
description: "Reference for the questdb-client Maven artifact — the Java ILP ingestion client for QuestDB, covering setup, configuration, authentication, and error handling."
6
4
---
7
5
8
6
import Tabs from "@theme/Tabs"
@@ -11,8 +9,6 @@ import TabItem from "@theme/TabItem"
11
9
12
10
import CodeBlock from "@theme/CodeBlock"
13
11
14
-
import InterpolateReleaseData from "../../../src/components/InterpolateReleaseData"
15
-
16
12
import { RemoteRepoExample } from "@theme/RemoteRepoExample"
17
13
18
14
:::note
@@ -25,7 +21,8 @@ For embedded QuestDB, please check our
25
21
26
22
:::
27
23
28
-
The QuestDB Java client is baked right into the QuestDB binary.
24
+
The QuestDB Java client is distributed as a separate Maven artifact
25
+
(`org.questdb:questdb-client`).
29
26
30
27
The client provides the following benefits:
31
28
@@ -46,43 +43,33 @@ for **writing** data to QuestDB. For retrieving data, we recommend using a
46
43
47
44
:::
48
45
49
-
## Compatible JDKs
50
-
51
-
The client relies on some JDK internal libraries, which certain specialised JDK
52
-
offerings may not support.
53
-
54
-
Here is a list of known incompatible JDKs:
55
-
56
-
- Azul Zing 17
57
-
- A fix is in progress. You can use Azul Zulu 17 in the meantime.
58
-
59
46
## Quick start
60
47
61
-
Add QuestDB as a dependency in your project's build configuration file.
48
+
Add the QuestDB Java client as a dependency in your project's build configuration file.
@@ -169,16 +157,16 @@ There are three ways to create a client instance:
169
157
}
170
158
```
171
159
172
-
## Configuring multiple urls
160
+
## Configuring multiple URLs
173
161
174
162
:::note
175
163
176
164
This feature requires QuestDB OSS 9.1.0+ or Enterprise 3.0.4+.
177
165
178
166
:::
179
167
180
-
The ILP client can be configured with multiple _possible_ endpoints to send your data to. Only one will be sent to at
181
-
any one time.
168
+
The ILP client can be configured with multiple _possible_ endpoints to send your data to. Only one endpoint is used at
169
+
a time.
182
170
183
171
To configure this feature, simply provide multiple `addr` entries. For example:
184
172
@@ -193,10 +181,10 @@ On initialisation, if `protocol_version=auto`, the sender will identify the firs
193
181
any subsequent data to it.
194
182
195
183
In the event that the instance becomes unavailable for writes, the client will retry the other possible endpoints, and when it finds
196
-
a new writeable instance, will _stick_ to it instead. This unvailability is characterised by failures to connect or locate the instance,
184
+
a new writeable instance, will _stick_ to it instead. This unavailability is characterised by failures to connect or locate the instance,
197
185
or the instance returning an error code due to it being read-only.
198
186
199
-
By configuring multiple addresses, you can continue allowing you to continue to capture data if your primary instance
187
+
By configuring multiple addresses, you can continue to capture data if your primary instance
200
188
fails, without having to reconfigure the clients. This backup instance can be hot or cold, and so long as it is assigned a known address, it will be written to as soon as it is started.
201
189
202
190
Enterprise users can leverage this feature to transparently handle replication failover, without the need to introduce a load-balancer or
@@ -217,7 +205,7 @@ to `30s` or higher.
217
205
1. Create a client instance via `Sender.fromConfig()`.
218
206
2. Use `table(CharSequence)` to select a table for inserting a new row.
219
207
3. Use `symbol(CharSequence, CharSequence)` to add all symbols. You must add
220
-
symbols before adding other column type.
208
+
symbols before adding other column types.
221
209
4. Use the following options to add all the remaining columns:
222
210
223
211
-`stringColumn(CharSequence, CharSequence)`
@@ -243,7 +231,7 @@ precision and scale.
243
231
set a designated timestamp.
244
232
6. Optionally: You can use `flush()` to send locally buffered data into a
245
233
server.
246
-
7.Go to the step no. 2 to start a new row.
234
+
7.Repeat from step 2 to start a new row.
247
235
8. Use `close()` to dispose the Sender after you no longer need it.
248
236
249
237
## Ingest arrays
@@ -293,15 +281,15 @@ You can configure the client to not use automatic flushing, and issue explicit
0 commit comments