1. Write the below in the atlassian-plugin.xml.
<component key="helloWorldService" public="true" class="com.akira.MyHelloWorldServiceImpl">
<interface>com.akira.MyHelloWorldService</interface>
</component>
2. MyHelloWorldService
package com.akira;
public interface MyHelloWorldService {
String getMessage();
}
3. MyHelloWorldServiceImpl
package com.akira;
public class MyHelloWorldServiceImpl implements MyHelloWorldService {
public String getMessage() {
return "Hello World";
}
}
4. Use the Component Plugin Module in an ActionSupport class.
public class AkiraActionSupport extends JiraWebActionSupport {
private MyHelloWorldService _myHelloWorldService;
public String doExecute() {
System.out.println(_myHelloWorldService.getMessage());
return SUCCESS;
}
}
5. A NullPointerException occurs because the dependency-injection fails.
6. What other steps are required to make Componet Module available.
Inject it in constructor.
public class AkiraActionSupport extends JiraWebActionSupport { private MyHelloWorldService _myHelloWorldService; public AkiraActionSupport(MyHelloWorldService _myHelloWorldService){ this.myHelloWorldService = myHelloWorldService; } public String doExecute() { System.out.println(_myHelloWorldService.getMessage()); return SUCCESS; } }
You will need component-import if you are using it in a different plugin.
Thank you very much.
I forgot how to use Springframework's dependency injection.
But I am wondering if I can inject it using Annotation Qualifier in JIRA like below.
@Autowired
@Qualifier("MyHelloWorldService")
private MyHelloWorldService _myHelloWorldService;
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
it seems you can. Just create custom spring-only xml definition in resource/META-INF/spring/*.xml. You can read more about it in: https://developer.atlassian.com/display/PLUGINFRAMEWORK/Advanced+Configuration+with+Spring+XML+Files Don't forget <context:annotation-config /> (as in: https://answers.atlassian.com/questions/29872/why-is-spring-autowire-not-working-for-my-jira-plugin-classes)
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.