Don’t have another documentation for you, but with regards to the atlassian-scheduler-jira-example and you mean Spring scanner version 2, then the atlassian-plugin.xml would just be without all the ‘components’ and ‘compont-import’ tags and these will be annotated instead. i.e.:
atlassian-plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
<plugin-info>
<description>${project.description}</description>
<version>${project.version}</version>
<vendor name="${project.organization.name}" url="${project.organization.url}"/>
</plugin-info>
<!-- Creates the webwork action for debugging atlassian-scheduler status -->
<webwork1 key="scheduler-example.actions" name="Scheduler Example Actions">
<description>Scheduler Example Actions</description>
<actions>
<action name="com.atlassian.jira.plugins.example.scheduler.action.ShowSchedulerInfo" alias="ShowSchedulerInfo" roles-required="admin">
<view name="success">/templates/actions/showsched.vm</view>
</action>
</actions>
</webwork1>
<ao key="ao-module">
<description>Awesome active objects entity</description>
<entity>com.atlassian.jira.plugins.example.scheduler.AwesomeStuff</entity>
</ao>
</atlassian-plugin>
AwesomePluginJobRunnerImpl
@Named
public class AwesomePluginJobRunnerImpl implements AwesomePluginJobRunner
{
Example
@Named
public class Example
{
AwesomePluginScheduleManagerImpl
public class AwesomePluginScheduleManagerImpl implements AwesomePluginScheduleManager
{
public AwesomePluginScheduleManagerImpl(@ComponentImport final SchedulerService schedulerService)
{
AwesomeStuffDaoImpl
@Named
public class AwesomeStuffDaoImpl implements AwesomeStuffDao
{
public AwesomeStuffDaoImpl(@ComponentImport final ActiveObjects ao)
{
AwesomeStuffSalJobsImpl
@Named
public class AwesomeStuffSalJobsImpl implements AwesomeStuffSalJobs
{
public AwesomeStuffSalJobsImpl(@ComponentImport PluginScheduler pluginScheduler, AwesomeStuffDao awesomeStuffDao)
{
...
public AwesomeStuffSalJobsImpl(@ComponentImport PluginScheduler pluginScheduler, AwesomeStuffDao awesomeStuffDao)
{
this.pluginScheduler = pluginScheduler;
this.awesomeStuffDao = awesomeStuffDao;
}
AwesomeLauncher
@ExportAsService
@Named
public class AwesomeLauncher implements LifecycleAware, InitializingBean, DisposableBean
{
public AwesomeLauncher(final AwesomePluginJobRunner jobRunner, @ComponentImport final EventPublisher eventPublisher, @ComponentImport final SchedulerService schedulerService, @ComponentImport final ActiveObjects ao, final AwesomeStuffSalJobs awesomeStuffSalJobs, final Example example)
{
ShowSchedulerInfo
public ShowSchedulerInfo(@ComponentImport final SchedulerService schedulerService, @ComponentImport final SchedulerHistoryService schedulerHistoryService)
{
this.schedulerService = schedulerService;
this.schedulerHistoryService = schedulerHistoryService;
}