Class PluginClusterAwareEventListener

java.lang.Object
com.atlassian.bamboo.plugin.cluster.PluginClusterAwareEventListener

@Internal public class PluginClusterAwareEventListener extends Object
Stateful service that handles plugin events in a cluster environment.

It starts disabled by default and enable() can be used to start handling plugin events.

Since:
9.5
  • Constructor Summary

    Constructors
    Constructor
    Description
    PluginClusterAwareEventListener(@NotNull com.atlassian.plugin.event.PluginEventManager pluginEventManager)
    Constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    onPluginDisabled(com.atlassian.plugin.event.events.PluginDisabledEvent event)
    Monitors plugin disabling and ask other nodes to disable the same plugin, making sure all nodes have the same capabilities enabled.
    void
    onPluginEnabled(com.atlassian.plugin.event.events.PluginEnabledEvent event)
    Monitors plugin enabling and ask other nodes to enable the same plugin, making sure all nodes have the same capabilities enabled.
    void
    onPluginInstalled(com.atlassian.plugin.event.events.PluginInstalledEvent event)
    Monitors plugin installation and ask other nodes to install the same plugin, making sure all nodes have the same capabilities enabled.
    void
    onPluginUninstalled(com.atlassian.plugin.event.events.PluginUninstalledEvent event)
    Monitors plugin removal and ask other nodes to uninstall the same plugin, making sure all nodes have the same capabilities enabled.
    void
    onPluginUpgraded(com.atlassian.plugin.event.events.PluginUpgradedEvent event)
    Monitors plugin upgrading and ask other nodes to upgrade the same plugin, making sure all nodes have the same capabilities enabled.
    void
     
    void
    Immediately executes some logic with NO plugin event handling.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PluginClusterAwareEventListener

      @Inject public PluginClusterAwareEventListener(@NotNull @NotNull com.atlassian.plugin.event.PluginEventManager pluginEventManager)
      Constructor
      Parameters:
      pluginEventManager - used to register the new instance as a listener to plugin events
      Since:
      9.5
  • Method Details

    • postConstruct

      @PostConstruct public void postConstruct()
    • onPluginInstalled

      public void onPluginInstalled(com.atlassian.plugin.event.events.PluginInstalledEvent event)
      Monitors plugin installation and ask other nodes to install the same plugin, making sure all nodes have the same capabilities enabled.
      Parameters:
      event - the event
      Since:
      9.5
    • onPluginUninstalled

      public void onPluginUninstalled(com.atlassian.plugin.event.events.PluginUninstalledEvent event)
      Monitors plugin removal and ask other nodes to uninstall the same plugin, making sure all nodes have the same capabilities enabled.
      Parameters:
      event - the event
      Since:
      9.5
    • onPluginEnabled

      public void onPluginEnabled(com.atlassian.plugin.event.events.PluginEnabledEvent event)
      Monitors plugin enabling and ask other nodes to enable the same plugin, making sure all nodes have the same capabilities enabled.
      Parameters:
      event - the event
      Since:
      9.5
    • onPluginDisabled

      public void onPluginDisabled(com.atlassian.plugin.event.events.PluginDisabledEvent event)
      Monitors plugin disabling and ask other nodes to disable the same plugin, making sure all nodes have the same capabilities enabled.
      Parameters:
      event - the event
      Since:
      9.5
    • onPluginUpgraded

      public void onPluginUpgraded(com.atlassian.plugin.event.events.PluginUpgradedEvent event)
      Monitors plugin upgrading and ask other nodes to upgrade the same plugin, making sure all nodes have the same capabilities enabled.
      Parameters:
      event - the event
      Since:
      9.5
    • runWithoutEventListening

      public void runWithoutEventListening(@NotNull @NotNull Runnable runnable)
      Immediately executes some logic with NO plugin event handling. All plugin events originating from the other nodes are handled through this method, so the 'synchronized' is crucial here.
      Parameters:
      runnable - the logic to be executed.