Package org.apache.ignite.events
Class DiscoveryEvent
- java.lang.Object
-
- org.apache.ignite.events.EventAdapter
-
- org.apache.ignite.events.DiscoveryEvent
-
- All Implemented Interfaces:
Serializable
,Comparable<Event>
,Event
public class DiscoveryEvent extends EventAdapter
Grid discovery event.Grid events are used for notification about what happens within the grid. Note that by design Ignite keeps all events generated on the local node locally and it provides APIs for performing a distributed queries across multiple nodes:
-
IgniteEvents.remoteQuery(org.apache.ignite.lang.IgnitePredicate, long, int...)
- asynchronously querying events occurred on the nodes specified, including remote nodes. -
IgniteEvents.localQuery(org.apache.ignite.lang.IgnitePredicate, int...)
- querying only local events stored on this local node. -
IgniteEvents.localListen(org.apache.ignite.lang.IgnitePredicate, int...)
- listening to local grid events (events from remote nodes not included).
IgniteEvents.waitForLocal(org.apache.ignite.lang.IgnitePredicate, int...)
.Events and Performance
Note that by default all events in Ignite are enabled and therefore generated and stored by whatever event storage SPI is configured. Ignite can and often does generate thousands events per seconds under the load and therefore it creates a significant additional load on the system. If these events are not needed by the application this load is unnecessary and leads to significant performance degradation.It is highly recommended to enable only those events that your application logic requires by using
IgniteConfiguration.getIncludeEventTypes()
method in Ignite configuration. Note that certain events are required for Ignite's internal operations and such events will still be generated but not stored by event storage SPI if they are disabled in Ignite configuration.
-
-
Constructor Summary
Constructors Constructor Description DiscoveryEvent()
No-arg constructor.DiscoveryEvent(ClusterNode node, String msg, int type, ClusterNode evtNode)
Creates new discovery event with given parameters.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClusterNode
eventNode()
Gets node that caused this event to be generated.void
eventNode(ClusterNode evtNode)
Sets node this event is referring to.@Nullable String
message()
Gets optional message for this event.void
messageTemplate(String msgTemplate)
Template to generatemessage()
lazily.String
shortDisplay()
Gets a shortened version oftoString()
result.org.apache.ignite.internal.processors.tracing.Span
span()
Gets span instance.void
span(org.apache.ignite.internal.processors.tracing.Span span)
Set span.Collection<ClusterNode>
topologyNodes()
Gets topology nodes from topology snapshot.void
topologySnapshot(long topVer, Collection<ClusterNode> topSnapshot)
Sets the topology snapshot.long
topologyVersion()
Gets topology version if this event is raised on topology change and configured discovery SPI implementation supports topology versioning.String
toString()
-
-
-
Constructor Detail
-
DiscoveryEvent
public DiscoveryEvent()
No-arg constructor.
-
DiscoveryEvent
public DiscoveryEvent(ClusterNode node, String msg, int type, ClusterNode evtNode)
Creates new discovery event with given parameters.- Parameters:
node
- Local node.msg
- Optional event message.type
- Event type.evtNode
- Node that caused this event to be generated.
-
-
Method Detail
-
shortDisplay
public String shortDisplay()
Gets a shortened version oftoString()
result. Suitable for humans to read.- Specified by:
shortDisplay
in interfaceEvent
- Overrides:
shortDisplay
in classEventAdapter
- Returns:
- Shortened version of
toString()
result.
-
eventNode
public void eventNode(ClusterNode evtNode)
Sets node this event is referring to.- Parameters:
evtNode
- Event node.
-
eventNode
public ClusterNode eventNode()
Gets node that caused this event to be generated. It is potentially different from the node on which this event was recorded. For example, nodeA
locally recorded the event that a remote nodeB
joined the topology. In this case this method will return nodeB
.- Returns:
- Event node.
-
topologyVersion
public long topologyVersion()
Gets topology version if this event is raised on topology change and configured discovery SPI implementation supports topology versioning.- Returns:
- Topology version or
0
if configured discovery SPI implementation does not support versioning.
-
topologyNodes
public Collection<ClusterNode> topologyNodes()
Gets topology nodes from topology snapshot. If SPI implementation does not support versioning, the best effort snapshot will be captured.- Returns:
- Topology snapshot.
-
topologySnapshot
public void topologySnapshot(long topVer, Collection<ClusterNode> topSnapshot)
Sets the topology snapshot.- Parameters:
topVer
- Topology version.topSnapshot
- Topology snapshot.
-
messageTemplate
public void messageTemplate(String msgTemplate)
Template to generatemessage()
lazily. Will be joined witheventNode()
converted to string.- Parameters:
msgTemplate
- Template.
-
message
@Nullable public @Nullable String message()
Gets optional message for this event.- Specified by:
message
in interfaceEvent
- Overrides:
message
in classEventAdapter
- Returns:
- Optional (can be
null
) message for this event.
-
span
public org.apache.ignite.internal.processors.tracing.Span span()
Gets span instance.- Returns:
- Span.
-
span
public void span(org.apache.ignite.internal.processors.tracing.Span span)
Set span.- Parameters:
span
- Span.
-
toString
public String toString()
- Overrides:
toString
in classEventAdapter
-
-