Spring Modules

A Spring module allows you to use standard Spring XML configuration tags.

A Spring module appears in atlassian-plugin.xml like this:

<spring name="Space Cleaner Job" key="spaceCleanerJob" class="org.springframework.scheduling.quartz.JobDetailBean">
        ... any standard spring configuration goes here...
</spring>

The above is equivalent to the following configuration in applicationContext.xml:

<bean id="spaceCleanerJob" class="org.springframework.scheduling.quartz.JobDetailBean">
        ...
</bean>

Ordering of Components

If you declare a Spring component that refers to another Spring component, you must ensure the referred component is declared first. For example:

<spring name="Bean A" key="beanA" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    ...
</spring>

<spring name="Bean B" key="beanB" alias="soapServiceDelegator" class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="target">
        <ref local="beanA"/>
    </property>
    ...
</spring>

Notice that beanB refers to beanA and that beanA is declared before beanB. If you don't do it in this order, Confluence will complain that beanA does not exist.

  • ラベルなし