dubbo.provider和dubbo.consumer配置

JAVA学习网 2018-06-07 06:00:02

Configure service provider

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">


    <dubbo:application name="emax-paycenter-service" logger="log4j" version="${dubbo.service.version}" organization="emax-paycenter" environment="${dubbo.environment}"/>
    <dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" file="${catalina.home}/dubbo-registry/dubbo-registry.properties"/>
    <dubbo:protocol name="dubbo" accepts="${dubbo.protocol.accepts}"/>
    <dubbo:protocol name="jsonrpc" server="jetty"/>
    <dubbo:provider protocol="dubbo" loadbalance="${dubbo.loadbalance}" />
    <bean class="com.emax.paycenter.dubbo.DynamicDubboPortReaderImpl" init-method="init">
        <property name="protocolName" value="dubbo"/>
        <property name="ports" value="${dubbo.ports}"/>
    </bean>
    <bean class="com.emax.paycenter.dubbo.DynamicDubboPortReaderImpl" init-method="init">
        <property name="protocolName" value="jsonrpc"/>
        <property name="ports" value="${dubbo.jsonrpc.ports}"/>
    </bean>
    
    <import resource="classpath:dubbo/dubbo-applicationContext-Service.xml" />  
    <!-- 支付中心 -->
    <dubbo:service protocol="dubbo,jsonrpc" interface="com.emax.paycenter.api.service.IPayCenterFacade"
                   ref="payCenterFacade" timeout="${dubbo.timeout}" retries="${dubbo.retries}"/>

</beans>

 

dubbo.service.version=1.0.0
dubbo.environment=test
dubbo.registry.address(配置中心):127.0.0.1:2181
dubbo.protocol.accepts(配置中心):500           accepts:The accept connection size.  optional
dubbo.loadbalance(配置中心):roundrobin      loadbalance:dubbo负载模式。The method load balance.  optional
dubbo.ports=38001,38002,38003,38004
dubbo.jsonrpc.ports=9995,9996,9997,9998
dubbo.timeout(配置中心):300000   dubbo超时时间
dubbo.retries(配置中心):0   重试次数


Configure service consumer

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    
    <dubbo:application name="emax-merchant-web" logger="log4j" version="${dubbo.service.version}" organization="emax-merchant" environment="${dubbo.environment}"/>
    <dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" file="${catalina.home}/dubbo-registry/dubbo-registry.properties"/>

    <import resource="dubbo-applicationContext-Web.xml"/>  
    <dubbo:reference id="payCenterFacade" protocol="dubbo" interface="com.emax.paycenter.api.service.IPayCenterFacade"
                     timeout="${dubbo.timeout}" lazy="true" loadbalance="${dubbo.loadbalance}"
                     retries="${dubbo.retries}" check="false"/>

</beans>

 

上面provider里的jsonrpc利用jetty提供了http调用。例如http://192.168.40.240:9995/com.emax.paycenter.backend.service.PaycenterNotifyRetryService?method=notifyRetry。provider应用端的一些任务通过将这种url注册到jobcenter里,在jobcenter设置cron表达式触发任务的执行。之前的一篇随笔有提到。

阅读(947) 评论(0)