Hello,
I have Bamboo task. Everything works fine untill I want to inject service or manager.
I want to inject PlanExecutionManager so I write
public class MyFirstTask implements TaskType {
private final PlanExecutionManager execution_manager
@Inject /** or Autowire */
public MyFirstTask(@ComponentImport PlanExecutionManager manager) {
execution_manager = manager;
}
@Override
public TaskResult execute(final TaskContext context) {... }
}
But when I run the Task, the following errir is printed to the build log
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'bimproject.bamboo.task.MyFirstTask': Unsatisfied dependency expressed through constructor argument with index 0 of type [com.atlassian.bamboo.plan.PlanExecutionManager]: : No qualifying bean of type [com.atlassian.bamboo.plan.PlanExecutionManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.atlassian.bamboo.plan.PlanExecutionManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
How Can I Inject PlanExecutionManager to the task?
Thanks for any advice
John
Hello,
I found the solution
@Scanned /** <======= */
public class MyFirstTask implements TaskType {
...
}
Just add @Scanned to class definition.
But! The @Scanned is marked as deprecated by documentation
https://bitbucket.org/atlassian/atlassian-spring-scanner/src/master/
So - Is my solution right?
Thanks,
John
Depends on which scanner version you're using because for versions 2.0+:
Remove use of
@Scanned
- this feature is removed. All classes are now scanned.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.