2.Dubbo初探

新建Maven項目,redis充當註冊中心

1.pom.xml

<!--dubbo -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>dubbo</artifactId>
  <version>2.5.8</version>
</dependency>
<!--redis -->
<dependency>
	<groupId>redis.clients</groupId>
	<artifactId>jedis</artifactId>
	<version>2.9.0</version>
</dependency>

2.服務提供者

GreetingService.java

package org.niugang.dubbo.provider;

/**
 * 
 * @ClassName:  GreetingService   
 * @Description:定義接口  
 * @author: niugang
 * @date:   2018年8月17日 上午10:11:11   
 * @Copyright: [email protected]. All rights reserved. 
 *
 */
public interface GreetingService {
	   String sayHello(String name);
}

GreetingServiceImpl.java

package org.niugang.dubbo.provider;

/**
 * 
 * @ClassName:  GreetingServiceImpl   
 * @Description:定義接口實現類  
 * @author: niugang
 * @date:   2018年8月17日 上午10:12:50   
 * @Copyright: [email protected]. All rights reserved. 
 *
 */
public class GreetingServiceImpl implements GreetingService{

	public String sayHello(String name) {
		
		return "Hello " + name;
	}

}

Provider.java啓動類

package org.niugang.dubbo.provider;

import java.io.IOException;

import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.ServiceConfig;
/**
 * 
 * @ClassName:  Provider   
 * @Description:服務提供者
 * @author: niugang
 * @date:   2018年8月17日 上午11:03:44   
 * @Copyright: [email protected]. All rights reserved. 
 *
 */
public class Provider {
	public static void main(String[] args) throws IOException {

		ServiceConfig<GreetingService> serviceConfig = new ServiceConfig<GreetingService>();
		// 應用信息
		serviceConfig.setApplication(new ApplicationConfig("first-dubbo-provider"));
		// 註冊中心 redis當註冊中心
		serviceConfig.setRegistry(new RegistryConfig("redis://localhost:6379"));
		// 
		serviceConfig.setInterface(GreetingService.class);
		// 接口實現類引用
		serviceConfig.setRef(new GreetingServiceImpl());
		serviceConfig.export();
		System.in.read();
	}
}

3.服務消費者

Consumer.java

package org.niugang.dubbo.consumer;

import org.niugang.dubbo.provider.GreetingService;

import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.alibaba.dubbo.config.RegistryConfig;
/**
 * 
 * @ClassName:  Consumer   
 * @Description:服務消費者  
 * @author: niugang
 * @date:   2018年8月17日 上午11:03:27   
 * @Copyright: [email protected]. All rights reserved. 
 *
 */
public class Consumer {

	public static void main(String[] args) {
		ReferenceConfig<GreetingService> referenceConfig = new ReferenceConfig<GreetingService>();
		referenceConfig.setApplication(new ApplicationConfig("first-dubbo-consumer"));
		referenceConfig.setRegistry(new RegistryConfig("redis://localhost:6379"));
		referenceConfig.setInterface(GreetingService.class);
		GreetingService greetingService = referenceConfig.get();
		System.out.println(greetingService.sayHello("world"));
	}

}

啓動服務提供者,在啓動消費者。

調用接口返回信息打印如下

源碼地址:https://gitee.com/niugangxy/dubbo

                                           

                                                                       JAVA程序猿成長之路

                                                    分享學習資源,學習方法,記錄程序員生活。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章