eclipse 來做springBoot 整合dubbo zookeeper

首先看看整个项目的目录 boot-user-service-provider 服务提供方 boot-order-service-consumer 服务消费方:

1.先添加dubbbo 依赖

<dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

在服务提供方添加一个服务提供service,代码如下:

import java.util.Arrays;
import java.util.List;
import org.springframework.stereotype.Component;
import com.alibaba.dubbo.config.annotation.Service;
import com.atguigu.gmall.bean.UserAddress;
import com.atguigu.gmall.service.UserService;

@Service
@Component
public class UserServiceImpl implements UserService {

	@Override
	public List<UserAddress> getUserAddressList(String userId) {
		System.out.println("UserServiceImpl.....old...");
		// TODO Auto-generated method stub
		UserAddress address1 = new UserAddress(1, "北京市昌平区宏福科技园综合楼3层", "1", "李老师", "010-56253825", "Y");
		UserAddress address2 = new UserAddress(2, "深圳市宝安区西部硅谷大厦B座3层(深圳分校)", "1", "王老师", "010-56253825", "N");
		/*try {
			Thread.sleep(4000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}*/
		return Arrays.asList(address1,address2);
	}

}

2.在application.properties 添加dubbo 的配置

dubbo.application.name=user-service-provider   //服务名称
dubbo.registry.address=192.168.86.1:2181  //注册服务地址
dubbo.registry.protocol=zookeeper             //注册协议

dubbo.protocol.name=dubbo      //协议名称
dubbo.protocol.port=20880        //协议端口3.在启动类上面添加 @EnableDubbo

====================================================================

4.添加dubbbo 依赖

<dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

编写消费端代码如下

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.atguigu.gmall.bean.UserAddress;
import com.atguigu.gmall.service.impl.OrderServiceImpl;

@RestController
public class OrderController {
	
	@Autowired
	private OrderServiceImpl orderService;
	
	@RequestMapping("/initOrder")
	public List<UserAddress> initOrder(@RequestParam("uid") String userId) {
		return orderService.initOrder(userId);
	}

}




import java.util.List;

import org.springframework.stereotype.Service;

import com.alibaba.dubbo.config.annotation.Reference;
import com.atguigu.gmall.bean.UserAddress;
import com.atguigu.gmall.service.OrderService;
import com.atguigu.gmall.service.UserService;

/**
 * 服务消费
 * 使用@Reference 去引用服务
 * @author 26918
 *
 */
@Service
public class OrderServiceImpl implements OrderService {
	
//	@Autowired
	@Reference
	UserService userService;

	@Override
	public List<UserAddress> initOrder(String userId) {
		// TODO Auto-generated method stub
		List<UserAddress> list = userService.getUserAddressList(userId);
		System.out.println("list::"+list.size());
		return list;
	}

}

5.配置服务消费application.properties

server.port=8082   //避免和zookeeper服务重叠,另外定义一个服务端口

dubbo.application.name=boot-order-service-consumer  //消费服务名称
dubbo.registry.address=zookeeper://192.168.86.1:2181  //添加注册地址
dubbo.monitor.protocol=registry    //添加监控协议

测试之前需要启用dubbbo admin 查看服务,和zookeeper 服务;

猜你喜欢

转载自blog.csdn.net/qq_18430613/article/details/83062087