继续之前的内容,我们来完成服务消费者的配置与实现。
4. 创建Dubbo-Consumer项目(续)
- 步骤(续)
3. 配置Dubbo,在resources/META-INF/spring/dubbo-consumer.xml
中添加如下配置:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" 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"> <!-- 配置应用信息 --> <dubbo:application name="dubbo-consumer"/> <!-- 配置注册中心 --> <dubbo:registry address="zookeeper://localhost:2181"/> <!-- 配置消费者超时等属性 --> <dubbo:consumer timeout="10000"/> <!-- 引用服务 --> <dubbo:reference id="greetingService" interface="com.example.dubbo.GreetingService"/> </beans>
- 编写一个简单的测试类来调用远程服务:
import com.example.dubbo.GreetingService; import org.springframework.context.support.ClassPathXmlApplicationContext; public class ConsumerBootstrap { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo-consumer.xml"); context.start(); GreetingService greetingService = (GreetingService) context.getBean("greetingService"); String message = greetingService.sayHello("World"); System.out.println(message); context.close(); } }
5. 启动与验证
- 启动Zookeeper:确保Zookeeper服务器正在运行,一般默认端口为2181。
- 启动服务提供者:在
dubbo-provider
项目中运行ProviderBootstrap
类。 - 启动服务消费者:在
dubbo-consumer
项目中运行ConsumerBootstrap
类。
预期结果
当服务消费者成功调用服务提供者时,控制台输出应为:
Hello, World!
总结
通过上述步骤,您已经完成了Dubbo的一个基本入门示例,包括服务接口定义、服务提供者和服务消费者的创建与配置。这个过程展示了如何使用Dubbo进行服务的发布与引用,以及如何通过注册中心进行服务发现。接下来,您可以尝试更复杂的功能,如服务分组、版本控制、负载均衡、服务降级等高级特性。