Sample 460: Introduction to the Spring Mediator
<definitions xmlns="http://ws.apache.org/ns/synapse">
<registry provider="org.apache.synapse.registry.url.SimpleURLRegistry">
<parameter name="root">file:repository/conf/sample/resources/</parameter>
<parameter name="cachableDuration">15000</parameter>
</registry>
<sequence name="main">
<!--Setting the Spring Mediator and its Spring Beans xml file location -->
<!--Note that springtest is the bean id used in springCustomLogger.xml -->
<spring bean="springtest" key="spring/springCustomLogger.xml"/>
<send/>
</sequence>
</definitions>
This sample configuration loads an external SpringBean from a file named
springCustomLogger.xml. Contents of this file are as follows.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="springtest" class="samples.mediators.extentions.SpringCustomLogger" singleton="false">
<property name="userName"><value>"Synapse User"</value></property>
<property name="email"><value>"usr@synapse.org"</value></property>
</bean>
</beans>
Objective
Demonstrate how to initialize and use a SpringBean as a mediator
Executing the Client
In this sample, the Spring Bean named 'SpringCustomLogger' gets loaded from the
springCustomLogger.xml file and then it is used to log the message ID of each
message being mediated. To see it in action, invoke the sample client as follows.
ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/
If you have enabled logging for the samples.mediators package in the log4j.properties
file, you will see an output similar to the following, on the console.
2010-09-26 20:46:57,946 [-] [HttpServerWorker-1] INFO SpringCustomLogger Starting Spring Meditor
2010-09-26 20:46:57,946 [-] [HttpServerWorker-1] INFO SpringCustomLogger Bean in Initialized with User:["Synapse User"]
2010-09-26 20:46:57,946 [-] [HttpServerWorker-1] INFO SpringCustomLogger E-MAIL:["usr@synapse.org"]
2010-09-26 20:46:57,946 [-] [HttpServerWorker-1] INFO SpringCustomLogger Massage Id: urn:uuid:383FA8B27D7CC549D91285514217720
2010-09-26 20:46:57,946 [-] [HttpServerWorker-1] INFO SpringCustomLogger Logged....
Similarly you can import any SpringBean into the Synapse runtime using the
spring mediator, and use Spring to execute mediation rules.
Back to Catalog