Package org.ehcache.spi.persistence
Interface PersistableResourceService
-
- All Superinterfaces:
MaintainableService,Service
public interface PersistableResourceService extends MaintainableService
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfacePersistableResourceService.PersistenceSpaceIdentifier<T extends PersistableResourceService>An identifier for an existing persistable resource.-
Nested classes/interfaces inherited from interface org.ehcache.spi.service.MaintainableService
MaintainableService.MaintenanceScope
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voiddestroy(java.lang.String name)Destroys the persistence space with the given name.voiddestroyAll()Destroys all persistence spaces.PersistableResourceService.PersistenceSpaceIdentifier<?>getPersistenceSpaceIdentifier(java.lang.String name, CacheConfiguration<?,?> config)Returns aPersistableResourceService.PersistenceSpaceIdentifierfor the space associated to the provided arguments.StateRepositorygetStateRepositoryWithin(PersistableResourceService.PersistenceSpaceIdentifier<?> identifier, java.lang.String name)Returns a namedstate repositoryin the context of the givenidentifier.booleanhandlesResourceType(ResourceType<?> resourceType)Returnstrueif this service handles the given resource type.voidreleasePersistenceSpaceIdentifier(PersistableResourceService.PersistenceSpaceIdentifier<?> identifier)Releases a previously obtainedPersistableResourceService.PersistenceSpaceIdentifier.-
Methods inherited from interface org.ehcache.spi.service.MaintainableService
startForMaintenance
-
-
-
-
Method Detail
-
handlesResourceType
boolean handlesResourceType(ResourceType<?> resourceType)
Returnstrueif this service handles the given resource type.- Parameters:
resourceType- the resource type to check- Returns:
trueif this service handles the resource type
-
getPersistenceSpaceIdentifier
PersistableResourceService.PersistenceSpaceIdentifier<?> getPersistenceSpaceIdentifier(java.lang.String name, CacheConfiguration<?,?> config) throws CachePersistenceException
Returns aPersistableResourceService.PersistenceSpaceIdentifierfor 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.
- Parameters:
name- the name of the persistence contextconfig- the configuration for the associated cache- Returns:
- an identifier for the persistence space
- Throws:
CachePersistenceException- if the persistence space cannot be created- See Also:
getStateRepositoryWithin(PersistenceSpaceIdentifier, String)
-
releasePersistenceSpaceIdentifier
void releasePersistenceSpaceIdentifier(PersistableResourceService.PersistenceSpaceIdentifier<?> identifier) throws CachePersistenceException
Releases a previously obtainedPersistableResourceService.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.
- Parameters:
identifier- thePersistenceSpaceIdentifierto release- Throws:
CachePersistenceException- If the identifier is not known
-
getStateRepositoryWithin
StateRepository getStateRepositoryWithin(PersistableResourceService.PersistenceSpaceIdentifier<?> identifier, java.lang.String name) throws CachePersistenceException
Returns a namedstate repositoryin the context of the givenidentifier.If the
StateRepositoryalready existed, this method returns it in a fully available state.- Parameters:
identifier- the space identifiername- the state repository name- Returns:
- a
StateRepository - Throws:
CachePersistenceException- if theStateRepositorycannot be created or recovered.
-
destroy
void destroy(java.lang.String name) throws CachePersistenceExceptionDestroys the persistence space with the given name.This method can be called without having created the persistence space from this JVM.
- Parameters:
name- persistence context name- Throws:
CachePersistenceException- if the persistence space cannot be destroyed
-
destroyAll
void destroyAll() throws CachePersistenceExceptionDestroys all persistence spaces.Note that this method can be called without having created the persistence spaces from this JVM.
- Throws:
CachePersistenceException- if the persistence storage cannot be destroyed
-
-