org.neo4j.kernel.configuration
Class Config

java.lang.Object
  extended by org.neo4j.kernel.configuration.Config
All Implemented Interfaces:
DiagnosticsProvider

public class Config
extends Object
implements DiagnosticsProvider

This class holds the overall configuration of a Neo4j database instance. Use the accessors to convert the internal key-value settings to other types. Users can assume that old settings have been migrated to their new counterparts, and that defaults have been applied. UI's can change configuration by calling applyChanges. Any listener, such as services that use this configuration, can be notified of changes by implementing the ConfigurationChangeListener interface.


Field Summary
static String ALLOW_STORE_UPGRADE
          Boolean (one of true,false) defining whether to allow a store upgrade in case the current version of the database starts against an older store version.
static String ARRAY_BLOCK_SIZE
           
static String ARRAY_PROPERTY_STORE_MMAP_SIZE
          The size to allocate for memory mapping the array property store
static String BACKUP_SLAVE
          Mark this database as a backup slave.
static String CACHE_TYPE
          The type of cache to use for nodes and relationships, one of [weak, soft, none, array]
static String DEFAULT_DATA_SOURCE_NAME
           
static String DUMP_CONFIGURATION
          Print out the effective Neo4j configuration after startup
static String ENABLE_ONLINE_BACKUP
          Enable a support for running online backups
static String ENABLE_REMOTE_SHELL
          Enable a remote shell server which shell clients can log in to
static String GC_MONITOR_THRESHOLD
          The amount of time in ms the monitor thread has to be blocked before logging a message it was blocked.
static String GC_MONITOR_WAIT_TIME
          Amount of time in ms the GC monitor thread will wait before taking another measurement.
static String GCR_CACHE_MIN_LOG_INTERVAL
          The minimal time that must pass in between logging statistics from the cache (when using the 'gcr' cache).
static String INTERCEPT_COMMITTING_TRANSACTIONS
          Determines whether any TransactionInterceptors loaded will intercept prepared transactions before they reach the logical log.
