This is the latest release in the 6.x.x family. For EI 7.0.0, click here.

All docs This doc
||
Skip to end of metadata
Go to start of metadata

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>/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;
   }
}
  • No labels