Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)

启动Zookeeper和Dubbo-Admin

参考:https://blog.csdn.net/qq_37598011/article/details/86685467

启动Dubbo-Monitor-Simple

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第1张图片

进入后执行mvn package命令

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第2张图片

进入target目录

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第3张图片

然后解压dubbo-monitor-simple-2.0.0-assembly.tar.gz这个压缩包

其目录如下:

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第4张图片

进入conf目录中有dubbo.properties,这个文件是用来具体配置的:

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第5张图片

启动

进入assembly.bin目录

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第6张图片

执行start.bat文件

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第7张图片

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第8张图片

OK~

PS:如果想要修改这个端口号则修改配置文件的:dubbo.jetty.port=9999

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第9张图片

Dubbo(服务提供者+服务消费者)

基础公共部分

一个用户类:


import java.io.Serializable;

/**

 * @author zzf
 *
 */
public class User implements Serializable {
	
	private Integer id;
    private String userAddress; //用户地址
    private String userId; //用户id
    private String consignee; //收货人
    private String phoneNum; //电话号码
    private String isDefault; //是否为默认地址    Y-是     N-否
    
    public User() {
		super();
		// TODO Auto-generated constructor stub
	}
    
	public User(Integer id, String userAddress, String userId, String consignee, String phoneNum,
			String isDefault) {
		super();
		this.id = id;
		this.userAddress = userAddress;
		this.userId = userId;
		this.consignee = consignee;
		this.phoneNum = phoneNum;
		this.isDefault = isDefault;
	}
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUserAddress() {
		return userAddress;
	}
	public void setUserAddress(String userAddress) {
		this.userAddress = userAddress;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getConsignee() {
		return consignee;
	}
	public void setConsignee(String consignee) {
		this.consignee = consignee;
	}
	public String getPhoneNum() {
		return phoneNum;
	}
	public void setPhoneNum(String phoneNum) {
		this.phoneNum = phoneNum;
	}
	public String getIsDefault() {
		return isDefault;
	}
	public void setIsDefault(String isDefault) {
		this.isDefault = isDefault;
	}

	@Override
	public String toString() {
		return "UserAddress [id=" + id + ", userAddress=" + userAddress + ", userId=" + userId + ", consignee="
				+ consignee + ", phoneNum=" + phoneNum + ", isDefault=" + isDefault + "]";
	}
    
}

接口类:

订单服务类:

package com.dubbo.basics_interface.service;

import java.util.List;

import com.dubbo.basics_interface.dto.User;

public interface OrderService {
	
	/**
	 * 初始化订单
	 * @param userId
	 */
	public List initOrder(String userId);

}

用户服务类:

package com.dubbo.basics_interface.service;

import java.util.List;

import com.dubbo.basics_interface.dto.User;

/**
 * 用户服务
 * @author zzf
 *
 */
public interface UserService {
	
	/**
	 * 按照用户id返回所有的收货地址
	 * @param userId
	 * @return
	 */
	public List getUserAddressList(String userId);

}

此时该类的pom文件如下:


  4.0.0

  com.dubbo
  basics-interface
  0.0.1-SNAPSHOT
  jar

  basics-interface
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
  

服务提供者

pom文件如下:


	4.0.0

	com.dubbo
	service-provider
	0.0.1-SNAPSHOT
	jar

	service-provider
	http://maven.apache.org

	
		UTF-8
	

	
		
			junit
			junit
			3.8.1
			test
		
		
		
		
			com.alibaba
			dubbo
			2.6.2
		
		
		
			org.apache.curator
			curator-framework
			2.12.0
		
                
		
			com.dubbo
			basics-interface
			0.0.1-SNAPSHOT
		
	

实现用户服务的接口:

package com.dubbo.service_provider.service.impl;

import java.util.Arrays;
import java.util.List;

import org.springframework.stereotype.Component;

import com.dubbo.basics_interface.dto.User;
import com.dubbo.basics_interface.service.UserService;

/* 
* @author zzf 
* @date 2019年1月29日 下午3:40:16 
*/
@Component
public class UserServiceImpl implements UserService{
	public List getUserAddressList(String userId) {
		// TODO Auto-generated method stub
		User address1 = new User(1, "XXXXXXX1", "1", "小A", "88888888888", "Y");
		User address2 = new User(2, "XXXXXXX2", "2", "小B", "77777777777", "N");
		User address3 = new User(3, "XXXXXXX3", "3", "小C", "99999999999", "Y");
		return Arrays.asList(address1,address2,address3);
	}

}

创建src/main/resources目录并创建provider.xml文件:




	
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

最后创建main方法测试:

package com.dubbo.service_provider;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args ) throws IOException
    {
    	String a=new String("provider.xml");
    	ClassPathXmlApplicationContext ioc = new ClassPathXmlApplicationContext(a);
		ioc.start();
		
		System.in.read();
    }
}

运行如下:

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第10张图片

服务消费者

pom文件跟服务提供者一致

实现订单服务类:

package com.dubbo.service_consumer.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.dubbo.basics_interface.dto.User;
import com.dubbo.basics_interface.service.OrderService;
import com.dubbo.basics_interface.service.UserService;

/* 
* @author zzf 
* @date 2019年1月29日 下午3:11:42 
*/
@Service
public class OrderServiceImpl implements OrderService{
	
	@Autowired
	UserService userService;
	
	public List initOrder(String userId) {
		// TODO Auto-generated method stub
		System.out.println("用户id:"+userId);
		//1、查询用户的收货地址
		List addressList = userService.getUserAddressList(userId);
		for (User userAddress : addressList) {
			System.out.println(userAddress);
		}
		return addressList;
	}

}

创建src/main/resources目录并创建consumer.xml文件:



	
	
	

	
	
	
	
	
	
	
	
	
	
	
	
		
	
		
	
	

创建main方法测试:

package com.dubbo.service_consumer;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.dubbo.basics_interface.service.OrderService;

/**
 * Hello world!
 *
 */
public class App {
	public static void main(String[] args) throws IOException {
		ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("consumer.xml");

		OrderService orderService = applicationContext.getBean(OrderService.class);

		orderService.initOrder("2222222");
		System.out.println("调用完成....");
		System.in.read();
	}
}

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第11张图片

再看看监控中心:

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第12张图片

Dubbo+Spring基本整合(Zookeeper、Dubbo-Monitor-Simple、Dubbo-Admin)_第13张图片

OK~

官网文档:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

你可能感兴趣的:(Dubbo)