DubboÊÇ[3] °¢Àï°Í°Í¹«Ë¾¿ªÔ´µÄÒ»¸ö¸ßÐÔÄÜÓÅÐãµÄ·þÎñ¿ò¼Ü£¬Ê¹µÃÓ¦ÓÿÉͨ¹ý¸ßÐÔÄܵÄ
RPC ʵÏÖ·þÎñµÄÊä
³öºÍÊäÈ빦ÄÜ£¬¿ÉÒÔºÍ [4] Spring¿ò¼ÜÎ޷켯³É¡£
Ö÷ÒªºËÐIJ¿¼þ
Remoting: ÍøÂçͨÐÅ¿ò¼Ü£¬ÊµÏÖÁË sync-over-async
ºÍ request-response ÏûÏ¢»úÖÆ.
RPC: Ò»¸öÔ¶³Ì¹ý³Ìµ÷ÓõijéÏó£¬Ö§³Ö¸ºÔؾùºâ¡¢ÈÝÔֺͼ¯Èº¹¦ÄÜ
Registry: ·þÎñĿ¼¿ò¼ÜÓÃÓÚ·þÎñµÄ×¢²áºÍ·þÎñʼþ·¢²¼ºÍ¶©ÔÄ
¹¤×÷ÔÀí

Provider
±©Â¶·þÎñ·½³ÆÖ®Îª¡°·þÎñÌṩÕß¡±¡£
Consumer
µ÷ÓÃÔ¶³Ì·þÎñ·½³ÆÖ®Îª¡°·þÎñÏû·ÑÕß¡±¡£
Registry
·þÎñ×¢²áÓë·¢ÏÖµÄÖÐÐÄĿ¼·þÎñ³ÆÖ®Îª¡°·þÎñ×¢²áÖÐÐÄ¡±¡£
Monitor
ͳ¼Æ·þÎñµÄµ÷ÓôÎÊýºÍµ÷ÓÃʱ¼äµÄÈÕÖ¾·þÎñ³ÆÖ®Îª¡°·þÎñ¼à¿ØÖÐÐÄ¡±¡£
(1) Á¬Í¨ÐÔ£º
×¢²áÖÐÐĸºÔð·þÎñµØÖ·µÄ×¢²áÓë²éÕÒ£¬Ï൱ÓÚĿ¼·þÎñ£¬·þÎñÌṩÕߺÍÏû·ÑÕßÖ»ÔÚÆô¶¯Ê±Óë×¢²áÖÐÐĽ»»¥£¬×¢²áÖÐÐIJ»×ª·¢ÇëÇó£¬Ñ¹Á¦½ÏС
¼à¿ØÖÐÐĸºÔðͳ¼Æ¸÷·þÎñµ÷ÓôÎÊý£¬µ÷ÓÃʱ¼äµÈ£¬Í³¼ÆÏÈÔÚÄÚ´æ»ã×ܺóÿ·ÖÖÓÒ»´Î·¢Ë͵½¼à¿ØÖÐÐÄ·þÎñÆ÷£¬²¢ÒÔ±¨±íչʾ
·þÎñÌṩÕßÏò×¢²áÖÐÐÄ×¢²áÆäÌṩµÄ·þÎñ£¬²¢»ã±¨µ÷ÓÃʱ¼äµ½¼à¿ØÖÐÐÄ£¬´Ëʱ¼ä²»°üº¬ÍøÂ翪Ïú
·þÎñÏû·ÑÕßÏò×¢²áÖÐÐÄ»ñÈ¡·þÎñÌṩÕßµØÖ·ÁÐ±í£¬²¢¸ù¾Ý¸ºÔØËã·¨Ö±½Óµ÷ÓÃÌṩÕߣ¬Í¬Ê±»ã±¨µ÷ÓÃʱ¼äµ½¼à¿ØÖÐÐÄ£¬´Ëʱ¼ä°üº¬ÍøÂ翪Ïú
×¢²áÖÐÐÄ£¬·þÎñÌṩÕߣ¬·þÎñÏû·ÑÕßÈýÕßÖ®¼ä¾ùΪ³¤Á¬½Ó£¬¼à¿ØÖÐÐijýÍâ
×¢²áÖÐÐÄͨ¹ý³¤Á¬½Ó¸ÐÖª·þÎñÌṩÕߵĴæÔÚ£¬·þÎñÌṩÕßå´»ú£¬×¢²áÖÐÐĽ«Á¢¼´ÍÆËÍʼþ֪ͨÏû·ÑÕß
×¢²áÖÐÐÄºÍ¼à¿ØÖÐÐÄÈ«²¿å´»ú£¬²»Ó°ÏìÒÑÔËÐеÄÌṩÕߺÍÏû·ÑÕߣ¬Ïû·ÑÕßÔÚ±¾µØ»º´æÁËÌṩÕßÁбí
×¢²áÖÐÐÄºÍ¼à¿ØÖÐÐͼÊÇ¿ÉÑ¡µÄ£¬·þÎñÏû·ÑÕß¿ÉÒÔÖ±Á¬·þÎñÌṩÕß
(2) ½¡×´ÐÔ£º
¼à¿ØÖÐÐÄå´µô²»Ó°ÏìʹÓã¬Ö»ÊǶªÊ§²¿·Ö²ÉÑùÊý¾Ý
Êý¾Ý¿âå´µôºó£¬×¢²áÖÐÐÄÈÔÄÜͨ¹ý»º´æÌṩ·þÎñÁбí²éѯ£¬µ«²»ÄÜ×¢²áзþÎñ
×¢²áÖÐÐĶԵȼ¯Èº£¬ÈÎÒâһ̨崵ôºó£¬½«×Ô¶¯Çл»µ½Áíһ̨
×¢²áÖÐÐÄÈ«²¿å´µôºó£¬·þÎñÌṩÕߺͷþÎñÏû·ÑÕßÈÔÄÜͨ¹ý±¾µØ»º´æÍ¨Ñ¶
·þÎñÌṩÕßÎÞ״̬£¬ÈÎÒâһ̨崵ôºó£¬²»Ó°ÏìʹÓÃ
·þÎñÌṩÕßÈ«²¿å´µôºó£¬·þÎñÏû·ÑÕßÓ¦Óý«ÎÞ·¨Ê¹Ó㬲¢ÎÞÏÞ´ÎÖØÁ¬µÈ´ý·þÎñÌṩÕ߻ָ´
(3) ÉìËõÐÔ£º
×¢²áÖÐÐÄΪ¶ÔµÈ¼¯Èº£¬¿É¶¯Ì¬Ôö¼Ó»úÆ÷²¿ÊðʵÀý£¬ËùÓпͻ§¶Ë½«×Ô¶¯·¢ÏÖеÄ×¢²áÖÐÐÄ
·þÎñÌṩÕßÎÞ״̬£¬¿É¶¯Ì¬Ôö¼Ó»úÆ÷²¿ÊðʵÀý£¬×¢²áÖÐÐĽ«ÍÆËÍеķþÎñÌṩÕßÐÅÏ¢¸øÏû·ÑÕß
ÒÔÏÂÊÇÐèÒªµÄZooKeeper °²×°£¬ºÍ¹ÜÀíÒ³ÃæµÄ°²×°£¬²âÊÔµÄÌṩÕߺÍÏû·ÑÕß¡£
ËùÐèµÄÎļþÏÂÔØµØÖ·£ºhttp://download.csdn.net/detail/liuc0317/8314333
1. ÎÒÔÚwindows ϰ²×°µÄzooKeeper £¬ËùÏÂÔØµÄÎļþ zookeeper-3.3.6.tar.gz
½âѹµ½Ò»¸öÎļþ¼ÐÏ¡£Èçͼ

