Spring Mediator
com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Spring Mediator

The Spring Mediator exposes a spring bean as a mediator. The Spring Mediator creates an instance of a mediator, which is managed by Spring. This Spring bean must implement the Mediator interface for it to act as a Mediator.

Note the following:

  • Spring support in the ESB profile is based on Spring version 2.5.

  • The Spring mediator is a content aware mediator.



Syntax

<spring:spring bean="exampleBean" key="string"/>

The attributes of the <spring> element:

  • key - References the Spring ApplicationContext/Configuration (i.e. spring configuration XML) used for the bean. This key can be a registry key or local entry key.

  • bean - Is used for looking up a Spring bean from the spring Application Context. Therefore, a bean with the same name must be in the given spring configuration. In addition, bean must implement the Mediator interface.


Configuration

These are the options for the Spring Mediator:

  • Bean - Is used for looking up a Spring bean from the spring Application Context.

  • Key - The Registry reference to the spring Application-Context/Configuration used for the bean. You can select it by clicking the "Configuration Registry" or "Governance Registry" links.


Examples

<spring:spring bean="springtest" key="conf/sample/resources/spring/springsample.xml"/>

In the above configuration, the spring XML is in the registry and it can be looked up using the registry key conf/sample/resources/spring/springsample.xml. This spring XML (i.e springsample.xml) must contain a bean with the name springtest. The following figure shows an example that can be used as the registry resource - springsample.xml.

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="springtest" class="org.apache.synapse.mediators.spring.SpringTestBean" singleton="false"> <property name="testProperty" value="100"/> </bean> </beans>

Also, you need to build the JAR file of the following Spring Bean class and place it in the <EI_HOME>/repository/components/lib/ directory.

package org.apache.synapse.mediators.spring; import org.apache.synapse.MessageContext; import org.apache.synapse.mediators.AbstractMediator; public class SpringTestBean extends AbstractMediator{ private String testProperty; public void setTestProperty(String testProperty){ this.testProperty = testProperty; } public boolean mediate(MessageContext mc) { // Do somthing useful.. // Note the access to the Synapse Message context return true; } }

For more examples, see Mediating with Spring.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.