Add persistenceDirectory config option for controlling event/session storage #998
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
Adds a
persistenceDirectory
config option that controls where events/sessions are stored. By default this remainscontext.cacheDir
. This gets us one step closer to supporting Clients in multiple processes.Changeset
persistenceDirectory
option toConfiguration
that allows users to set a custom FileFileStore
constructor to take aFile
that specifies the directory where reports should be persisted. If it is not possible to write to the directory an error is loggedFile
rather thanString
for calculating pathsNativeInterface.getReportPath()
to useconfig.persistenceDirectory
when calculating storage directoryTesting
persistenceDirectory
can have its values set on the public API as expectedpersistenceDirectory
is set to thecontext.cacheDir
by defaultEvent/SessionStoreMaxLimitTest
to be unit tests, asFileStore
no longer requires aContext
and can therefore run on the JVM (this is much faster)persistenceDirectory
and Files rather than Strings where necessary