spring boot 2.0 集成框架系列(2) 分布式组件 dubbo zookper


#应用名称
dubbo.application.name=example-consume
#注册中心类型
dubbo.registry.protocol=zookeeper
#注册中心地址
dubbo.registry.address=127.0.0.1:2181
<dependency>
			<groupId>org.apache.zookeeper</groupId>
			<artifactId>zookeeper</artifactId>
			<version>3.4.8</version>
		</dependency>
		<dependency>
			<groupId>com.101tec</groupId>
			<artifactId>zkclient</artifactId>
			<version>0.3</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>dubbo</artifactId>
			<version>2.5.3</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>spring</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>mycode</groupId>
			<artifactId>duboo-api</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>

 添加包 依赖 上图 

<?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="demo-provider" />

    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />

    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />

    <!-- 用户服务接口 -->
    <dubbo:service interface="com.xyh.UserService" ref="UserService" />

    <bean id="UserService" class="com.xyh.service.UserServiceImpl"/>

</beans>
package com.xyh;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ImportResource;

@ImportResource("classpath:config/appcontext-*.xml")
@SpringBootApplication
@ComponentScan(basePackages ="com.xyh.*")
public class providerApplication {
	public static void main(String[] args) {
		SpringApplication.run(providerApplication.class, args);
	}

}
package com.xyh.service;




import com.alibaba.dubbo.config.annotation.Service;
import com.xyh.UserService;



@Service
public class UserServiceImpl implements UserService {

	@Override
	public String getUserName() {
		   System.out.println("Being invoked");
	        return "test user";
	}

}
package com.xyh;


public interface UserService {
	
	 public String getUserName();
}
package com.xyh.controller;

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


import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.dubbo.config.annotation.Reference;
import com.xyh.UserService;

@RestController
@RequestMapping("/user")
public class userController {
	
	@Autowired
	private UserService userService;
	
	@RequestMapping("/getuserService")
	public void getuserService()
	{
		
		userService.getUserName();
	}

}

<?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="provider"  />
    <!-- 注册中心服务地址 -->
    <dubbo:registry  protocol="zookeeper" address="${dubbo.registry.address}"  check="false" />
    <!-- 用dubbo协议-->
    <dubbo:protocol name="dubbo" port="-1" dispather="all" />
    <dubbo:provider timeout="10000"  threads="10" threadpool="fixed"   loadbalance="roundrobin"/>
    <!-- 声明需要暴露的服务接口 -->
    <dubbo:reference  interface="com.xyh.UserService" id="UserService"/>
</beans>

猜你喜欢

转载自blog.csdn.net/hustxiayu/article/details/82857579