基于mave的dubbo分别架构
开始前,先看一下demo项目工程结构:
1、抽离接口
dubbo-api工程,根据业务抽离接口,deploy到mave nexus。
public interface TestService {
/**
* @param name
* @return
*/
public String sayHello(String name);
/**
* @param cmd
* @return
*/
public String linuxCMD(String cmd); }
提供三维坐标:
<dependency>
<groupId>com.dubbo</groupId>
<artifactId>dubbo-api</artifactId>
<version>0.0.-SNAPSHOT</version>
</dependency>
2、提供者和消费者并行
dubbo-service工程pom引入实现接口三维坐标实现接口。
import com.dubbo.service.TestService;
import com.dubbo.common.TestLinuxCmd;
public class TestServiceImpl implements TestService {
@Override
public String sayHello(String name) {
// TODO Auto-generated method stub
return null;
}
@Override
public String linuxCMD(String cmd) {
String exec = TestLinuxCmd.exec("192.168.20.20", "root", "", , name);
return exec;
}
}
注:TestLinuxCmd方法来至dubbo-common工程,公共方法到放到这里,就不多做解释了。
写完服务记得暴露出服务:
<dubbo:service interface="com.dubbo.service.TestService" ref="testService" />
dubbo-controller工程pom同样也要引入实现接口三维坐标,调用这个接口。
package com.dubbo.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.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.dubbo.service.TestService;
@Controller
public class MyController {
@Autowired
private TestService testService;
@RequestMapping(value = "/test")
@ResponseBody
public String testSay(@RequestParam(value = "name",defaultValue = "") String name){
StringBuffer sb = new StringBuffer();
sb.append("Dubbo: ").append(testService.sayHello(name));
return sb.toString();
}
}
消费者不需要关心谁提供的服务,它只需要调用三维坐标的接口即可。
写完同样记得暴露出服务:
<dubbo:reference interface="com.dubbo.service.TestService" id="testService" check="false" />
源码下载:
https://files.cnblogs.com/files/Javame/dubbo.zip
基于mave的dubbo分别架构的更多相关文章
- 基于 Docker 的微服务架构实践
本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...
- 分享我们项目中基于EF事务机制的架构
写在前面: 1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库. 2. 本文中的单元测试都是正确通过的. 要理解EF的事务机制,首先要理解这2个类:TransactionSco ...
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
现在很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记. 先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册. 框架:springmvc ...
- 基于netty的微服务架构
基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-n ...
- 新项目架构从零开始(三)------基于简单ESB的服务架构
这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...
- 分享我们项目中基于EF事务机制的架构 【转载】
http://www.cnblogs.com/leotsai/p/how-to-use-entity-framework-transaction-scope.html 写在前面: 1. 本文中单元测试 ...
- 基于springboot构建dubbo的入门demo
之前记录了构建dubbo入门demo所需的环境以及基于普通maven项目构建dubbo的入门案例,今天记录在这些的基础上基于springboot来构建dubbo的入门demo:众所周知,springb ...
- 配置percona mysql server 5.7基于gtid主主复制架构
配置mysql基于gtid主主复制架构 环境: 操作系统 centos7. x86_64 mysql版本:Percona-Server-- 测试环境: node1 10.11.0.210 node2 ...
- 基于注解的Dubbo服务配置
基于注解的Dubbo服务配置可以大大减少dubbo xml配置文件中的Service配置量,主要步骤如下: 一.服务提供方 1. Dubbo配置文件中增加Dubbo注解扫描 <!-- ...
随机推荐
- Python学习第一章
1.Python保留字即是关键字,我们不可以把他们当作任何标识符名称. python的标准库提供了一个keyword模板,可以输出当前版本的关键字: >>>import keywor ...
- code2
#include <unistd.h> #include <sys/syscall.h> #include <linux/kernel.h> #include &l ...
- Java 虚拟机的内存结构
Java虚拟机运行时数据区 整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的J ...
- jQuery应用实例3:全选、二级联动
全选: 这里是用JS实现的:http://www.cnblogs.com/xuyiqing/p/8378221.html 如果使用jQuery则会方便很多: <!DOCTYPE html> ...
- 机器学习技法笔记:08 Adaptive Boosting
Roadmap Motivation of Boosting Diversity by Re-weighting Adaptive Boosting Algorithm Adaptive Boosti ...
- 学习react
推荐资源: 一位react的最初构建者写的学习react的建议,这是翻译过的http://www.360doc.com/content/16/0129/07/13518188_531384175.sh ...
- [P4318] 完全平方数
想不出什么办法能直接算的(别跟我提分块打表),不如二分答案吧:设\(f(x)=\sum_{i=1}^n [i不是"完全平方数"]\), 显然f(x)与x正相关.再结合筛法.容斥,不 ...
- 如何开始DDD
在开始DDD之前,你需要了解DDD的一些基础知识,聚合(AggregateRoot).实体(Entity).值对象(ValueObject),工厂(Factory),仓储(Repository)和领域 ...
- Linux学习笔记之八————vim编辑器常用命令总结
<1>从命令行模式到插入模式 i :在光标前插入 a :在光标后插入 I :在光标所处在的行的行首 A :在光标所处在的行的末尾 o :在光标所处在的行的下一行 行首 O :在光标所 ...
- 在 Ubuntu 上安装 TensorFlow (官方文档的翻译)
本指南介绍了如何在 Ubuntu 上安装 TensorFlow.这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持) 这些指令. 一 ...