Ŀ¼Èçͼ£º

½øÈëconf ÐÞ¸ÄÅäÖÃÎļþ zoo.cfg
# The number of milliseconds of each tick ÐÄÌø¼ä¸ô ºÁÃëÿ´Î tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting anacknowledgement syncLimit=5 # the directory where the snapshot isstored. //¾µÏñÊý¾ÝλÖà dataDir=D:\\data\\zookeeper #ÈÕ־λÖà dataLogDir=D:\\logs\\zookeeper # the port at which the clients willconnect ¿Í»§¶ËÁ¬½ÓµÄ¶Ë¿Ú clientPort=2181 |
ÐÞ¸ÄÁËÅäÖÃÎļþdataLogDir µÄÅäÖã¬Õâ¸öÅäÖõØÖ·ÐèÒªÈËΪµÄÈ¥´´½¨£¬Òª²»È»»á±¨´í¡£ÕâÑù£¬ÅäÖþͻù±¾Íê³ÉÁË¡£
µÚ¶þ²½£º½øÈëbin Ŀ¼£¬È»ºóÔÚ dos ÏÂÔËÐС£


ÕâÑù zookeeper ¾ÍÆô¶¯ÁË£¬Í¬Ê±¿ÉÒÔʹÓÃzookeeper ×Ô´øµÄ¿Í»§¶Ë²é¿´Ò»Ï¡£Èçͼ£º


