<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:spring="http://www.springframework.org/schema/beans"
       xmlns:tcp="http://www.mulesource.org/schema/mule/tcp/2.0"
       xsi:schemaLocation="
               http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
               http://www.mulesource.org/schema/mule/core/2.0 http://www.mulesource.org/schema/mule/core/2.0/mule.xsd
               http://www.mulesource.org/schema/mule/tcp/2.0 http://www.mulesource.org/schema/mule/tcp/2.0/mule-tcp.xsd">

    <tcp:connector name="tcpConnector" keepSendSocketOpen="true">
        <tcp:direct-protocol payloadOnly="true"/>
    </tcp:connector>

    <tcp:endpoint name="clientEndpoint" host="localhost" port="60198" synchronous="true"/>

    <!-- legacy style -->
    <endpoint name="asyncClientEndpoint" address="tcp://localhost:60199" synchronous="false"/>

    <model name="main">
        <service name="testComponent1">
            <inbound>
                <inbound-endpoint ref="clientEndpoint"/>
            </inbound>
            <component class="org.mule.tck.functional.FunctionalTestComponent"/>
        </service>

        <service name="testComponent2">
            <inbound>
                <inbound-endpoint ref="asyncClientEndpoint"/>
            </inbound>
            <component>
                <singleton-object class="org.mule.tck.functional.FunctionalTestComponent">
                    <properties> 
                        <spring:entry key="eventCallback">
                            <spring:bean class="org.mule.tck.functional.ResponseWriterCallback"/>
                        </spring:entry>
                    </properties>
                </singleton-object>
            </component>
        </service>
    </model>

</mule>
