Class GridEventStorageManager
- java.lang.Object
-
- org.apache.ignite.internal.managers.GridManagerAdapter<EventStorageSpi>
-
- org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager
-
- All Implemented Interfaces:
GridComponent,GridManager
public class GridEventStorageManager extends GridManagerAdapter<EventStorageSpi>
Grid event storage SPI manager.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.ignite.internal.GridComponent
GridComponent.DiscoveryDataExchangeType
-
-
Field Summary
-
Fields inherited from class org.apache.ignite.internal.managers.GridManagerAdapter
ctx, log
-
-
Constructor Summary
Constructors Constructor Description GridEventStorageManager(GridKernalContext ctx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDiscoveryEventListener(DiscoveryEventListener lsnr, int[] types)Adds discovery event listener.voidaddDiscoveryEventListener(DiscoveryEventListener lsnr, int type, @org.jetbrains.annotations.Nullable int... types)Adds discovery event listener.voidaddLocalEventListener(GridLocalEventListener lsnr, int[] types)Adds local event listener.voidaddLocalEventListener(GridLocalEventListener lsnr, int type, @org.jetbrains.annotations.Nullable int... types)Adds local event listener.voidaddLocalEventListener(IgnitePredicate<? extends Event> lsnr, int[] types)Adds local user event listener.voiddisableEvents(int[] types)Disables provided events.int[]enabledEvents()Gets types of enabled user-recordable events.voidenableEvents(int[] types)Enables provided events.booleanhasListener(int type)Checks whether this event type has any listener.booleanisAllUserRecordable(int[] types)Checks whether all provided events are user-recordable.booleanisRecordable(int type)Checks whether this event type should be recorded.booleanisUserRecordable(int type)Checks if the event type is user-recordable.<T extends Event>
Collection<T>localEvents(IgnitePredicate<T> p)voidonKernalStop0(boolean cancel)voidprintMemoryStats()Prints memory statistics (sizes of internal structures, etc.).voidrecord(DiscoveryEvent evt, DiscoCache discoCache)Records discovery events.voidrecord(Event evt)Records event if it's recordable.<T extends Event>
IgniteInternalFuture<List<T>>remoteEventsAsync(IgnitePredicate<T> p, Collection<? extends ClusterNode> nodes, long timeout)booleanremoveDiscoveryEventListener(DiscoveryEventListener lsnr, @org.jetbrains.annotations.Nullable int... types)Removes listener for specified events, if any.booleanremoveLocalEventListener(GridLocalEventListener lsnr, @org.jetbrains.annotations.Nullable int... types)Removes listener for specified events, if any.booleanremoveLocalEventListener(IgnitePredicate<? extends Event> lsnr, @org.jetbrains.annotations.Nullable int... types)Removes user listener for specified events, if any.voidstart()Starts grid component.voidstop(boolean cancel)Stops grid component.<T extends Event>
IgniteInternalFuture<T>waitForEvent(@Nullable IgnitePredicate<T> p, @org.jetbrains.annotations.Nullable int... types)-
Methods inherited from class org.apache.ignite.internal.managers.GridManagerAdapter
assertParameter, collectGridNodeData, collectJoiningNodeData, discoveryDataType, enabled, getSpi, getSpi, getSpis, inject, onAfterSpiStart, onBeforeSpiStart, onDisconnected, onGridDataReceived, onJoiningNodeDataReceived, onKernalStart, onKernalStart0, onKernalStop, onReconnected, startInfo, startSpi, stopInfo, stopSpi, toString, validateNode, validateNode
-
-
-
-
Constructor Detail
-
GridEventStorageManager
public GridEventStorageManager(GridKernalContext ctx)
- Parameters:
ctx- Kernal context.
-
-
Method Detail
-
printMemoryStats
public void printMemoryStats()
Prints memory statistics (sizes of internal structures, etc.). NOTE: this method is for testing and profiling purposes only.- Specified by:
printMemoryStatsin interfaceGridComponent- Overrides:
printMemoryStatsin classGridManagerAdapter<EventStorageSpi>
-
onKernalStop0
public void onKernalStop0(boolean cancel)
- Overrides:
onKernalStop0in classGridManagerAdapter<EventStorageSpi>- Parameters:
cancel- Cancel flag.
-
stop
public void stop(boolean cancel) throws IgniteCheckedExceptionStops grid component.- Parameters:
cancel- Iftrue, then all ongoing tasks or jobs for relevant components need to be cancelled.- Throws:
IgniteCheckedException- Thrown in case of any errors.
-
start
public void start() throws IgniteCheckedExceptionStarts grid component.- Throws:
IgniteCheckedException- Throws in case of any errors.
-
record
public void record(Event evt)
Records event if it's recordable.- Parameters:
evt- Event to record.
-
record
public void record(DiscoveryEvent evt, DiscoCache discoCache)
Records discovery events.- Parameters:
evt- Event to record.discoCache- Discovery cache.
-
enabledEvents
public int[] enabledEvents()
Gets types of enabled user-recordable events.- Returns:
- Array of types of enabled user-recordable events.
-
enableEvents
public void enableEvents(int[] types)
Enables provided events.- Parameters:
types- Events to enable.
-
disableEvents
public void disableEvents(int[] types)
Disables provided events.- Parameters:
types- Events to disable.
-
isUserRecordable
public boolean isUserRecordable(int type)
Checks if the event type is user-recordable.- Parameters:
type- Event type to check.- Returns:
trueif passed event should be recorded,false- otherwise.
-
isRecordable
public boolean isRecordable(int type)
Checks whether this event type should be recorded. Note that internal event types are always recordable for notification purposes but may not be sent down to SPI level for storage and subsequent querying.- Parameters:
type- Event type to check.- Returns:
- Whether or not this event type should be recorded.
-
hasListener
public boolean hasListener(int type)
Checks whether this event type has any listener.- Parameters:
type- Event type to check.- Returns:
- Whether or not this event type has any listener.
-
isAllUserRecordable
public boolean isAllUserRecordable(int[] types)
Checks whether all provided events are user-recordable.Note that this method supports only predefined Ignite events.
- Parameters:
types- Event types.- Returns:
- Whether all events are recordable.
- Throws:
IllegalArgumentException- Iftypescontains user event type.
-
addLocalEventListener
public void addLocalEventListener(IgnitePredicate<? extends Event> lsnr, int[] types)
Adds local user event listener.- Parameters:
lsnr- User listener to add.types- Event types to subscribe listener for.
-
addLocalEventListener
public void addLocalEventListener(GridLocalEventListener lsnr, int[] types)
Adds local event listener. Note that this method specifically disallow an empty array of event type to prevent accidental subscription for all system event that may lead to a drastic performance decrease.- Parameters:
lsnr- Listener to add.types- Event types to subscribe listener for.
-
addLocalEventListener
public void addLocalEventListener(GridLocalEventListener lsnr, int type, @Nullable @org.jetbrains.annotations.Nullable int... types)
Adds local event listener.- Parameters:
lsnr- Listener to add.type- Event type to subscribe listener for.types- Additional event types to subscribe listener for.
-
addDiscoveryEventListener
public void addDiscoveryEventListener(DiscoveryEventListener lsnr, int[] types)
Adds discovery event listener. Note that this method specifically disallow an empty array of event type to prevent accidental subscription for all system event that may lead to a drastic performance decrease.- Parameters:
lsnr- Listener to add.types- Event types to subscribe listener for.
-
addDiscoveryEventListener
public void addDiscoveryEventListener(DiscoveryEventListener lsnr, int type, @Nullable @org.jetbrains.annotations.Nullable int... types)
Adds discovery event listener.- Parameters:
lsnr- Listener to add.type- Event type to subscribe listener for.types- Additional event types to subscribe listener for.
-
removeLocalEventListener
public boolean removeLocalEventListener(IgnitePredicate<? extends Event> lsnr, @Nullable @org.jetbrains.annotations.Nullable int... types)
Removes user listener for specified events, if any. If no event types provided - it removes the listener for all its registered events.- Parameters:
lsnr- User listener predicate.types- Event types.- Returns:
- Returns
trueif removed.
-
removeLocalEventListener
public boolean removeLocalEventListener(GridLocalEventListener lsnr, @Nullable @org.jetbrains.annotations.Nullable int... types)
Removes listener for specified events, if any. If no event types provided - it remove the listener for all its registered events.- Parameters:
lsnr- Listener.types- Event types.- Returns:
- Returns
trueif removed.
-
removeDiscoveryEventListener
public boolean removeDiscoveryEventListener(DiscoveryEventListener lsnr, @Nullable @org.jetbrains.annotations.Nullable int... types)
Removes listener for specified events, if any. If no event types provided - it remove the listener for all its registered events.- Parameters:
lsnr- Listener.types- Event types.- Returns:
- Returns
trueif removed.
-
waitForEvent
public <T extends Event> IgniteInternalFuture<T> waitForEvent(@Nullable @Nullable IgnitePredicate<T> p, @Nullable @org.jetbrains.annotations.Nullable int... types)
- Parameters:
p- Optional predicate.types- Event types to wait for.- Returns:
- Event future.
-
localEvents
public <T extends Event> Collection<T> localEvents(IgnitePredicate<T> p) throws IgniteCheckedException
- Parameters:
p- Grid event predicate.- Returns:
- Collection of grid events.
- Throws:
IgniteCheckedException
-
remoteEventsAsync
public <T extends Event> IgniteInternalFuture<List<T>> remoteEventsAsync(IgnitePredicate<T> p, Collection<? extends ClusterNode> nodes, long timeout)
- Parameters:
p- Grid event predicate.nodes- Collection of nodes.timeout- Maximum time to wait for result, if0, then wait until result is received.- Returns:
- Collection of events.
-
-