Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-18925

Listeners are not being able to be loaded during plugins intialisation

XMLWordPrintable

      I was trying to get SAC up to JIRA 4.0 and came accross this issue.

      009-09-07 17:04:33,098 main ERROR     [atlassian.jira.event.DefaultListenerManager] Could not create listener named: Hercules
      com.atlassian.jira.event.ListenerException: Could not create listener for class: com.atlassian.hercules.events.HerculesEventListener
      	at com.atlassian.jira.event.ListenerFactory.getListener(ListenerFactory.java:43)
      	at com.atlassian.jira.event.DefaultListenerManager$Listeners.loadListeners(DefaultListenerManager.java:80)
      	at com.atlassian.jira.event.DefaultListenerManager$Listeners.create(DefaultListenerManager.java:41)
      	at com.atlassian.jira.event.DefaultListenerManager$Listeners.create(DefaultListenerManager.java:36)
      	at com.atlassian.util.concurrent.LazyReference$1.call(LazyReference.java:79)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:146)
      	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:115)
      	at com.atlassian.jira.event.DefaultListenerManager.getListeners(DefaultListenerManager.java:25)
      	at com.atlassian.jirafisheyeplugin.perforce.listener.JobUpdateListener.remove(JobUpdateListener.java:68)
      	at com.atlassian.jirafisheyeplugin.perforce.PerforceConfigStoreImpl.installListenerIfValidConfigExists(PerforceConfigStoreImpl.java:337)
      	at com.atlassian.jirafisheyeplugin.perforce.PerforceConfigStoreImpl.refresh(PerforceConfigStoreImpl.java:329)
      	at com.atlassian.jirafisheyeplugin.config.RefreshManager.refreshAll(RefreshManager.java:75)
      	at com.atlassian.jirafisheyeplugin.config.RefreshManager.onFrameworkStart(RefreshManager.java:98)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.plugin.event.impl.DefaultPluginEventManager$Listener.notify(DefaultPluginEventManager.java:196)
      	at com.atlassian.plugin.event.impl.DefaultPluginEventManager.broadcast(DefaultPluginEventManager.java:70)
      	at com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:156)
      	at com.atlassian.jira.plugin.JiraPluginManager.start(JiraPluginManager.java:49)
      	at com.atlassian.jira.ComponentManager$PluginSystem.start(ComponentManager.java:1223)
      	at com.atlassian.jira.ComponentManager.quickStart(ComponentManager.java:190)
      	at com.atlassian.jira.ComponentManager.start(ComponentManager.java:176)
      	at com.atlassian.jira.upgrade.ConsistencyLauncher.launchConsistencyChecker(ConsistencyLauncher.java:63)
      	at com.atlassian.jira.upgrade.ConsistencyLauncher.contextInitialized(ConsistencyLauncher.java:42)
      
      Caused by: org.picocontainer.defaults.UnsatisfiableDependenciesException: com.atlassian.hercules.events.HerculesEventListener doesn't have any satisfiable constructors. Unsatisfiable dependencies: [[interface com.atlassian.hercules.HerculesService]]
      	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getGreediestSatisifableConstructor(ConstructorInjectionComponentAdapter.java:138)
      	at org.picocontainer.defaults.ConstructorInjectionComponentAdapter.instantiateComponent(ConstructorInjectionComponentAdapter.java:193)
      	at org.picocontainer.defaults.InstantiatingComponentAdapter.getComponentInstance(InstantiatingComponentAdapter.java:48)
      	at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      	at org.picocontainer.defaults.SynchronizedComponentAdapter.getComponentInstance(SynchronizedComponentAdapter.java:35)
      	at org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:42)
      	at com.atlassian.jira.config.component.ProfilingComponentAdapter.getComponentInstance(ProfilingComponentAdapter.java:38)
      	at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:298)
      	at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:116)
      	at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:94)
      	at com.atlassian.jira.util.JiraUtils.loadComponent(JiraUtils.java:89)
      	at com.atlassian.jira.event.ListenerFactory.getListener(ListenerFactory.java:32)
      

      It seems that the FishEye plugin causes the listeners to be loaded But the Hercules listener is not available at this time.

      All the class are in the mix but I suspect the plugin has not been initialised yet!

      We need to think about how this can be made to work.

              mlassau Mark Lassau (Inactive)
              bbaker ɹǝʞɐq pɐɹq
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: