Currently we are using "atlassian-plugin.xml" to register services to be wired with Spring for a JIRA server plugin.
For example:
<component key="periodAOService" class="com.theplugin.period.ao.PeriodAOServiceImpl"
interface="com.theplugin.period.ao.PeriodAOService" public="false"/>
I want to add caching externally by decorating the interface above.
public class PeriodConfigurationAOServiceCache implements PeriodConfigurationAOService {
private final PeriodConfigurationAOService periodConfigurationAOService;
public PeriodConfigurationAOServiceLogger(PeriodConfigurationAOService periodConfigurationAOService) {
this.periodConfigurationAOService = periodConfigurationAOService;
}
@Override
public Collection<PeriodConfiguration> getPeriodConfigurations() {
//TODO: ADD caching
return periodConfigurationAOService.getPeriodConfigurations();
}
Then I would like to register the decorated class PeriodConfigurationAOServiceCache so that when a services requires a PeriodConfigurationAOService it receives a PeriodConfigurationAOServiceCache decorating PeriodConfigurationAOServiceImpl.
I have tried various things like:
META-INF.spring/plugin-context.xml but fail to see how I can register beans that depend on services registred in atlassian-plugin.xml.
Has anyone done this and could share his code or provide me with tips on how to solve this?
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.