Class Config

java.lang.Object
org.neo4j.driver.Config
All Implemented Interfaces:
Serializable

@Immutable public final class Config extends Object implements Serializable
A configuration class to config driver properties.

To build a simple config with custom logging implementation:

 
 Config config = Config.builder()
                       .withLogging(new MyLogging())
                       .build();
 
 

To build a more complicated config with tuned connection pool options:

 
 Config config = Config.builder()
                       .withEncryption()
                       .withConnectionTimeout( 10, TimeUnit.SECONDS)
                       .withMaxConnectionLifetime(30, TimeUnit.MINUTES)
                       .withMaxConnectionPoolSize(10)
                       .withConnectionAcquisitionTimeout(20, TimeUnit.SECONDS)
                       .build();
 
 
Since:
1.0
See Also:
  • Method Details

    • logging

      public Logging logging()
      Logging provider
      Returns:
      the Logging provider to use
    • logLeakedSessions

      public boolean logLeakedSessions()
      Check if leaked sessions logging is enabled.
      Returns:
      true if enabled, false otherwise.
    • idleTimeBeforeConnectionTest

      public long idleTimeBeforeConnectionTest()
      Pooled connections that have been idle in the pool for longer than this timeout will be tested before they are used again, to ensure they are still live.
      Returns:
      idle time in milliseconds
    • maxConnectionLifetimeMillis

      public long maxConnectionLifetimeMillis()
      Pooled connections older than this threshold will be closed and removed from the pool.
      Returns:
      maximum lifetime in milliseconds
    • connectionTimeoutMillis

      public int connectionTimeoutMillis()
      Returns:
      the configured connection timeout value in milliseconds.
    • maxConnectionPoolSize

      public int maxConnectionPoolSize()
      Returns the maximum connection pool size.
      Returns:
      the maximum size
    • connectionAcquisitionTimeoutMillis

      public long connectionAcquisitionTimeoutMillis()
      Returns the connection acquisition timeout in milliseconds.
      Returns:
      the acquisition timeout
    • encrypted

      public boolean encrypted()
      Returns:
      indicator for encrypted communication.
    • trustStrategy

      public Config.TrustStrategy trustStrategy()
      Returns:
      the strategy to use to determine the authenticity of an encryption certificate provided by the Neo4j instance we are connecting to.
    • resolver

      public ServerAddressResolver resolver()
      Server address resolver.
      Returns:
      the resolver to use.
    • builder

      public static Config.ConfigBuilder builder()
      Start building a Config object using a newly created builder.
      Returns:
      a new Config.ConfigBuilder instance.
    • defaultConfig

      public static Config defaultConfig()
      Returns:
      A config with all default settings
    • routingTablePurgeDelayMillis

      public long routingTablePurgeDelayMillis()
      Returns stale routing table purge delay.
      Returns:
      routing table purge delay
    • maxTransactionRetryTimeMillis

      public long maxTransactionRetryTimeMillis()
      Returns managed transactions maximum retry time.
      Returns:
      maximum retry time
    • fetchSize

      public long fetchSize()
      Returns the fetch size.
      Returns:
      the fetch size
    • notificationConfig

      public NotificationConfig notificationConfig()
      Returns notification config.
      Returns:
      the notification config
      Since:
      5.7
    • minimumNotificationSeverity

      @Preview(name="GQL-status object") public Optional<NotificationSeverity> minimumNotificationSeverity()
      Returns a minimum notification severity.
      Returns:
      an Optional of minimum NotificationSeverity or an empty Optional if it is not set
      Since:
      5.22.0
    • disabledNotificationClassifications

      @Preview(name="GQL-status object") public Set<NotificationClassification> disabledNotificationClassifications()
      Returns a set of disabled notification classifications.
      Returns:
      the Set of disabled NotificationClassification
      Since:
      5.22.0
    • eventLoopThreads

      public int eventLoopThreads()
      Returns the number of EventLoop threads.
      Returns:
      the number of threads
    • isMetricsEnabled

      public boolean isMetricsEnabled()
      Returns:
      if the metrics is enabled or not on this driver.
    • metricsAdapter

      public MetricsAdapter metricsAdapter()
      Returns the MetricsAdapter.
      Returns:
      the metrics adapter
    • userAgent

      public String userAgent()
      Returns:
      the user_agent configured for this driver
    • isTelemetryDisabled

      public boolean isTelemetryDisabled()
      Returns if the telemetry is disabled on the driver side.

      The telemetry is collected only when it is enabled both the server and the driver.

      Returns:
      true if telemetry is disabled or false otherwise
      Since:
      5.13