public class PersistentEntityStoreConfig extends AbstractConfig
PersistentEntityStoreConfig has the same settings as DEFAULT.
As a rule, the PersistentEntityStoreConfig instance is created along with the
PersistentEntityStore one. E.g., for given environment creation of
PersistentEntityStore with some tuned caching settings can look as follows:
final PersistentEntityStoreConfig config = new PersistentEntityStoreConfig().setBlobStringsCacheSize(4000).setCachingDisabled(true);
final PersistentEntityStore store = PersistentEntityStores.newInstance(config, environment, "storeName");
Some setting are mutable at runtime and some are immutable. Immutable at runtime settings can be changed, but they
won't take effect on the PersistentEntityStore instance. Those settings are applicable only during
PersistentEntityStore instance creation.
Most of the PersistentEntityStoreConfig settings allow to change behaviour of different caching processes.
The rest of the settings are mostly not intended for public use, but for debugging and troubleshooting purposes.
You can define custom processing of changed settings values by AbstractConfig.addChangedSettingsListener(ConfigSettingChangeListener). Override ConfigSettingChangeListener.beforeSettingChanged(String, Object, Map) to pre-process mutations of settings and ConfigSettingChangeListener.afterSettingChanged(String, Object, Map) to post-process them.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
BLOB_STRINGS_CACHE_MAX_VALUE_SIZE
Defines the maximum size in bytes of a blob string that can be cached in blob strings cache.
|
static java.lang.String |
BLOB_STRINGS_CACHE_SHARED
If is set to
true then BlobVault uses shared (static) blob strings cache. |
static java.lang.String |
BLOB_STRINGS_CACHE_SIZE
Deprecated.
|
static java.lang.String |
CACHING_DISABLED
If is set to
true then EntityIterableCache is not operable. |
static java.lang.String |
DEBUG_ALLOW_IN_MEMORY_SORT
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
DEBUG_LINK_DATA_GETTER
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
DEBUG_SEARCH_FOR_INCOMING_LINKS_ON_DELETE
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
DEBUG_TEST_LINKED_ENTITIES
Not for public use, for debugging and troubleshooting purposes.
|
static PersistentEntityStoreConfig |
DEFAULT |
static java.lang.String |
ENTITY_ITERABLE_CACHE_CACHING_TIMEOUT
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_COUNTS_CACHE_SIZE
Defines the size of the counts cache of EntityIterableCache.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_COUNTS_CACHING_TIMEOUT
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_DEFERRED_DELAY
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_HEAVY_ITERABLES_LIFE_SPAN
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_HEAVY_QUERIES_CACHE_SIZE
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_MAX_SIZE_OF_DIRECT_VALUE
Defines the maximum size of "direct" value in EntityIterableCache.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_SIZE
Defines the size of EntityIterableCache.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_START_CACHING_TIMEOUT
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_THREAD_COUNT
Defines the number of thread which EntityIterableCache uses for its background caching activity.
|
static java.lang.String |
ENTITY_ITERABLE_CACHE_USE_HUMAN_READABLE
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
EXPLAIN_ON
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
GATHER_STATISTICS
If is set to
true then PersistentEntityStore gathers statistics and exposes it via
JMX managed bean provided MANAGEMENT_ENABLED is also true. |
static java.lang.String |
MANAGEMENT_ENABLED
If is set to
true then the PersistentEntityStore exposes two JMX managed beans. |
static java.lang.String |
MAX_IN_PLACE_BLOB_SIZE
Defines the maximum size in bytes of an "in-place" blob.
|
static java.lang.String |
REFACTORING_BLOB_NULL_INDICES
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
REFACTORING_DELETE_REDUNDANT_BLOBS
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
REFACTORING_FORCE_ALL
If is set to
true then new PersistentEntityStore will force all refactorings on its creation. |
static java.lang.String |
REFACTORING_HEAVY_LINKS
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
REFACTORING_HEAVY_PROPS
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
REFACTORING_NULL_INDICES
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
REFACTORING_SKIP_ALL
If is set to
true then new PersistentEntityStore will skip all refactorings on its creation. |
static java.lang.String |
REORDERING_DISABLED
Not for public use, for debugging and troubleshooting purposes.
|
static java.lang.String |
REPLICATOR
If set to some value different from
null, delegate replication to corresponding external service of provided value. |
static java.lang.String |
TRANSACTION_BLOB_STRINGS_CACHE_SIZE
Defines the size of "blob strings" cache held by each StoreTransaction instance.
|
static java.lang.String |
TRANSACTION_LINKS_CACHE_SIZE
Defines the size of "links" cache held by each StoreTransaction instance.
|
static java.lang.String |
TRANSACTION_PROPS_CACHE_SIZE
Defines the size of "property values" cache held by each StoreTransaction instance.
|
| Constructor and Description |
|---|
PersistentEntityStoreConfig() |
PersistentEntityStoreConfig(@NotNull ConfigurationStrategy strategy) |
addChangedSettingsListener, getSetting, getSettings, isMutable, removeChangedSettingsListener, removeSetting, resumeConfigChangeListenersForThread, setSettings, suppressConfigChangeListenersForThreadpublic static final PersistentEntityStoreConfig DEFAULT
public static final java.lang.String REFACTORING_SKIP_ALL
true then new PersistentEntityStore will skip all refactorings on its creation.
Default value is false.
Mutable at runtime: no
public static final java.lang.String REFACTORING_FORCE_ALL
true then new PersistentEntityStore will force all refactorings on its creation.
Default value is false.
Mutable at runtime: no
public static final java.lang.String REFACTORING_NULL_INDICES
false.
Mutable at runtime: no
public static final java.lang.String REFACTORING_BLOB_NULL_INDICES
false.
Mutable at runtime: no
public static final java.lang.String REFACTORING_HEAVY_LINKS
false.
Mutable at runtime: no
public static final java.lang.String REFACTORING_HEAVY_PROPS
false.
Mutable at runtime: no
public static final java.lang.String REFACTORING_DELETE_REDUNDANT_BLOBS
false.
Mutable at runtime: no
public static final java.lang.String MAX_IN_PLACE_BLOB_SIZE
Environment allows to reduce the nu,ber of files in BlobVault.
Default value is 10000.
Mutable at runtime: yes
public static final java.lang.String BLOB_STRINGS_CACHE_SHARED
true then BlobVault uses shared (static) blob strings cache.
Otherwise, BlobVault creates its own cache. Default value is true.
Mutable at runtime: no
public static final java.lang.String BLOB_STRINGS_CACHE_MAX_VALUE_SIZE
1000000.
Mutable at runtime: yes
@Deprecated public static final java.lang.String BLOB_STRINGS_CACHE_SIZE
"exodus.entityStore.blobStringsCacheSize" is used to configure size of blob strings cache.
Mutable at runtime: no
public static final java.lang.String CACHING_DISABLED
true then EntityIterableCache is not operable.
Not for public use, for debugging and troubleshooting purposes. Default value is false.
Mutable at runtime: yes
public static final java.lang.String REORDERING_DISABLED
false.
Mutable at runtime: yes
public static final java.lang.String EXPLAIN_ON
false.
Mutable at runtime: no
public static final java.lang.String DEBUG_LINK_DATA_GETTER
false.
Mutable at runtime: no
public static final java.lang.String DEBUG_SEARCH_FOR_INCOMING_LINKS_ON_DELETE
false.
Mutable at runtime: no
public static final java.lang.String DEBUG_TEST_LINKED_ENTITIES
false.
Mutable at runtime: yes
public static final java.lang.String DEBUG_ALLOW_IN_MEMORY_SORT
true.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_SIZE
false. Default value depends on the JVM memory settings.
Mutable at runtime: no
CACHING_DISABLED,
Constant Field Valuespublic static final java.lang.String ENTITY_ITERABLE_CACHE_COUNTS_CACHE_SIZE
false. Default value is 65536.
Mutable at runtime: no
public static final java.lang.String ENTITY_ITERABLE_CACHE_THREAD_COUNT
false.
Default value is 2, if CPU count is greater than 3, otherwise it is 1.
Mutable at runtime: no
public static final java.lang.String ENTITY_ITERABLE_CACHE_CACHING_TIMEOUT
10000L.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_COUNTS_CACHING_TIMEOUT
100000L.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_START_CACHING_TIMEOUT
7000L.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_DEFERRED_DELAY
2000.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_MAX_SIZE_OF_DIRECT_VALUE
512.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_USE_HUMAN_READABLE
false.
Mutable at runtime: yes
public static final java.lang.String ENTITY_ITERABLE_CACHE_HEAVY_QUERIES_CACHE_SIZE
2048.
Mutable at runtime: no
public static final java.lang.String ENTITY_ITERABLE_CACHE_HEAVY_ITERABLES_LIFE_SPAN
60000.
Mutable at runtime: yes
public static final java.lang.String TRANSACTION_PROPS_CACHE_SIZE
1024.
Mutable at runtime: yes
public static final java.lang.String TRANSACTION_LINKS_CACHE_SIZE
1024.
Mutable at runtime: yes
public static final java.lang.String TRANSACTION_BLOB_STRINGS_CACHE_SIZE
256.
Mutable at runtime: yes
public static final java.lang.String GATHER_STATISTICS
true then PersistentEntityStore gathers statistics and exposes it via
JMX managed bean provided MANAGEMENT_ENABLED is also true.
Mutable at runtime: no
public static final java.lang.String MANAGEMENT_ENABLED
true then the PersistentEntityStore exposes two JMX managed beans. One for
statistics and second for controlling the
PersistentEntityStoreConfig settings. Default value is true.
Mutable at runtime: no
public static final java.lang.String REPLICATOR
null, delegate replication to corresponding external service of provided value.
Mutable at runtime: no
PersistentEntityStoreReplicator,
Constant Field Valuespublic PersistentEntityStoreConfig()
public PersistentEntityStoreConfig(@NotNull
@NotNull ConfigurationStrategy strategy)
public PersistentEntityStoreConfig setSetting(@NotNull @NotNull java.lang.String key, @NotNull @NotNull java.lang.Object value)
setSetting in class AbstractConfigpublic PersistentEntityStoreConfig setMutable(boolean isMutable)
setMutable in class AbstractConfigpublic boolean getRefactoringSkipAll()
public PersistentEntityStoreConfig setRefactoringSkipAll(boolean skipAll)
public boolean getRefactoringForceAll()
public PersistentEntityStoreConfig setRefactoringForceAll(boolean forceAll)
public boolean getRefactoringNullIndices()
public PersistentEntityStoreConfig setRefactoringNullIndices(boolean nullIndices)
public boolean getRefactoringBlobNullIndices()
public PersistentEntityStoreConfig setRefactoringBlobNullIndices(boolean nullIndices)
public boolean getRefactoringHeavyLinks()
public PersistentEntityStoreConfig setRefactoringHeavyLinks(boolean heavyLinks)
public boolean getRefactoringHeavyProps()
public PersistentEntityStoreConfig setRefactoringHeavyProps(boolean heavyProps)
public boolean getRefactoringDeleteRedundantBlobs()
public PersistentEntityStoreConfig setRefactoringDeleteRedundantBlobs(boolean fixRedundantBlobs)
public int getMaxInPlaceBlobSize()
public PersistentEntityStoreConfig setMaxInPlaceBlobSize(int blobSize)
public boolean isBlobStringsCacheShared()
public PersistentEntityStoreConfig setBlobStringsCacheShared(boolean shared)
public long getBlobStringsCacheMaxValueSize()
public PersistentEntityStoreConfig setBlobStringsCacheMaxValueSize(long maxValueSize)
@Deprecated public int getBlobStringsCacheSize()
@Deprecated public PersistentEntityStoreConfig setBlobStringsCacheSize(int blobStringsCacheSize)
public boolean isCachingDisabled()
public PersistentEntityStoreConfig setCachingDisabled(boolean disabled)
public boolean isReorderingDisabled()
public PersistentEntityStoreConfig setReorderingDisabled(boolean disabled)
public boolean isExplainOn()
public PersistentEntityStoreConfig setExplainOn(boolean explainOn)
public boolean isDebugLinkDataGetter()
public PersistentEntityStoreConfig setDebugLinkDataGetter(boolean debug)
public boolean isDebugSearchForIncomingLinksOnDelete()
public PersistentEntityStoreConfig setDebugSearchForIncomingLinksOnDelete(boolean debug)
public boolean isDebugTestLinkedEntities()
public PersistentEntityStoreConfig setDebugTestLinkedEntities(boolean debug)
public boolean isDebugAllowInMemorySort()
public PersistentEntityStoreConfig setDebugAllowInMemorySort(boolean debug)
public int getEntityIterableCacheSize()
public PersistentEntityStoreConfig setEntityIterableCacheSize(int size)
public int getEntityIterableCacheCountsCacheSize()
public PersistentEntityStoreConfig setEntityIterableCacheCountsCacheSize(int size)
public int getEntityIterableCacheThreadCount()
public PersistentEntityStoreConfig setEntityIterableCacheThreadCount(int threadCount)
public long getEntityIterableCacheCachingTimeout()
public PersistentEntityStoreConfig setEntityIterableCacheCachingTimeout(long cachingTimeout)
public long getEntityIterableCacheCountsCachingTimeout()
public PersistentEntityStoreConfig setEntityIterableCacheCountsCachingTimeout(long cachingTimeout)
public long getEntityIterableCacheStartCachingTimeout()
public PersistentEntityStoreConfig setEntityIterableCacheStartCachingTimeout(long cachingTimeout)
public int getEntityIterableCacheDeferredDelay()
public PersistentEntityStoreConfig setEntityIterableCacheDeferredDelay(int deferredDelay)
public int getEntityIterableCacheMaxSizeOfDirectValue()
public PersistentEntityStoreConfig setEntityIterableCacheMaxSizeOfDirectValue(int maxSizeOfDirectValue)
public boolean getEntityIterableCacheUseHumanReadable()
public PersistentEntityStoreConfig setEntityIterableCacheUseHumanReadable(boolean useHumanReadable)
public int getEntityIterableCacheHeavyIterablesCacheSize()
public PersistentEntityStoreConfig setEntityIterableCacheHeavyIterablesCacheSize(int cacheSize)
public long getEntityIterableCacheHeavyIterablesLifeSpan()
public PersistentEntityStoreConfig setEntityIterableCacheHeavyIterablesLifeSpan(long lifeSpan)
public int getTransactionPropsCacheSize()
public PersistentEntityStoreConfig setTransactionPropsCacheSize(int transactionPropsCacheSize)
public int getTransactionLinksCacheSize()
public PersistentEntityStoreConfig setTransactionLinksCacheSize(int transactionLinksCacheSize)
public int getTransactionBlobStringsCacheSize()
public PersistentEntityStoreConfig setTransactionBlobStringsCacheSize(int transactionBlobStringsCacheSize)
public boolean getGatherStatistics()
public PersistentEntityStoreConfig setGatherStatistics(boolean gatherStatistics)
public boolean isManagementEnabled()
public PersistentEntityStoreConfig setManagementEnabled(boolean managementEnabled)
public PersistentEntityStoreConfig setStoreReplicator(jetbrains.exodus.entitystore.replication.PersistentEntityStoreReplicator replicator)
public jetbrains.exodus.entitystore.replication.PersistentEntityStoreReplicator getStoreReplicator()