public static class SessionConfig.Builder extends Object
SessionConfig which will be used to create a session.| Modifier and Type | Method and Description |
|---|---|
SessionConfig |
build() |
SessionConfig.Builder |
withBookmarks(Bookmark... bookmarks)
Set the initial bookmarks to be used in a session.
|
SessionConfig.Builder |
withBookmarks(Iterable<Bookmark> bookmarks)
Set the initial bookmarks to be used in a session.
|
SessionConfig.Builder |
withDatabase(String database)
Sets target database name for queries executed within session.
|
SessionConfig.Builder |
withDefaultAccessMode(AccessMode mode)
Set the type of access required by units of work in this session,
e.g.
|
SessionConfig.Builder |
withFetchSize(long size)
Specify how many records to fetch in each batch for this session.
|
SessionConfig.Builder |
withImpersonatedUser(String impersonatedUser)
Set the impersonated user that the newly created session is going to use for query execution.
|
public SessionConfig.Builder withBookmarks(Bookmark... bookmarks)
First transaction in a session will ensure that server hosting is at least as up-to-date as the
latest transaction referenced by the supplied bookmarks.
The bookmarks can be obtained via Session.lastBookmark(), AsyncSession.lastBookmark(),
and/or RxSession.lastBookmark().
bookmarks - a series of initial bookmarks.
Both null value and empty array
are permitted, and indicate that the bookmarks do not exist or are unknown.public SessionConfig.Builder withBookmarks(Iterable<Bookmark> bookmarks)
Session.lastBookmark(), AsyncSession.lastBookmark(),
and/or RxSession.lastBookmark().bookmarks - initial references to some previous transactions. Both null value and empty iterable
are permitted, and indicate that the bookmarks do not exist or are unknown.public SessionConfig.Builder withDefaultAccessMode(AccessMode mode)
read access or write access.
This access mode is used to route transactions in the session to the server who has the right to carry out the specified operations.mode - access mode.public SessionConfig.Builder withDatabase(String database)
This option has no explicit value by default, as such it is recommended to set a value if the target database is known in advance. This has the benefit of ensuring a consistent target database name throughout the session in a straightforward way and potentially simplifies driver logic, which reduces network communication and might result in better performance.
Cypher clauses such as USE are not a replacement for this option as Cypher is handled by the server and not the driver.
When no explicit name is set, the driver behavior depends on the connection URI scheme supplied to the driver on instantiation and Bolt protocol version.
Specifically, the following applies:
database - the target database name, must not be nullpublic SessionConfig.Builder withFetchSize(long size)
Config.fetchSize().
This config is only valid when the driver is used with servers that support Bolt V4 (Server version 4.0 and later).
Bolt V4 enables pulling records in batches to allow client to take control of data population and apply back pressure to server.
This config specifies the default fetch size for all query runs using Session and AsyncSession.
By default, the value is set to 1000.
Use -1 to disables back pressure and config client to pull all records at once after each run.
This config only applies to run result obtained via Session and AsyncSession.
As with RxSession, the batch size is provided via Subscription.request(long) instead.size - the default record fetch size when pulling records in batches using Bolt V4.public SessionConfig.Builder withImpersonatedUser(String impersonatedUser)
The principal provided to the driver on creation must have the necessary permissions to impersonate and run queries as the impersonated user.
When withDatabase(String) is not used, the driver will discover the default database name of the impersonated user on first session usage.
From that moment, the discovered database name will be used as the default database name for the whole lifetime of the new session.
Compatible with 4.4+ only. You MUST have all servers running 4.4 version or above and communicating over Bolt 4.4 or above.
impersonatedUser - the user to impersonate. Provided value should not be null.public SessionConfig build()