提供者

接口

public interface SampleService {

	String sayHello(String name);

	public List getUsers();

}

接口实现

public class SampleServiceImpl implements SampleService {
	
	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;
	}
}

sample-provider.xml





	
	

	
	

	
	

	
	

	
	

启动测试

public class Provider {

	public static void main(String[] args) throws Exception {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "sample-provider.xml" });
		context.start(); 
		System.in.read(); // 为保证服务一直开着,利用输入流的阻塞来模拟
	}
}

测试结果

wKioL1hg2hWg7a6OAABFXFdOxtY660.png

消费者


接口


public interface SampleService {

	String sayHello(String name);

	public List getUsers();

}

sample-consumer.xml





	
	

	

	
	

测试

public class Consumer {

	public static void main(String[] args) throws Exception {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "sample-consumer.xml" });
		context.start();
			
		SampleService sampleService = (SampleService) context.getBean("sampleService");
		String hello = sampleService.sayHello("tom");
		System.out.println(hello);
		System.in.read();
	}

}

测试结果

wKiom1hg2bvSRXWcAAB63TxHTsY350.png

Xml文件说明

生产者:

学习dubbo(二): 第1个例子_第1张图片    


注册中心Zookeeper配置:

单机:

集群


同一Zookeeper,分成多组注册中心

192.168.175.3:2181" group="china" />

192.168.175.3:2181" group="intl" />