±àд·þÎñµÄÌṩÕߺÍÏû·ÑÕß Èçͼ£º

DemoService.java
package com.unj.dubbotest.provider; import java.util.List; public interface DemoService { String sayHello(String name); public List getUsers(); } |
DemoServiceImp.java
package com.unj.dubbotest.provider.impl; import java.util.ArrayList; import java.util.List; import com.unj.dubbotest.provider.DemoService; public class DemoServiceImpl implements DemoService { public String sayHello(String name) { return "Hello " + name; } public List getUsers() { List list = new ArrayList(); User u1 = new User(); u1.setName("jack"); u1.setAge(20); u1.setSex("m"); User u2 = new User(); u2.setName("tom"); u2.setAge(21); u2.setSex("m"); User u3 = new User(); u3.setName("rose"); u3.setAge(19); u3.setSex("w"); list.add(u1); list.add(u2); list.add(u3); return list; } } |
applicationContext.xml
<?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.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- ¾ßÌåµÄʵÏÖbean --> <bean id="demoService" class="com.unj.dubbotest.provider.impl.DemoServiceImpl" /> <!-- Ìṩ·½Ó¦ÓÃÐÅÏ¢£¬ÓÃÓÚ¼ÆËãÒÀÀµ¹ØÏµ --> <dubbo:application name="xixi_provider" /> <!-- ʹÓÃmulticast¹ã²¥×¢²áÖÐÐı©Â¶·þÎñµØÖ· <dubbo:registry address="multicast://224.5.6.7:1234" /> --> <!-- ʹÓÃzookeeper×¢²áÖÐÐı©Â¶·þÎñµØÖ· --> <dubbo:registry address="zookeeper://10.20.5.106:2181" /> <!-- ÓÃdubboÐÒéÔÚ20880¶Ë¿Ú±©Â¶·þÎñ --> <dubbo:protocol name="dubbo" port="20880" /> <!-- ÉùÃ÷ÐèÒª±©Â¶µÄ·þÎñ½Ó¿Ú --> <dubbo:service interface="com.unj.dubbotest.provider.DemoService" ref="demoService" /> </beans> |
Provider.java
package com.unj.dubbotest.provider.impl; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Provider { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "applicationContext.xml" }); context.start(); System.in.read(); // Ϊ±£Ö¤·þÎñÒ»Ö±¿ª×Å£¬ÀûÓÃÊäÈëÁ÷µÄ×èÈûÀ´Ä£Äâ } } |
ÔËÐÐmain ·½·¨£ºÈÕÖ¾ÈçÏ£º
2014-12-30 15:45:46,349 INFO [org.springframework.context.support.ClassPathXmlApplicationContext]
- Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@dd87b2: display name
[org.springframework.context.support.ClassPathXmlApplicationContext@dd87b2];
startup date [Tue Dec 30 15:45:46 CST 2014]; root of context hierarchy 2014-12-30 15:45:46,410 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
- Loading XML bean definitions from class path resource [applicationContext.xml] 2014-12-30 15:45:46,554 INFO [com.alibaba.dubbo.common.logger.LoggerFactory]
- using logger: com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter 2014-12-30 15:45:46,585 INFO [org.springframework.context.support.ClassPathXmlApplicationContext]
- Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@dd87b2]:
org.springframework.beans.factory.support.DefaultListableBeanFactory@1319c 2014-12-30 15:45:46,831 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1319c: defining beans
[demoService,xixi_provider,com.alibaba.dubbo.config.RegistryConfig,dubbo,
com.unj.dubbotest.provider.DemoService]; root of factory hierarchy 2014-12-30 15:45:46,834 INFO [com.alibaba.dubbo.config.AbstractConfig]
- [DUBBO] The service ready on spring started. service:
com.unj.dubbotest.provider.DemoService, dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:46,992 INFO [com.alibaba.dubbo.config.AbstractConfig]
- [DUBBO] Export dubbo service com.unj.dubbotest.provider.DemoService to local registry,
dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:46,992 INFO [com.alibaba.dubbo.config.AbstractConfig]
- [DUBBO] Export dubbo service com.unj.dubbotest.provider.DemoService to url
dubbo://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application
=xixi_provider&dubbo=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods
=sayHello,getUsers&pid=12192&side=provider¡Átamp=1419925546891, dubbo version: 2.5.2,
current host: 127.0.0.1 2014-12-30 15:45:46,992 INFO [com.alibaba.dubbo.config.AbstractConfig]
- [DUBBO] Register dubbo service com.unj.dubbotest.provider.DemoService url
dubbo://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost
=true&application=xixi_provider&dubbo=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods
=sayHello,getUsers&pid=12192&side=provider¡Átamp=1419925546891 to
registry registry://10.20.5.106:2181/com.alibaba.dubbo.registry.RegistryService?application
=xixi_provider&dubbo=2.5.2&pid=12192®istry=zookeeper¡Átamp=1419925546845,
dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:47,161 INFO [com.alibaba.dubbo.remoting.transport.AbstractServer]
- [DUBBO] Start NettyServer bind /0.0.0.0:20880, export /10.20.5.106:20880,
dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:47,183 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry]
- [DUBBO] Load registry store file C:\Users\lenovo\.dubbo\dubbo-registry-10.20.5.106.cache,
data: {com.unj.dubbotest.provider.DemoService
=empty://10.20.5.106/com.unj.dubbotest.provider.DemoService?application
=hehe_consumer&category=providers&dubbo
=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods
=sayHello,getUsers&pid=21892&side=consumer¡Átamp
=1419925451328 empty://10.20.5.106/com.unj.dubbotest.provider.DemoService?application
=hehe_consumer&category=configurators&dubbo=2.5.2&interface
=com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid
=21892&side=consumer¡Átamp
=1419925451328 empty://10.20.5.106/com.unj.dubbotest.provider.DemoService?application
=hehe_consumer&category=routers&dubbo
=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods
=sayHello,getUsers&pid=21892&side
=consumer¡Átamp=1419925451328}, dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:47,198 INFO [org.I0Itec.zkclient.ZkEventThread]
- Starting ZkClient event thread. 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:host.name=10.20.5.106 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.version=1.6.0_30 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.vendor=Sun Microsystems Inc. 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.home=D:\soft\UCFSOFTDOC\soft\JDK\Java_JDK1.6_32bit\Java\jdk1.6.0_30\jre 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.class.path
=C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\classes;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\commons-lang-2.3.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\commons-logging-1.1.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\commons-logging-api-1.1.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-2.5.2.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-admin-2.5.2-sources.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-demo-consumer-2.5.2-sources.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-demo-provider-2.5.2-sources.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\dubbo-registry-simple-2.5.2-sources.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\javassist-3.4.GA.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\jline-0.9.94.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\netty-3.2.2.Final.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\netty-3.2.5.Final.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-aop.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-beans.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-context-support.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-context.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-core.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-jdbc.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-jms.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-orm.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-test.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-tx.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-web.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-webmvc-portlet.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-webmvc-struts.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring-webmvc.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\spring.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\zkclient-0.1.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\zookeeper-3.4.5.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\log4j-1.2.12.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\slf4j-api-1.6.1.jar;
C:\Users\lenovo\Downloads\provider\dubboprovider\WebRoot\WEB-INF\lib\slf4j-log4j12-1.6.1.jar 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.library.path=D:\soft\UCFSOFTDOC\soft\JDK\Java_JDK1.6_32bit\Java\jdk1.6.0_30\bin;
C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;
C:/Program Files (x86)/Java/jre7/bin/client;
C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;
C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;
C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;
D:\soft\UCFSOFTDOC\soft\JDK\Java_JDK1.6_32bit\Java\jdk1.6.0_30\bin;
D:\Program Files\TortoiseSVN\bin;
D:\soft\UCFSOFTDOC\soft\Maven\apache-maven-3.1.1_20140127\apache-maven-3.1.1\bin;
C:\Program Files (x86)\OpenVPN\bin;D:\soft\UCFSOFTDOC\soft\IDE\eclipse_JAVAEE;;. 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.io.tmpdir=C:\Users\lenovo\AppData\Local\Temp\ 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper]
- Client environment:java.compiler=<NA> 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.name=Windows 7 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.arch=x86 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:os.version=6.1 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.name=lenovo 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.home=C:\Users\lenovo 2014-12-30 15:45:47,217 INFO [org.apache.zookeeper.ZooKeeper] - Client environment:user.dir=
C:\Users\lenovo\Downloads\provider\dubboprovider 2014-12-30 15:45:47,218 INFO [org.apache.zookeeper.ZooKeeper]
- Initiating client connection, connectString=10.20.5.106:2181 sessionTimeout
=30000 watcher=org.I0Itec.zkclient.ZkClient@2acc57 2014-12-30 15:45:47,239 INFO [org.apache.zookeeper.ClientCnxn]
- Opening socket connection to server 10.20.5.106/10.20.5.106:2181. Will
not attempt to authenticate using SASL (ÎÞ·¨¶¨Î»µÇ¼ÅäÖÃ) 2014-12-30 15:45:47,240 INFO [org.apache.zookeeper.ClientCnxn]
- Socket connection established to 10.20.5.106/10.20.5.106:2181, initiating session 2014-12-30 15:45:47,306 WARN [org.apache.zookeeper.ClientCnxnSocket]
- Connected to an old server; r-o mode will be unavailable 2014-12-30 15:45:47,306 INFO [org.apache.zookeeper.ClientCnxn]
- Session establishment complete on server 10.20.5.106/10.20.5.106:2181,
sessionid = 0x14a9a27ba100000, negotiated timeout = 30000 2014-12-30 15:45:47,309 INFO [org.I0Itec.zkclient.ZkClient]
- zookeeper state changed (SyncConnected) 2014-12-30 15:45:47,312 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry]
- [DUBBO] Register: dubbo://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application
=xixi_provider&dubbo=2.5.2&interface=com.unj.dubbotest.provider.DemoService&methods
=sayHello,getUsers&pid=12192&side=provider¡Átamp=1419925546891, dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:47,446 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry]
- [DUBBO] Subscribe: provider://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost=true&application
=xixi_provider&category=configurators&check=false&dubbo=2.5.2&interface
=com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid
=12192&side=provider¡Átamp=1419925546891, dubbo version: 2.5.2, current host: 127.0.0.1 2014-12-30 15:45:47,559 INFO [com.alibaba.dubbo.registry.zookeeper.ZookeeperRegistry]
- [DUBBO] Notify urls for subscribe url provider://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost
=true&application=xixi_provider&category=configurators&check=false&dubbo=2.5.2&interface
=com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid=12192&side
=provider¡Átamp=1419925546891, urls: [empty://10.20.5.106:20880/com.unj.dubbotest.provider.DemoService?anyhost
=true&application=xixi_provider&category=configurators&check=false&dubbo=2.5.2&interface
=com.unj.dubbotest.provider.DemoService&methods=sayHello,getUsers&pid=12192&side
=provider¡Átamp=1419925546891], dubbo version: 2.5.2, current host: 127.0.0.1 |
ÕâÑù ¾ÍÔÚ zookeeper µÄ¿ØÖÆÒ³ÃæÖоͻá²éѯµ½ ´Ë·þÎñ Èçͼ£º