static String INTERCEPT_DESERIALIZED_TRANSACTIONS
          Determines whether any TransactionInterceptors loaded will intercept externally received transactions (e.g.
static String KEEP_LOGICAL_LOGS
          Make Neo4j keep the logical transaction logs for being able to backup the database
static String LOGICAL_LOG
          Relative path for where the Neo4j logical log is located
static String LUCENE_SEARCHER_CACHE_SIZE
          Integer value that sets the maximum number of open lucene index searchers.
static String LUCENE_WRITER_CACHE_SIZE
          Integer value that sets the maximum number of open lucene index writers.
static String NEO_STORE
          Relative path for where the Neo4j storage information file is located
static String NODE_AUTO_INDEXING
          Boolean value (one of true, false) that controls the auto indexing feature for nodes.
static String NODE_CACHE_ARRAY_FRACTION
          The fraction of the heap (1%-10%) to use for the base array in the node cache (when using the 'gcr' cache).
static String NODE_CACHE_SIZE
          The amount of memory to use for the node cache (when using the 'gcr' cache).
static String NODE_KEYS_INDEXABLE
          A list of property names (comma separated) that will be indexed by default.
static String NODE_STORE_MMAP_SIZE
          The size to allocate for memory mapping the node store
static String PROPERTY_INDEX_KEY_STORE_MMAP_SIZE
          The size to allocate for memory mapping the store for property key strings
static String PROPERTY_INDEX_STORE_MMAP_SIZE
          The size to allocate for memory mapping the store for property key indexes
static String PROPERTY_STORE_MMAP_SIZE
          The size to allocate for memory mapping the property value store
static String READ_ONLY
          Only allow read operations from this Neo4j instance.
static String REBUILD_IDGENERATORS_FAST
          Use a quick approach for rebuilding the ID generators.
static String RELATIONSHIP_AUTO_INDEXING
          Boolean value (one of true, false) that controls the auto indexing feature for relationships.
static String RELATIONSHIP_CACHE_ARRAY_FRACTION
          The fraction of the heap (1%-10%) to use for the base array in the relationship cache (when using the 'gcr' cache).
static String RELATIONSHIP_CACHE_SIZE
          The amount of memory to use for the relationship cache (when using the 'gcr' cache).
static String RELATIONSHIP_KEYS_INDEXABLE
          A list of property names (comma separated) that will be indexed by default.
static String RELATIONSHIP_STORE_MMAP_SIZE
          The size to allocate for memory mapping the relationship store
static String STORAGE_DIRECTORY
          Relative path for where the Neo4j storage directory is located
static String STRING_BLOCK_SIZE
           
static String STRING_PROPERTY_STORE_MMAP_SIZE
          The size to allocate for memory mapping the string property store
static String TXMANAGER_IMPLEMENTATION
          The name of the Transaction Manager service to use as defined in the TM service provider constructor, defaults to native.
static String USE_MEMORY_MAPPED_BUFFERS
          Tell Neo4j to use memory mapped buffers for accessing the native storage layer
 
Constructor Summary
Config(Map<String,String> inputParams)
           
 
Method Summary
 void acceptDiagnosticsVisitor(Object visitor)
          Accept a visitor that may or may not be capable of visiting this object.
 void addConfigurationChangeListener(ConfigurationChangeListener listener)
           
 void applyChanges(Map<String,String> newConfiguration)
           
 void dump(DiagnosticsPhase phase, org.neo4j.kernel.impl.util.StringLogger log)
          Dump the diagnostic information of this DiagnosticsProvider for the specified phase to the provided log.
 String get(GraphDatabaseSetting setting)
           
 boolean getBoolean(GraphDatabaseSetting.BooleanSetting setting)
           
 String getDiagnosticsIdentifier()
          Return an identifier for this DiagnosticsProvider.
 double getDouble(GraphDatabaseSetting.DoubleSetting setting)
           
 long getDuration(GraphDatabaseSetting.StringSetting setting)
           
<T extends Enum<T>>
T
getEnum(Class<T> enumType, GraphDatabaseSetting.OptionsSetting graphDatabaseSetting)
           
 float getFloat(GraphDatabaseSetting.FloatSetting setting)
           
 int getInteger(GraphDatabaseSetting.IntegerSetting setting)
           
 long getLong(GraphDatabaseSetting.LongSetting setting)
           
 Map<String,String> getParams()
           
 long getSize(GraphDatabaseSetting.StringSetting setting)
           
 boolean isSet(GraphDatabaseSetting graphDatabaseSetting)
           
 void removeConfigurationChangeListener(ConfigurationChangeListener listener)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_DATA_SOURCE_NAME

public static final String DEFAULT_DATA_SOURCE_NAME
See Also:
Constant Field Values

USE_MEMORY_MAPPED_BUFFERS

public static final String USE_MEMORY_MAPPED_BUFFERS
Tell Neo4j to use memory mapped buffers for accessing the native storage layer

See Also:
Constant Field Values

DUMP_CONFIGURATION

public static final String DUMP_CONFIGURATION
Print out the effective Neo4j configuration after startup

See Also:
Constant Field Values

KEEP_LOGICAL_LOGS

public static final String KEEP_LOGICAL_LOGS
Make Neo4j keep the logical transaction logs for being able to backup the database

See Also:
Constant Field Values

ENABLE_REMOTE_SHELL

public static final String ENABLE_REMOTE_SHELL
Enable a remote shell server which shell clients can log in to

See Also:
Constant Field Values

ENABLE_ONLINE_BACKUP

public static final String ENABLE_ONLINE_BACKUP
Enable a support for running online backups

See Also:
Constant Field Values

BACKUP_SLAVE

public static final String BACKUP_SLAVE
Mark this database as a backup slave.

See Also:
Constant Field Values

READ_ONLY

public static final String READ_ONLY
Only allow read operations from this Neo4j instance.

See Also:
Constant Field Values

STORAGE_DIRECTORY

public static final String STORAGE_DIRECTORY
Relative path for where the Neo4j storage directory is located

See Also:
Constant Field Values

REBUILD_IDGENERATORS_FAST

public static final String REBUILD_IDGENERATORS_FAST
Use a quick approach for rebuilding the ID generators. This give quicker recovery time, but will limit the ability to reuse the space of deleted entities.

See Also:
Constant Field Values

NODE_STORE_MMAP_SIZE

public static final String NODE_STORE_MMAP_SIZE
The size to allocate for memory mapping the node store

See Also:
Constant Field Values

ARRAY_PROPERTY_STORE_MMAP_SIZE

public static final String ARRAY_PROPERTY_STORE_MMAP_SIZE
The size to allocate for memory mapping the array property store

See Also:
Constant Field Values

PROPERTY_INDEX_KEY_STORE_MMAP_SIZE

public static final String PROPERTY_INDEX_KEY_STORE_MMAP_SIZE
The size to allocate for memory mapping the store for property key strings

See Also:
Constant Field Values

PROPERTY_INDEX_STORE_MMAP_SIZE

public static final String PROPERTY_INDEX_STORE_MMAP_SIZE
The size to allocate for memory mapping the store for property key indexes

See Also:
Constant Field Values

PROPERTY_STORE_MMAP_SIZE

public static final String PROPERTY_STORE_MMAP_SIZE
The size to allocate for memory mapping the property value store

See Also:
Constant Field Values

STRING_PROPERTY_STORE_MMAP_SIZE

public static final String STRING_PROPERTY_STORE_MMAP_SIZE
The size to allocate for memory mapping the string property store

See Also:
Constant Field Values

RELATIONSHIP_STORE_MMAP_SIZE

public static final String RELATIONSHIP_STORE_MMAP_SIZE
The size to allocate for memory mapping the relationship store

See Also:
Constant Field Values

LOGICAL_LOG

public static final String LOGICAL_LOG
Relative path for where the Neo4j logical log is located

See Also:
Constant Field Values

NEO_STORE

public static final String NEO_STORE
Relative path for where the Neo4j storage information file is located

See Also:
Constant Field Values

CACHE_TYPE

public static final String CACHE_TYPE
The type of cache to use for nodes and relationships, one of [weak, soft, none, array]

See Also:
Constant Field Values

NODE_CACHE_SIZE

public static final String NODE_CACHE_SIZE
The amount of memory to use for the node cache (when using the 'gcr' cache).

See Also:
Constant Field Values

RELATIONSHIP_CACHE_SIZE

public static final String RELATIONSHIP_CACHE_SIZE
The amount of memory to use for the relationship cache (when using the 'gcr' cache).

See Also:
Constant Field Values

NODE_CACHE_ARRAY_FRACTION

public static final String NODE_CACHE_ARRAY_FRACTION
The fraction of the heap (1%-10%) to use for the base array in the node cache (when using the 'gcr' cache).

See Also:
Constant Field Values

RELATIONSHIP_CACHE_ARRAY_FRACTION

public static final String RELATIONSHIP_CACHE_ARRAY_FRACTION
The fraction of the heap (1%-10%) to use for the base array in the relationship cache (when using the 'gcr' cache).

See Also:
Constant Field Values

GCR_CACHE_MIN_LOG_INTERVAL

public static final String GCR_CACHE_MIN_LOG_INTERVAL
The minimal time that must pass in between logging statistics from the cache (when using the 'gcr' cache). Default unit is seconds, suffix with 's', 'm', or 'ms' to have the unit be seconds, minutes or milliseconds respectively.

See Also:
Constant Field Values

TXMANAGER_IMPLEMENTATION

public static final String TXMANAGER_IMPLEMENTATION
The name of the Transaction Manager service to use as defined in the TM service provider constructor, defaults to native.

See Also:
Constant Field Values

INTERCEPT_COMMITTING_TRANSACTIONS

public static final String INTERCEPT_COMMITTING_TRANSACTIONS
Determines whether any TransactionInterceptors loaded will intercept prepared transactions before they reach the logical log. Defaults to false.

See Also:
Constant Field Values

INTERCEPT_DESERIALIZED_TRANSACTIONS

public static final String INTERCEPT_DESERIALIZED_TRANSACTIONS
Determines whether any TransactionInterceptors loaded will intercept externally received transactions (e.g. in HA) before they reach the logical log and are applied to the store. Defaults to false.

See Also:
Constant Field Values

ALLOW_STORE_UPGRADE

public static final String ALLOW_STORE_UPGRADE
Boolean (one of true,false) defining whether to allow a store upgrade in case the current version of the database starts against an older store version. Setting this to true does not guarantee successful upgrade, just allows an attempt at it.

See Also:
Constant Field Values

STRING_BLOCK_SIZE

public static final String STRING_BLOCK_SIZE
See Also:
Constant Field Values

ARRAY_BLOCK_SIZE

public static final String ARRAY_BLOCK_SIZE
See Also:
Constant Field Values

NODE_KEYS_INDEXABLE

public static final String NODE_KEYS_INDEXABLE
A list of property names (comma separated) that will be indexed by default. This applies to Nodes only.

See Also:
Constant Field Values

RELATIONSHIP_KEYS_INDEXABLE

public static final String RELATIONSHIP_KEYS_INDEXABLE
A list of property names (comma separated) that will be indexed by default. This applies to Relationships only.

See Also:
Constant Field Values

NODE_AUTO_INDEXING

public static final String NODE_AUTO_INDEXING
Boolean value (one of true, false) that controls the auto indexing feature for nodes. Setting to false shuts it down unconditionally, while true enables it for every property, subject to restrictions in the configuration. The default is false.

See Also:
Constant Field Values

RELATIONSHIP_AUTO_INDEXING

public static final String RELATIONSHIP_AUTO_INDEXING
Boolean value (one of true, false) that controls the auto indexing feature for relationships. Setting to false shuts it down unconditionally, while true enables it for every property, subject to restrictions in the configuration. The default is false.

See Also:
Constant Field Values

LUCENE_SEARCHER_CACHE_SIZE

public static final String LUCENE_SEARCHER_CACHE_SIZE
Integer value that sets the maximum number of open lucene index searchers. The default is Integer.MAX_VALUE

See Also:
Constant Field Values

LUCENE_WRITER_CACHE_SIZE

public static final String LUCENE_WRITER_CACHE_SIZE
Integer value that sets the maximum number of open lucene index writers. The default is Integer.MAX_VALUE

See Also:
Constant Field Values

GC_MONITOR_WAIT_TIME

public static final String GC_MONITOR_WAIT_TIME
Amount of time in ms the GC monitor thread will wait before taking another measurement. Default is 100 ms.

See Also:
Constant Field Values

GC_MONITOR_THRESHOLD

public static final String GC_MONITOR_THRESHOLD
The amount of time in ms the monitor thread has to be blocked before logging a message it was blocked. Default is 200ms

See Also:
Constant Field Values
Constructor Detail

Config

public Config(Map<String,String> inputParams)
Method Detail

getParams

public Map<String,String> getParams()

isSet

public boolean isSet(GraphDatabaseSetting graphDatabaseSetting)

get

public String get(GraphDatabaseSetting setting)

getBoolean

public boolean getBoolean(GraphDatabaseSetting.BooleanSetting setting)

getInteger

public int getInteger(GraphDatabaseSetting.IntegerSetting setting)

getLong

public long getLong(GraphDatabaseSetting.LongSetting setting)

getDouble

public double getDouble(GraphDatabaseSetting.DoubleSetting setting)

getFloat

public float getFloat(GraphDatabaseSetting.FloatSetting setting)

getSize

public long getSize(GraphDatabaseSetting.StringSetting setting)

getDuration

public long getDuration(GraphDatabaseSetting.StringSetting setting)

getEnum

public <T extends Enum<T>> T getEnum(Class<T> enumType,
                                     GraphDatabaseSetting.OptionsSetting graphDatabaseSetting)

getDiagnosticsIdentifier

public String getDiagnosticsIdentifier()
Description copied from interface: DiagnosticsProvider
Return an identifier for this DiagnosticsProvider. The result of this method must be stable, i.e. invoking this method multiple times on the same object should return equal strings. For DiagnosticsProviders where there is only one instance of that DiagnosticsProvider, an implementation like this is would be a sane default, given that the implementing class has a sensible name:
 public String getDiagnosticsIdentifier()
 {
     return getClass().getName();
 }
 

Specified by:
getDiagnosticsIdentifier in interface DiagnosticsProvider
Returns:
the identifier of this diagnostics provider.

acceptDiagnosticsVisitor

public void acceptDiagnosticsVisitor(Object visitor)
Description copied from interface: DiagnosticsProvider
Accept a visitor that may or may not be capable of visiting this object. Typical example:
 class OperationalStatistics implements DiagnosticsProvider
 {
     public void acceptDiagnosticsVisitor( Object visitor )
     {
         if ( visitor instanceof OperationalStatisticsVisitor )
         {
              ((OperationalStatisticsVisitor)visitor).visitOperationalStatistics( this );
         }
     }
 }
 
 interface OperationalStatisticsVisitor
 {
     void visitOperationalStatistics( OperationalStatistics statistics );
 }
 

Specified by:
acceptDiagnosticsVisitor in interface DiagnosticsProvider
Parameters:
visitor - the visitor visiting this DiagnosticsProvider.

dump

public void dump(DiagnosticsPhase phase,
                 org.neo4j.kernel.impl.util.StringLogger log)
Description copied from interface: DiagnosticsProvider
Dump the diagnostic information of this DiagnosticsProvider for the specified phase to the provided log.

Specified by:
dump in interface DiagnosticsProvider
Parameters:
phase - the phase to dump information for.
log - the log to dump information to.

applyChanges

public void applyChanges(Map<String,String> newConfiguration)

addConfigurationChangeListener

public void addConfigurationChangeListener(ConfigurationChangeListener listener)

removeConfigurationChangeListener

public void removeConfigurationChangeListener(ConfigurationChangeListener listener)

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2002-2012 The Neo4j Graph Database Project. All Rights Reserved.