Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

Table of Contents
maxLevel3
minLevel3

...

styleborder:1
locationtop
typeflat
separatorpipe

...

Syntax

Code Block
XML
XML

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

...

  • 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.

...

UI Configuration

There 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" linklinks. See Refer to more information about Registry Browser in Namespace.
Info
titleNote

You can configure the Mediator using XML. Click on "switch to source view" in the "Mediator" window.

...

Example

Code Block
XML
XML

<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.

Code Block
XML
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 <ESB_HOME>/repository/components/lib/ directory.

Code Block
languagejava
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;
   }
}
Excerpt
hiddentrue

Description of the Spring Mediator in WSO2 ESB.

For more examples, see Mediating with Spring.