±àд·þÎñµÄÏû·ÑÕß ÏîÄ¿Èçͼ£º

DemoService.java Õâ¸ö ·þÎñÌṩÕß ÌṩµÄ·þÎñÀ࣬ÔÚʵ¼Ê¿ª·¢ÖУ¬ÐèÒªÌṩÕß°ÑÕâ¸öÀ࣬´ò³ÉÒ»¸öjar
°üÌṩ¸øµ÷ÓÃÕß¡£
package com.unj.dubbotest.provider; import java.util.List; public interface DemoService { String sayHello(String name); public List getUsers(); } |
Consumer.java
package com.alibaba.dubbo.demo.pp; import java.util.List; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.unj.dubbotest.provider.DemoService; public class Consumer { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "applicationContext.xml" }); context.start(); DemoService demoService = (DemoService) context.getBean("demoService"); String hello = demoService.sayHello("tom"); System.out.println(hello); List list = demoService.getUsers(); if (list != null && list.size() > 0) { for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } System.in.read(); } } |
applicationContext.xml
<?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.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- Ïû·Ñ·½Ó¦ÓÃÃû£¬ÓÃÓÚ¼ÆËãÒÀÀµ¹ØÏµ£¬²»ÊÇÆ¥ÅäÌõ¼þ£¬²»ÒªÓëÌṩ·½Ò»Ñù --> <dubbo:application name="hehe_consumer" /> <!-- ʹÓÃzookeeper×¢²áÖÐÐı©Â¶·þÎñµØÖ· --> <!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> --> <dubbo:registry address="zookeeper://10.20.5.106:2181" /> <!-- Éú³ÉÔ¶³Ì·þÎñ´úÀí£¬¿ÉÒÔÏñʹÓñ¾µØbeanÒ»ÑùʹÓÃdemoService --> <dubbo:reference id="demoService" interface="com.unj.dubbotest.provider.DemoService" /> </beans> |
ÔËÐеĽá¹û£º

ÕâÑù¾Íµ÷ÓÃÍêÁË¡£
|