Class DefaultNotificationManager

java.lang.Object
com.broadleafcommerce.common.messaging.notification.DefaultNotificationManager
All Implemented Interfaces:
NotificationManager

public class DefaultNotificationManager extends Object implements NotificationManager
Author:
Jeff Fischer
  • Constructor Details

  • Method Details

    • init

      @PostConstruct public void init()
    • handle

      public void handle(@NonNull NotificationStateRepository repo, @NonNull NotificationStateAware notifiable, @NonNull String messageType)
      Description copied from interface: NotificationManager
      Notify the system in some way about the state change for the notifiable param. Processing is handled through one or more NotificationHandler instances. This will update the given notifiable using repo. Subsequent checks of the latest notification state will require a re-read.
      Specified by:
      handle in interface NotificationManager
      Parameters:
      repo - The service responsible for making the state change. Usually a Repository instance.
      notifiable - The object that experienced the state change. Usually a Spring Data entity instance.
      messageType - The type of message correlating to DefaultNotificationHandler#messageType.
    • handleAsync

      public void handleAsync(@NonNull NotificationStateRepository repo, @NonNull NotificationStateAware notifiable, @NonNull String messageType, @Nullable Runnable callback)
      Description copied from interface: NotificationManager
      Notify the system in some way about the state change for the notifiable param. Processing is handled through one or more NotificationHandler instances. This will update the given notifiable using repo. Subsequent checks of the latest notification state will require a re-read. Notably, this version will perform handling using a thread pool.
      Specified by:
      handleAsync in interface NotificationManager
      Parameters:
      repo - The service responsible for making the state change. Usually a Repository instance.
      notifiable - The object that experienced the state change. Usually a Spring Data entity instance.
      messageType - The type of message correlating to DefaultNotificationHandler#messageType.
      callback - Code snippet to execute after all notification handling operations are complete
      See Also:
    • handleAsync

      public void handleAsync(@NonNull NotificationStateRepository repo, @NonNull NotificationStateAware notifiable, @NonNull String messageType)
      Description copied from interface: NotificationManager
      Notify the system in some way about the state change for the notifiable param. Processing is handled through one or more NotificationHandler instances. This will update the given notifiable using repo. Subsequent checks of the latest notification state will require a re-read. Notably, this version will perform handling using a thread pool.
      Specified by:
      handleAsync in interface NotificationManager
      Parameters:
      repo - The service responsible for making the state change. Usually a Repository instance.
      notifiable - The object that experienced the state change. Usually a Spring Data entity instance.
      messageType - The type of message correlating to DefaultNotificationHandler#messageType.
      See Also:
    • executePostTransactionCommitOrNow

      protected void executePostTransactionCommitOrNow(DefaultNotificationManager.VoidWork work)
      Do a unit of work upon successful completion of the current transaction, or, execute the work immediately if transaction synchronization is not currently active.
      Parameters:
      work - The work to perform
    • setEventPublisher

      @Autowired public void setEventPublisher(@Nullable org.springframework.context.ApplicationEventPublisher eventPublisher)
    • setProperties

      @Autowired public void setProperties(@Nullable NotificationManagerProperties properties)