Hi,
We are looking at developing/enhancing a Bamboo plugin. We've come across a problem with the Atlassian IOC mechanism. The problem is a failure to resolve an auto-wired (via Autowire annotation) bean called "linkedDeploymentProjectCacheService" in the Atlassian SDK class com.atlassian.bamboo.ww2.BambooActionSupport. Our plugin class com.samsung.test.autowire.view.ViewChainResultsAction indirectly inherits from BambooActionSupport.
The Bamboo server throws the following exception when it attempts to install the plugin:
2016-04-07 09:48:23,953 ERROR [localhost-startStop-1] [BambooPluginUtils] A problem has occurred when instantiating action class [com.samsung.test.autowire.view.ViewChainResultsAction], skipping action [viewChainChangeResults]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.samsung.test.autowire.view.ViewChainResultsAction': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.atlassian.bamboo.deployments.cache.LinkedDeploymentProjectCacheService com.atlassian.bamboo.ww2.BambooActionSupport.linkedDeploymentProjectCacheService; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.atlassian.bamboo.deployments.cache.LinkedDeploymentProjectCacheService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1210)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:342)
at sun.reflect.GeneratedMethodAccessor148.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.atlassian.plugin.osgi.spring.DefaultSpringContainerAccessor.createBean(DefaultSpringContainerAccessor.java:97)
at com.atlassian.bamboo.plugin.xwork.PluginAwareObjectFactory.autowireIfContainerManagerPlugin(PluginAwareObjectFactory.java:69)Our project skeleton (pom.xml, atlassian-plugin.xml etc.) has been generated by the latest version of the Atlassian SDK 6.2.4 tool atlas-create-bamboo-plugin against Bamboo 5.10.3.
Any clues?