• dubbo.provider和dubbo.consumer配置


    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" interface="com.emax.paycenter.api.service.IPayCenterFacade"
                       ref="payCenterFacade" timeout="${dubbo.timeout}" retries="${dubbo.retries}"/>
        <dubbo:service protocol="dubbo,jsonrpc" interface="com.emax.paycenter.backend.service.PaycenterNotifyRetryService"
    ref="notifyService" 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通常注册到zookeeper上。zookeeper的默认端口是2181。Zookeeper监控管理工具ZkWeb,可以用来管理节点,以及监控集群状态。
    dubbo.protocol.accepts(配置中心):500           accepts:The accept connection size. 为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护.  optional
    dubbo.loadbalance(配置中心):roundrobin      loadbalance:dubbo负载模式。The method load balance.  optional
    dubbo.ports=28005,28006,28007,28008
    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调用,此时项目需要增加maven依赖jetty: 6.1.26(见dubbo官网3 依赖,另,参见详解dubbo支持的协议)。例如http://192.168.40.240:9995/com.emax.paycenter.backend.service.PaycenterNotifyRetryService?method=notifyRetry。我在之前的一篇随笔有提到,provider应用端的一些任务通过将这种url注册到jobcenter里,在jobcenter设置cron表达式触发任务的执行。

  • 相关阅读:
    jquery插件课程1 幻灯片、城市选择、日期时间选择、拖放、方向拖动插件
    博客园随笔如何自动生成目录(原理:页脚js函数且执行)
    JAVA web四个属性的范围汇总
    关于继承modelDriven接口action的ajax来电参数
    Objective-C基调(4)Category
    Easyui使用记录
    jQuery地图热点效应-后在弹出的提示鼠标层信息
    跨境移动互联网的魅力演绎,hao123无论成就下一个条目?
    启示—地点IT高管20在职场心脏经(读书笔记6)
    C# 获得Excel工作簿Sheet页面(工作表)集合的名称
  • 原文地址:https://www.cnblogs.com/buguge/p/9145592.html
Copyright © 2020-2023  润新知