public class SystemStateResource extends Resource implements IDependencyComponent, java.lang.Runnable, ISystemState
ISystemState
.Modifier and Type | Class and Description |
---|---|
static interface |
SystemStateResource.SystemStateMBean
JMX support
|
class |
SystemStateResource.SystemStateMBeanImpl |
STATES_DEPENDENCY, STATES_PARTICIPATION, TYPE
Constructor and Description |
---|
SystemStateResource(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
<T> T |
as(java.lang.Class<T> clz)
Retrieve a typed representation of the resource.
|
void |
invalidate()
This method gets called whenever a dependency resource has been invalidated or this resource needs
to be invalidated.
|
void |
prepare()
Prepare for use.
|
void |
run() |
public <T> T as(java.lang.Class<T> clz)
com.zfabrik.resources.provider.Resource
public void run()
run
in interface java.lang.Runnable
public void prepare()
com.zfabrik.components.IDependencyComponent
prepare
in interface IDependencyComponent
public void invalidate() throws ResourceBusyException
com.zfabrik.resources.provider.Resource
This code should be executed in a life cycle code block of this resource instance, i.e. where dependencies are effectively managed, so that race conditions can be avoided.
State changing methods of a resource should always be synchronized (e.g. on this). This is
in particular true for cross-resource dependencies. In order to assure consistency under race conditions,
a dependent resource should first declare its dependency and then retrieve the resource implementation.
In case of failures, resources should clean up by calling handle().invalidate(true);
invalidate
in class Resource
ResourceBusyException