public interface PersistableResourceService extends MaintainableService
Modifier and Type | Interface and Description |
---|---|
static interface |
PersistableResourceService.PersistenceSpaceIdentifier<T extends PersistableResourceService>
An identifier for an existing persistable resource.
|
MaintainableService.MaintenanceScope
startForMaintenance
boolean handlesResourceType(ResourceType<?> resourceType)
true
if this service handles the given resource type.resourceType
- the resource type to checktrue
if this service handles the resource typePersistableResourceService.PersistenceSpaceIdentifier<?> getPersistenceSpaceIdentifier(java.lang.String name, ResourcePool resource) throws CachePersistenceException
PersistableResourceService.PersistenceSpaceIdentifier
for the space associated to the provided arguments.
This method may create a new persistence space or load one. The returned identifier is the only way to interact with the persistence space.
name
- the name of the persistence contextresource
- the associated persistable resource poolCachePersistenceException
- if the persistence space cannot be createdgetStateRepositoryWithin(PersistenceSpaceIdentifier, String)
PersistableResourceService.PersistenceSpaceIdentifier<?> getSharedPersistenceSpaceIdentifier(ResourcePool resource) throws CachePersistenceException
PersistableResourceService.PersistenceSpaceIdentifier
for a space shared across all caches.
This method may create a new persistence space or load one. The returned identifier is the only way to interact with the persistence space.
resource
- the associated shared persistable resource poolCachePersistenceException
- if the persistence space cannot be createdvoid releasePersistenceSpaceIdentifier(PersistableResourceService.PersistenceSpaceIdentifier<?> identifier) throws CachePersistenceException
PersistableResourceService.PersistenceSpaceIdentifier
.
This indicates to the persistence space that resource linked to the given identifier are no longer needed and thus enables cleaning up any transient state left.
identifier
- the PersistenceSpaceIdentifier
to releaseCachePersistenceException
- If the identifier is not knownStateRepository getStateRepositoryWithin(PersistableResourceService.PersistenceSpaceIdentifier<?> identifier, java.lang.String name) throws CachePersistenceException
state repository
in the context of the given
identifier
.
If the StateRepository
already existed, this method returns it in a fully available state.
identifier
- the space identifiername
- the state repository nameStateRepository
CachePersistenceException
- if the StateRepository
cannot be created or recovered.void destroy(java.lang.String name) throws CachePersistenceException
This method can be called without having created the persistence space from this JVM.
name
- persistence context nameCachePersistenceException
- if the persistence space cannot be destroyedvoid destroyAll() throws CachePersistenceException
Note that this method can be called without having created the persistence spaces from this JVM.
CachePersistenceException
- if the persistence storage cannot be destroyed