Class GridEventStorageManager

    • Constructor Detail

      • GridEventStorageManager

        public GridEventStorageManager​(GridKernalContext ctx)
        Parameters:
        ctx - Kernal context.
    • Method Detail

      • stop

        public void stop​(boolean cancel)
                  throws IgniteCheckedException
        Stops grid component.
        Parameters:
        cancel - If true, then all ongoing tasks or jobs for relevant components need to be cancelled.
        Throws:
        IgniteCheckedException - Thrown 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:
        true if 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 - If types contains 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 true if 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 true if 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 true if removed.
      • waitForEvent

        public <T extends EventIgniteInternalFuture<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.
      • remoteEventsAsync

        public <T extends EventIgniteInternalFuture<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, if 0, then wait until result is received.
        Returns:
        Collection of events.