This documentation is for WSO2 Enterprise Service Bus version 4.7.0 . View documentation for the latest release.
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

Objective: Demonstrate how to initialize and use a SpringBean as a mediator.

In your Synapse configuration file, add the Spring bean as shown below:

<definitions xmlns="http://ws.apache.org/ns/synapse"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://ws.apache.org/ns/synapse http://synapse.apache.org/ns/2010/04/configuration/synapse_config.xsd">

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

In the springCustomLogger.xml file, define the Spring bean:

<?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.extensions.SpringCustomLogger" singleton="false">
	   <property name="userName"><value>"Synapse User"</value></property>
	   <property name="email"><value>"usr@synapse.org"</value></property>
   </bean>

</beans>

Prerequisites:

  • Deploy the SimpleStockQuoteService in the sample Axis2 server and start it on port 9000.
  • Start the ESB with sample configuration 470 as follows: wso2esb-samples -sn 470

In this sample, the Spring Bean SpringCustomLogger gets initialized using the springCustomLogger.xml file and then logs the message ID. Invoke the 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 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....
  • No labels