<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~
  ~   Licensed to the Apache Software Foundation (ASF) under one or more
  ~   contributor license agreements.  See the NOTICE file distributed with
  ~   this work for additional information regarding copyright ownership.
  ~   The ASF licenses this file to You under the Apache License, Version 2.0
  ~   (the "License"); you may not use this file except in compliance with
  ~   the License.  You may obtain a copy of the License at
  ~
  ~       http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~   Unless required by applicable law or agreed to in writing, software
  ~   distributed under the License is distributed on an "AS IS" BASIS,
  ~   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~   See the License for the specific language governing permissions and
  ~   limitations under the License.
  ~
  -->

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
    <context:property-placeholder/>
    <context:component-scan base-package="org.apache.dubbo.samples.chain.impl"/>

    <!-- optional provider's application name, used for tracing dependency relationship -->
    <dubbo:application name="chain-middle-app"/>
    <dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
    <dubbo:provider token="true"/>
    <dubbo:protocol name="dubbo" port="20881"/>

    <dubbo:config-center address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>

    <!-- generate proxy for the remote service, then demoService can be used in the same way as the
    local regular interface -->
    <dubbo:reference id="catService" check="false" interface="org.apache.dubbo.samples.chain.api.CatService"/>
    <dubbo:reference id="dogService" check="false" interface="org.apache.dubbo.samples.chain.api.DogService"/>
    <dubbo:reference id="lionService" check="false" interface="org.apache.dubbo.samples.chain.api.LionService"/>
    <dubbo:reference id="tigerService" check="false" interface="org.apache.dubbo.samples.chain.api.TigerService"/>

    <bean id="chineseService" class="org.apache.dubbo.samples.chain.impl.ChineseServiceImpl"/>
    <dubbo:service interface="org.apache.dubbo.samples.chain.api.ChineseService" ref="chineseService"/>

    <bean id="americanService" class="org.apache.dubbo.samples.chain.impl.AmericanServiceImpl"/>
    <dubbo:service interface="org.apache.dubbo.samples.chain.api.AmericanService" ref="americanService"/>

</beans>
