public abstract class IgniteSpiAdapter extends Object implements IgniteSpi, IgniteSpiManagementMBean
Modifier and Type | Field and Description |
---|---|
protected String |
gridName
Grid instance name.
|
protected Ignite |
ignite
Ignite instance.
|
protected UUID |
nodeId
Local node id.
|
Modifier | Constructor and Description |
---|---|
protected |
IgniteSpiAdapter()
Creates new adapter and initializes it from the current (this) class.
|
Modifier and Type | Method and Description |
---|---|
protected void |
assertParameter(boolean cond,
String condDesc)
Throws exception with uniform error message if given parameter's assertion condition
is
false . |
protected void |
checkConfigurationConsistency0(IgniteSpiContext spiCtx,
ClusterNode node,
boolean starting)
Method which is called in the end of checkConfigurationConsistency() method.
|
protected String |
configInfo(String name,
Object val)
Gets uniformed string for configuration parameter.
|
protected String |
createSpiAttributeName(String attrName)
Creates new name for the given attribute.
|
protected List<String> |
getConsistentAttributeNames()
Returns back a list of attributes that should be consistent
for this SPI.
|
org.apache.ignite.internal.util.IgniteExceptionRegistry |
getExceptionRegistry()
Gets Exception registry.
|
String |
getIgniteHome()
Gets Ignite installation home folder (i.e.
|
UUID |
getLocalNodeId()
Gets ID of the local node.
|
String |
getName()
Gets SPI name.
|
Map<String,Object> |
getNodeAttributes()
This method is called before SPI starts (before method
IgniteSpi.spiStart(String)
is called). |
IgniteSpiContext |
getSpiContext()
Gets SPI context.
|
long |
getStartTimestamp()
Get start timestamp of this SPI.
|
String |
getStartTimestampFormatted()
Gets string presentation of the start timestamp.
|
long |
getUpTime()
Gets up-time of this SPI in ms.
|
String |
getUpTimeFormatted()
Gets string presentation of up-time for this SPI.
|
Collection<Object> |
injectables()
This method returns SPI internal instances that need to be injected as well.
|
protected void |
injectResources(Ignite ignite)
Inject ignite instance.
|
protected boolean |
isNodeStopping() |
void |
onContextDestroyed()
Callback invoked prior to stopping grid before SPI context is destroyed.
|
protected void |
onContextDestroyed0()
Method to be called in the beginning of onContextDestroyed() method.
|
void |
onContextInitialized(IgniteSpiContext spiCtx)
Callback invoked when SPI context is initialized.
|
protected void |
onContextInitialized0(IgniteSpiContext spiCtx)
Method to be called in the end of onContextInitialized method.
|
protected <T extends IgniteSpiManagementMBean> |
registerMBean(String gridName,
T impl,
Class<T> mbeanItf)
Registers SPI MBean.
|
void |
setName(String name)
Sets SPI name.
|
protected String |
startInfo()
Gets uniformly formatted message for SPI start.
|
protected void |
startStopwatch()
Starts startup stopwatch.
|
protected String |
stopInfo()
Gets uniformly format message for SPI stop.
|
protected void |
unregisterMBean()
Unregisters MBean.
|
protected Ignite ignite
protected UUID nodeId
protected String gridName
protected IgniteSpiAdapter()
Class.getSimpleName()
).protected void startStopwatch()
public final String getStartTimestampFormatted()
getStartTimestampFormatted
in interface IgniteSpiManagementMBean
public final String getUpTimeFormatted()
getUpTimeFormatted
in interface IgniteSpiManagementMBean
public final long getStartTimestamp()
getStartTimestamp
in interface IgniteSpiManagementMBean
public final long getUpTime()
getUpTime
in interface IgniteSpiManagementMBean
public UUID getLocalNodeId()
getLocalNodeId
in interface IgniteSpiManagementMBean
public final String getIgniteHome()
getIgniteHome
in interface IgniteSpiManagementMBean
public String getName()
getName
in interface IgniteSpi
getName
in interface IgniteSpiManagementMBean
@IgniteSpiConfiguration(optional=true) public void setName(String name)
name
- SPI name.public final void onContextInitialized(IgniteSpiContext spiCtx) throws IgniteSpiException
This method is invoked after IgniteSpi.spiStart(String)
method is
completed, so SPI should be fully functional at this point. Use this
method for post-start initialization, such as subscribing a discovery
listener, sending a message to remote node, etc...
onContextInitialized
in interface IgniteSpi
spiCtx
- Spi context.IgniteSpiException
- If context initialization failed (grid will be stopped).protected void onContextInitialized0(IgniteSpiContext spiCtx) throws IgniteSpiException
spiCtx
- SPI context.IgniteSpiException
- In case of errors.public final void onContextDestroyed()
If IgniteSpiAdapter
is used for SPI implementation, then it will
replace actual context with dummy no-op context which is usually good-enough
since grid is about to shut down.
onContextDestroyed
in interface IgniteSpi
@IgniteInstanceResource protected void injectResources(Ignite ignite)
protected void onContextDestroyed0()
public Collection<Object> injectables()
public IgniteSpiContext getSpiContext()
public org.apache.ignite.internal.util.IgniteExceptionRegistry getExceptionRegistry()
public Map<String,Object> getNodeAttributes() throws IgniteSpiException
IgniteSpi.spiStart(String)
is called). It allows SPI implementation to add attributes to a local
node. Kernal collects these attributes from all SPI implementations
loaded up and then passes it to discovery SPI so that they can be
exchanged with other nodes.getNodeAttributes
in interface IgniteSpi
IgniteSpiException
- Throws in case of any error.protected final void assertParameter(boolean cond, String condDesc) throws IgniteSpiException
false
.cond
- Assertion condition to check.condDesc
- Description of failed condition. Note that this description should include
JavaBean name of the property (not a variable name) as well condition in
Java syntax like, for example:
... assertParameter(dirPath != null, "dirPath != null"); ...Note that in case when variable name is the same as JavaBean property you can just copy Java condition expression into description as a string.
IgniteSpiException
- Thrown if given condition is false
protected final String startInfo()
protected final String stopInfo()
protected final String configInfo(String name, Object val)
name
- Parameter name.val
- Parameter value.protected final <T extends IgniteSpiManagementMBean> void registerMBean(String gridName, T impl, Class<T> mbeanItf) throws IgniteSpiException
T
- Type of the MBeangridName
- Grid name. If null, then name will be empty.impl
- MBean implementation.mbeanItf
- MBean interface (if null
, then standard JMX
naming conventions are used.IgniteSpiException
- If registration failed.protected final void unregisterMBean() throws IgniteSpiException
IgniteSpiException
- If bean could not be unregistered.protected final boolean isNodeStopping()
True
if node is stopping.protected void checkConfigurationConsistency0(IgniteSpiContext spiCtx, ClusterNode node, boolean starting) throws IgniteSpiException
spiCtx
- SPI context.node
- Remote node.starting
- If this node is starting or not.IgniteSpiException
- in case of errors.protected List<String> getConsistentAttributeNames()
Follow @ApacheIgnite
Ignite Fabric : ver. 1.1.0-incubating Release Date : May 20 2015