新建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程序猿成長之路
分享學習資源,學習方法,記錄程序員生活。