From 60a3e89eec970b76c42c3c54aa97d56ab3bfb335 Mon Sep 17 00:00:00 2001 From: qianlq Date: Fri, 18 Jan 2019 21:07:44 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dubboapi/service/TestService.java | 8 +++ dubbo-provider/pom.xml | 29 +++++++++- .../DubboProviderApplication.java | 2 + .../configuration/config/DruidDBConfig.java | 54 +++++++++++++++++++ .../configuration/filter/DruidStatFilter.java | 19 +++++++ .../servlet/DruidStatViewServlet.java | 26 +++++++++ .../dubboprovider/mapper/UserMapper.java | 23 ++++++++ .../model/entity/BaseEntity.java | 13 +++++ .../model/entity/UserEntity.java | 19 +++++++ .../service/impl/TestServiceImpl.java | 5 ++ .../src/main/resources/application.properties | 9 ++++ .../src/main/resources/mapper/UserMapper.xml | 20 +++++++ 12 files changed, 226 insertions(+), 1 deletion(-) create mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java create mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java create mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java create mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java create mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java create mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java create mode 100644 dubbo-provider/src/main/resources/mapper/UserMapper.xml diff --git a/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java b/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java index 1d58240..bac6528 100644 --- a/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java +++ b/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java @@ -15,4 +15,12 @@ public interface TestService { * @return String */ String test(String text); + + /** + * 测试接口 + * + * @param text 测试数据 + * @return String + */ + String testMybatis(String text); } diff --git a/dubbo-provider/pom.xml b/dubbo-provider/pom.xml index 22625dd..028eefe 100644 --- a/dubbo-provider/pom.xml +++ b/dubbo-provider/pom.xml @@ -35,13 +35,33 @@ spring-boot-starter-actuator - + org.springframework.cloud spring-cloud-starter-netflix-hystrix 2.0.1.RELEASE + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.2 + + + + + com.alibaba + druid-spring-boot-starter + 1.1.10 + + + + + mysql + mysql-connector-java + + org.apache.zookeeper zookeeper @@ -77,6 +97,13 @@ + + + org.projectlombok + lombok + 1.18.0 + provided + diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java index 4791a45..166e874 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java @@ -1,6 +1,7 @@ package com.coderqian.dubboprovider; import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.hystrix.EnableHystrix; @@ -8,6 +9,7 @@ @EnableDubbo @EnableHystrix @SpringBootApplication +@MapperScan("com.coderqian.dubboprovider.mapper") //@ImportResource({"classpath:dubbo/dubbo-provider.xml"}) public class DubboProviderApplication { diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java new file mode 100644 index 0000000..c98f66a --- /dev/null +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java @@ -0,0 +1,54 @@ +package com.coderqian.dubboprovider.configuration.config; + +import com.alibaba.druid.pool.DruidDataSource; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import javax.sql.DataSource; + +/** + * @author qianliqing + * @date 2019/1/18 6:52 PM + * email: qianlq0824@gmail.com + */ + +@Configuration +public class DruidDBConfig { + + @Value("${spring.datasource.url}") + private String dbUrl; + + @Value("${spring.datasource.username}") + private String username; + + @Value("${spring.datasource.password}") + private String password; + + @Value("${spring.datasource.driver-class-name}") + private String driverClassName; + + @Value("${spring.datasource.initialSize}") + private int initialSize; + + @Value("${spring.datasource.minIdle}") + private int minIdle; + + @Value("${spring.datasource.maxActive}") + private int maxActive; + + @Bean + @Primary + public DataSource dataSource() { + DruidDataSource datasource = new DruidDataSource(); + datasource.setUrl(dbUrl); + datasource.setUsername(username); + datasource.setPassword(password); + datasource.setDriverClassName(driverClassName); + datasource.setInitialSize(initialSize); + datasource.setMinIdle(minIdle); + datasource.setMaxActive(maxActive); + return datasource; + } +} diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java new file mode 100644 index 0000000..7742fa9 --- /dev/null +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java @@ -0,0 +1,19 @@ +package com.coderqian.dubboprovider.configuration.filter; + +import com.alibaba.druid.support.http.WebStatFilter; + +import javax.servlet.annotation.WebFilter; +import javax.servlet.annotation.WebInitParam; + +/** + * Created by superlee on 2017/11/6. + * 配置druid监控统计功能 + * Druid过滤器 + */ +@WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*", + initParams = { + @WebInitParam(name = "exclusions", value = "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")// 忽略资源 + } +) +public class DruidStatFilter extends WebStatFilter { +} diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java new file mode 100644 index 0000000..e267acc --- /dev/null +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java @@ -0,0 +1,26 @@ +package com.coderqian.dubboprovider.configuration.servlet; + +import com.alibaba.druid.support.http.StatViewServlet; + +import javax.servlet.annotation.WebInitParam; +import javax.servlet.annotation.WebServlet; + +/** + * @author qianliqing + * @date 2019-01-18 6:37 PM + * mail: qianlq0824@gmail.com + *

+ * 配置druid监控统计功能 + */ + +@WebServlet(urlPatterns = "/druid/*", + initParams = { + @WebInitParam(name = "allow", value = "192.168.16.110,127.0.0.1"), // IP白名单 (没有配置或者为空,则允许所有访问) + @WebInitParam(name = "deny", value = "192.168.16.111"), // IP黑名单 (存在共同时,deny优先于allow) + @WebInitParam(name = "loginUsername", value = "kBEuJPHmTgcVvKlt"),// 用户名 + @WebInitParam(name = "loginPassword", value = "zPhIJTa0jvsZ7sLj"),// 密码 + @WebInitParam(name = "resetEnable", value = "false")// 禁用HTML页面上的“Reset All”功能 + } +) +public class DruidStatViewServlet extends StatViewServlet { +} diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java new file mode 100644 index 0000000..4ad2e0b --- /dev/null +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java @@ -0,0 +1,23 @@ +package com.coderqian.dubboprovider.mapper; + +import com.coderqian.dubboprovider.model.entity.UserEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author qianliqing + * @date 2019/1/18 7:58 PM + * email: qianliqing@hyperchain.com + */ + +@Mapper +public interface UserMapper { + + /** + * 查询所有用户 + * + * @return List + */ + List findAll(); +} diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java new file mode 100644 index 0000000..a69a5d0 --- /dev/null +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java @@ -0,0 +1,13 @@ +package com.coderqian.dubboprovider.model.entity; + +import lombok.Data; + +/** + * @author qianliqing + * @date 2019/1/18 6:59 PM + * email: qianlq0824@gmail.com + */ + +@Data +public abstract class BaseEntity { +} diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java new file mode 100644 index 0000000..bccfbec --- /dev/null +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java @@ -0,0 +1,19 @@ +package com.coderqian.dubboprovider.model.entity; + +import lombok.Data; + +/** + * @author qianliqing + * @date 2019/1/18 6:59 PM + * email: qianlq0824@gmail.com + */ + +@Data +public class UserEntity extends BaseEntity { + + private String id; + + private String name; + + private String birth; +} diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java index 6606918..67f06a2 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java @@ -23,4 +23,9 @@ public class TestServiceImpl implements TestService { public String test(@ApiParam(value = "测试数据", required = true) String text) { return text; } + + @Override + public String testMybatis(String text) { + return null; + } } diff --git a/dubbo-provider/src/main/resources/application.properties b/dubbo-provider/src/main/resources/application.properties index c092958..a71706f 100644 --- a/dubbo-provider/src/main/resources/application.properties +++ b/dubbo-provider/src/main/resources/application.properties @@ -18,3 +18,12 @@ dubbo.protocol.name=dubbo dubbo.protocol.port=20880 logging.config=classpath:log4j2.xml + +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= + +spring.datasource.driver-class-name=com.mysql.jdbc.Driver +spring.datasource.initialSize=5 +spring.datasource.minIdle=5 +spring.datasource.maxActive=20 \ No newline at end of file diff --git a/dubbo-provider/src/main/resources/mapper/UserMapper.xml b/dubbo-provider/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..0790f15 --- /dev/null +++ b/dubbo-provider/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,20 @@ + + + + + id id, + name name, + birth birth + + + + user + + + + \ No newline at end of file From fee87563193bd83157289d0307b2c2e2df8a9619 Mon Sep 17 00:00:00 2001 From: qianlq <1242202279@qq.com> Date: Sat, 19 Jan 2019 02:02:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(Dubbo=E9=87=8D=E6=9E=84):=20Dubbo?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- dubbo-api/pom.xml | 12 +-- .../dubboapi/service/TestService.java | 6 +- .../src/main/resources/application.properties | 4 +- dubbo-consumer/pom.xml | 2 +- .../controller/TestController.java | 10 +- dubbo-core/pom.xml | 71 ++++++++++++++ .../dubbocore/DubboCoreApplication.java | 16 ++++ .../configuration/config/DruidDBConfig.java | 2 +- .../configuration/filter/DruidStatFilter.java | 10 +- .../servlet/DruidStatViewServlet.java | 2 +- .../dubbocore}/mapper/UserMapper.java | 4 +- .../dubbocore}/model/entity/BaseEntity.java | 2 +- .../dubbocore}/model/entity/UserEntity.java | 2 +- .../src/main/resources/application.properties | 29 ++++++ .../src/main/resources/mapper/UserMapper.xml | 0 .../dubbocore/DubboCoreApplicationTests.java | 17 ++++ dubbo-provider/pom.xml | 92 +------------------ .../DubboProviderApplication.java | 4 - .../service/impl/TestServiceImpl.java | 31 ------- .../src/main/resources/application.properties | 11 +-- .../main/resources/dubbo/dubbo-providers.xml | 2 +- dubbo-provider/src/main/resources/log4j2.xml | 73 --------------- dubbo-service/pom.xml | 81 ++++++++++++++++ .../dubboservice/DubboServiceApplication.java | 14 +++ .../service/impl/TestServiceImpl.java | 37 ++++++++ .../src/main/resources/application.properties | 20 ++++ .../src/main/resources/log4j2.xml | 2 +- .../DubboServiceApplicationTests.java | 17 ++++ pom.xml | 4 +- 30 files changed, 345 insertions(+), 234 deletions(-) create mode 100644 dubbo-core/pom.xml create mode 100644 dubbo-core/src/main/java/com/coderqian/dubbocore/DubboCoreApplication.java rename {dubbo-provider/src/main/java/com/coderqian/dubboprovider => dubbo-core/src/main/java/com/coderqian/dubbocore}/configuration/config/DruidDBConfig.java (96%) rename {dubbo-provider/src/main/java/com/coderqian/dubboprovider => dubbo-core/src/main/java/com/coderqian/dubbocore}/configuration/filter/DruidStatFilter.java (70%) rename {dubbo-provider/src/main/java/com/coderqian/dubboprovider => dubbo-core/src/main/java/com/coderqian/dubbocore}/configuration/servlet/DruidStatViewServlet.java (94%) rename {dubbo-provider/src/main/java/com/coderqian/dubboprovider => dubbo-core/src/main/java/com/coderqian/dubbocore}/mapper/UserMapper.java (75%) rename {dubbo-provider/src/main/java/com/coderqian/dubboprovider => dubbo-core/src/main/java/com/coderqian/dubbocore}/model/entity/BaseEntity.java (75%) rename {dubbo-provider/src/main/java/com/coderqian/dubboprovider => dubbo-core/src/main/java/com/coderqian/dubbocore}/model/entity/UserEntity.java (82%) create mode 100644 dubbo-core/src/main/resources/application.properties rename {dubbo-provider => dubbo-core}/src/main/resources/mapper/UserMapper.xml (100%) create mode 100644 dubbo-core/src/test/java/com/coderqian/dubbocore/DubboCoreApplicationTests.java delete mode 100644 dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java delete mode 100644 dubbo-provider/src/main/resources/log4j2.xml create mode 100644 dubbo-service/pom.xml create mode 100644 dubbo-service/src/main/java/com/coderqian/dubboservice/DubboServiceApplication.java create mode 100644 dubbo-service/src/main/java/com/coderqian/dubboservice/service/impl/TestServiceImpl.java create mode 100644 dubbo-service/src/main/resources/application.properties rename {dubbo-api => dubbo-service}/src/main/resources/log4j2.xml (98%) create mode 100644 dubbo-service/src/test/java/com/coderqian/dubboservice/DubboServiceApplicationTests.java diff --git a/README.md b/README.md index 8383fe9..6899dbc 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@
[![Build Status](https://travis-ci.org/coderqianlq/dubbo-spring-boot-cli.svg?branch=master)](https://travis-ci.org/coderqianlq/dubbo-spring-boot-cli) - [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/coderqianlq/spring-boot-dubbo-cli/blob/master/LICENSE) + [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/coderqianlq/dubbo-spring-boot-cli/blob/master/LICENSE) **快速开始** diff --git a/dubbo-api/pom.xml b/dubbo-api/pom.xml index 0908e24..8f73f83 100644 --- a/dubbo-api/pom.xml +++ b/dubbo-api/pom.xml @@ -9,7 +9,7 @@ com.coderqian - spring-boot-dubbo-cli + dubbo-spring-boot-cli 1.0-SNAPSHOT @@ -24,14 +24,14 @@ - org.springframework.boot - spring-boot-starter-web + com.coderqian + dubbo-core + 0.0.1-SNAPSHOT - io.swagger - swagger-annotations - 1.5.20 + org.springframework.boot + spring-boot-starter-web diff --git a/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java b/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java index bac6528..7661c68 100644 --- a/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java +++ b/dubbo-api/src/main/java/com/coderqian/dubboapi/service/TestService.java @@ -1,5 +1,9 @@ package com.coderqian.dubboapi.service; +import com.coderqian.dubbocore.model.entity.UserEntity; + +import java.util.List; + /** * @author qianliqing * @date 2018/11/29 1:55 PM @@ -22,5 +26,5 @@ public interface TestService { * @param text 测试数据 * @return String */ - String testMybatis(String text); + List testMybatis(String text); } diff --git a/dubbo-api/src/main/resources/application.properties b/dubbo-api/src/main/resources/application.properties index dcb1164..8e3d0f3 100644 --- a/dubbo-api/src/main/resources/application.properties +++ b/dubbo-api/src/main/resources/application.properties @@ -6,6 +6,4 @@ dubbo.application.id=dubbo-api # 当前dubbo应用名称 dubbo.application.name=dubbo-api # 注册中心 -dubbo.registry.address=zookeeper://127.0.0.1:2181 - -logging.config=classpath:log4j2.xml \ No newline at end of file +dubbo.registry.address=zookeeper://127.0.0.1:2181 \ No newline at end of file diff --git a/dubbo-consumer/pom.xml b/dubbo-consumer/pom.xml index 5ef220d..577faab 100644 --- a/dubbo-consumer/pom.xml +++ b/dubbo-consumer/pom.xml @@ -9,7 +9,7 @@ com.coderqian - spring-boot-dubbo-cli + dubbo-spring-boot-cli 1.0-SNAPSHOT diff --git a/dubbo-consumer/src/main/java/com/coderqian/dubboconsumer/controller/TestController.java b/dubbo-consumer/src/main/java/com/coderqian/dubboconsumer/controller/TestController.java index f966ae8..aba1630 100644 --- a/dubbo-consumer/src/main/java/com/coderqian/dubboconsumer/controller/TestController.java +++ b/dubbo-consumer/src/main/java/com/coderqian/dubboconsumer/controller/TestController.java @@ -2,11 +2,14 @@ import com.alibaba.dubbo.config.annotation.Reference; import com.coderqian.dubboapi.service.TestService; +import com.coderqian.dubbocore.model.entity.UserEntity; import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @author qianliqing * @date 2018/11/29 1:52 PM @@ -14,7 +17,7 @@ */ @RestController -@RequestMapping("/customer") +@RequestMapping("/test") public class TestController { @Reference @@ -29,4 +32,9 @@ public String test(String text) { private String testError(String text) { return "失败" + text; } + + @RequestMapping(value = "/mybatis", method = RequestMethod.GET) + public List testMybatis(String text) { + return testService.testMybatis(text); + } } diff --git a/dubbo-core/pom.xml b/dubbo-core/pom.xml new file mode 100644 index 0000000..28e1ab4 --- /dev/null +++ b/dubbo-core/pom.xml @@ -0,0 +1,71 @@ + + + 4.0.0 + + dubbo-core + 0.0.1-SNAPSHOT + jar + + + com.coderqian + dubbo-spring-boot-cli + 1.0-SNAPSHOT + + + dubbo-core + Demo project for Spring Boot + + + UTF-8 + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.2 + + + + + com.alibaba + druid-spring-boot-starter + 1.1.10 + + + + + mysql + mysql-connector-java + + + + org.projectlombok + lombok + 1.18.0 + provided + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + + + diff --git a/dubbo-core/src/main/java/com/coderqian/dubbocore/DubboCoreApplication.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/DubboCoreApplication.java new file mode 100644 index 0000000..907de47 --- /dev/null +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/DubboCoreApplication.java @@ -0,0 +1,16 @@ +package com.coderqian.dubbocore; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +@MapperScan("com.coderqian.dubbocore.mapper") +public class DubboCoreApplication { + + public static void main(String[] args) { + SpringApplication.run(DubboCoreApplication.class, args); + } + +} + diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/config/DruidDBConfig.java similarity index 96% rename from dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java rename to dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/config/DruidDBConfig.java index c98f66a..0494b93 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/config/DruidDBConfig.java +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/config/DruidDBConfig.java @@ -1,4 +1,4 @@ -package com.coderqian.dubboprovider.configuration.config; +package com.coderqian.dubbocore.configuration.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.beans.factory.annotation.Value; diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/filter/DruidStatFilter.java similarity index 70% rename from dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java rename to dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/filter/DruidStatFilter.java index 7742fa9..970c478 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/filter/DruidStatFilter.java +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/filter/DruidStatFilter.java @@ -1,4 +1,4 @@ -package com.coderqian.dubboprovider.configuration.filter; +package com.coderqian.dubbocore.configuration.filter; import com.alibaba.druid.support.http.WebStatFilter; @@ -6,9 +6,11 @@ import javax.servlet.annotation.WebInitParam; /** - * Created by superlee on 2017/11/6. - * 配置druid监控统计功能 - * Druid过滤器 + * @author qianliqing + * @date 2019-01-18 6:37 PM + * mail: qianlq0824@gmail.com + *

+ * 配置druid监控统计功能和过滤器 */ @WebFilter(filterName = "druidWebStatFilter", urlPatterns = "/*", initParams = { diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/servlet/DruidStatViewServlet.java similarity index 94% rename from dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java rename to dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/servlet/DruidStatViewServlet.java index e267acc..7ee6861 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/configuration/servlet/DruidStatViewServlet.java +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/configuration/servlet/DruidStatViewServlet.java @@ -1,4 +1,4 @@ -package com.coderqian.dubboprovider.configuration.servlet; +package com.coderqian.dubbocore.configuration.servlet; import com.alibaba.druid.support.http.StatViewServlet; diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/mapper/UserMapper.java similarity index 75% rename from dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java rename to dubbo-core/src/main/java/com/coderqian/dubbocore/mapper/UserMapper.java index 4ad2e0b..51939aa 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/mapper/UserMapper.java +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/mapper/UserMapper.java @@ -1,6 +1,6 @@ -package com.coderqian.dubboprovider.mapper; +package com.coderqian.dubbocore.mapper; -import com.coderqian.dubboprovider.model.entity.UserEntity; +import com.coderqian.dubbocore.model.entity.UserEntity; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/model/entity/BaseEntity.java similarity index 75% rename from dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java rename to dubbo-core/src/main/java/com/coderqian/dubbocore/model/entity/BaseEntity.java index a69a5d0..0b07856 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/BaseEntity.java +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/model/entity/BaseEntity.java @@ -1,4 +1,4 @@ -package com.coderqian.dubboprovider.model.entity; +package com.coderqian.dubbocore.model.entity; import lombok.Data; diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java b/dubbo-core/src/main/java/com/coderqian/dubbocore/model/entity/UserEntity.java similarity index 82% rename from dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java rename to dubbo-core/src/main/java/com/coderqian/dubbocore/model/entity/UserEntity.java index bccfbec..5d71637 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/model/entity/UserEntity.java +++ b/dubbo-core/src/main/java/com/coderqian/dubbocore/model/entity/UserEntity.java @@ -1,4 +1,4 @@ -package com.coderqian.dubboprovider.model.entity; +package com.coderqian.dubbocore.model.entity; import lombok.Data; diff --git a/dubbo-core/src/main/resources/application.properties b/dubbo-core/src/main/resources/application.properties new file mode 100644 index 0000000..3c19740 --- /dev/null +++ b/dubbo-core/src/main/resources/application.properties @@ -0,0 +1,29 @@ +spring.application.name=dubbo-core +server.port=8020 + +# 当前dubbo应用id +dubbo.application.id=dubbo-core +# 当前dubbo应用名称 +dubbo.application.name=dubbo-core +# 注册中心 +dubbo.registry.address=zookeeper://127.0.0.1:2181 +dubbo.registry.timeout=60000 +dubbo.registry.group=dubbo +dubbo.registry.check=false + +dubbo.server=true +# 生产者暴露给消费者协议 +dubbo.protocol.name=dubbo +# 生产者暴露给消费者端口 +dubbo.protocol.port=20880 + +logging.config=classpath:log4j2.xml + +spring.datasource.url= +spring.datasource.username= +spring.datasource.password= + +spring.datasource.driver-class-name=com.mysql.jdbc.Driver +spring.datasource.initialSize=5 +spring.datasource.minIdle=5 +spring.datasource.maxActive=20 \ No newline at end of file diff --git a/dubbo-provider/src/main/resources/mapper/UserMapper.xml b/dubbo-core/src/main/resources/mapper/UserMapper.xml similarity index 100% rename from dubbo-provider/src/main/resources/mapper/UserMapper.xml rename to dubbo-core/src/main/resources/mapper/UserMapper.xml diff --git a/dubbo-core/src/test/java/com/coderqian/dubbocore/DubboCoreApplicationTests.java b/dubbo-core/src/test/java/com/coderqian/dubbocore/DubboCoreApplicationTests.java new file mode 100644 index 0000000..ef83fa6 --- /dev/null +++ b/dubbo-core/src/test/java/com/coderqian/dubbocore/DubboCoreApplicationTests.java @@ -0,0 +1,17 @@ +package com.coderqian.dubbocore; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class DubboCoreApplicationTests { + + @Test + public void contextLoads() { + } + +} + diff --git a/dubbo-provider/pom.xml b/dubbo-provider/pom.xml index 028eefe..af82bbd 100644 --- a/dubbo-provider/pom.xml +++ b/dubbo-provider/pom.xml @@ -9,7 +9,7 @@ com.coderqian - spring-boot-dubbo-cli + dubbo-spring-boot-cli 1.0-SNAPSHOT @@ -20,104 +20,16 @@ UTF-8 UTF-8 1.8 - Finchley.RELEASE com.coderqian - dubbo-api + dubbo-service 0.0.1-SNAPSHOT - - - org.springframework.boot - spring-boot-starter-actuator - - - - - org.springframework.cloud - spring-cloud-starter-netflix-hystrix - 2.0.1.RELEASE - - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 1.3.2 - - - - - com.alibaba - druid-spring-boot-starter - 1.1.10 - - - - - mysql - mysql-connector-java - - - - org.apache.zookeeper - zookeeper - 3.4.13 - - - org.slf4j - slf4j-log4j12 - - - log4j - log4j - - - - - - com.101tec - zkclient - 0.2 - - - slf4j-api - org.slf4j - - - log4j - log4j - - - slf4j-log4j12 - org.slf4j - - - - - - org.projectlombok - lombok - 1.18.0 - provided - - - - - org.springframework.cloud - spring-cloud-dependencies - ${spring-cloud.version} - pom - import - - - - diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java index 166e874..c29a407 100644 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java +++ b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/DubboProviderApplication.java @@ -1,15 +1,11 @@ package com.coderqian.dubboprovider; import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo; -import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.netflix.hystrix.EnableHystrix; @EnableDubbo -@EnableHystrix @SpringBootApplication -@MapperScan("com.coderqian.dubboprovider.mapper") //@ImportResource({"classpath:dubbo/dubbo-provider.xml"}) public class DubboProviderApplication { diff --git a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java b/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java deleted file mode 100644 index 67f06a2..0000000 --- a/dubbo-provider/src/main/java/com/coderqian/dubboprovider/service/impl/TestServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.coderqian.dubboprovider.service.impl; - -import com.alibaba.dubbo.config.annotation.Service; -import com.coderqian.dubboapi.service.TestService; -import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; -import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; -import io.swagger.annotations.ApiParam; - -/** - * @author qianliqing - * @date 2018/11/29 12:53 PM - * email: qianlq0824@gmail.com - */ - -@Service -public class TestServiceImpl implements TestService { - - @HystrixCommand(commandProperties = { - @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "3"), - @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "2000") - }) - @Override - public String test(@ApiParam(value = "测试数据", required = true) String text) { - return text; - } - - @Override - public String testMybatis(String text) { - return null; - } -} diff --git a/dubbo-provider/src/main/resources/application.properties b/dubbo-provider/src/main/resources/application.properties index a71706f..b7de02f 100644 --- a/dubbo-provider/src/main/resources/application.properties +++ b/dubbo-provider/src/main/resources/application.properties @@ -17,13 +17,4 @@ dubbo.protocol.name=dubbo # 生产者暴露给消费者端口 dubbo.protocol.port=20880 -logging.config=classpath:log4j2.xml - -spring.datasource.url= -spring.datasource.username= -spring.datasource.password= - -spring.datasource.driver-class-name=com.mysql.jdbc.Driver -spring.datasource.initialSize=5 -spring.datasource.minIdle=5 -spring.datasource.maxActive=20 \ No newline at end of file +logging.config=classpath:log4j2.xml \ No newline at end of file diff --git a/dubbo-provider/src/main/resources/dubbo/dubbo-providers.xml b/dubbo-provider/src/main/resources/dubbo/dubbo-providers.xml index a75969e..18c61ac 100644 --- a/dubbo-provider/src/main/resources/dubbo/dubbo-providers.xml +++ b/dubbo-provider/src/main/resources/dubbo/dubbo-providers.xml @@ -15,6 +15,6 @@ http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> - + \ No newline at end of file diff --git a/dubbo-provider/src/main/resources/log4j2.xml b/dubbo-provider/src/main/resources/log4j2.xml deleted file mode 100644 index beb1138..0000000 --- a/dubbo-provider/src/main/resources/log4j2.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - %d{yyyy-MM-dd HH:mm:ss} [Thread: %t] [ %-5p] %c{1}:%L - %m%n - logs - dubbo-provider - - - - - ${pattern} - - - - - - - ${pattern} - - - - - - - ${pattern} - - - - - - - - - - ${pattern} - - - - - - - - - - ${pattern} - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dubbo-service/pom.xml b/dubbo-service/pom.xml new file mode 100644 index 0000000..e885138 --- /dev/null +++ b/dubbo-service/pom.xml @@ -0,0 +1,81 @@ + + + 4.0.0 + + dubbo-service + 0.0.1-SNAPSHOT + jar + + + com.coderqian + dubbo-spring-boot-cli + 1.0-SNAPSHOT + + + dubbo-service + Demo project for Spring Boot + + + 1.8 + + + + + com.coderqian + dubbo-api + 0.0.1-SNAPSHOT + + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.apache.zookeeper + zookeeper + 3.4.13 + + + org.slf4j + slf4j-log4j12 + + + log4j + log4j + + + + + + com.101tec + zkclient + 0.2 + + + slf4j-api + org.slf4j + + + log4j + log4j + + + slf4j-log4j12 + org.slf4j + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/dubbo-service/src/main/java/com/coderqian/dubboservice/DubboServiceApplication.java b/dubbo-service/src/main/java/com/coderqian/dubboservice/DubboServiceApplication.java new file mode 100644 index 0000000..3292f1e --- /dev/null +++ b/dubbo-service/src/main/java/com/coderqian/dubboservice/DubboServiceApplication.java @@ -0,0 +1,14 @@ +package com.coderqian.dubboservice; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DubboServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(DubboServiceApplication.class, args); + } + +} + diff --git a/dubbo-service/src/main/java/com/coderqian/dubboservice/service/impl/TestServiceImpl.java b/dubbo-service/src/main/java/com/coderqian/dubboservice/service/impl/TestServiceImpl.java new file mode 100644 index 0000000..7e89355 --- /dev/null +++ b/dubbo-service/src/main/java/com/coderqian/dubboservice/service/impl/TestServiceImpl.java @@ -0,0 +1,37 @@ +package com.coderqian.dubboservice.service.impl; + +import com.alibaba.dubbo.config.annotation.Service; +import com.coderqian.dubboapi.service.TestService; +import com.coderqian.dubbocore.mapper.UserMapper; +import com.coderqian.dubbocore.model.entity.UserEntity; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + +/** + * @author qianliqing + * @date 2019-01-19 12:55 AM + * mail: qianlq0824@gmail.com + */ + +@Service +public class TestServiceImpl implements TestService { + + @Autowired + private UserMapper userMapper; + + + // @HystrixCommand(commandProperties = { +// @HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "3"), +// @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "2000") +// }) + @Override + public String test(String text) { + return text; + } + + @Override + public List testMybatis(String text) { + return userMapper.findAll(); + } +} diff --git a/dubbo-service/src/main/resources/application.properties b/dubbo-service/src/main/resources/application.properties new file mode 100644 index 0000000..ad7bf09 --- /dev/null +++ b/dubbo-service/src/main/resources/application.properties @@ -0,0 +1,20 @@ +spring.application.name=dubbo-service +server.port=8081 + +# 当前dubbo应用id +dubbo.application.id=dubbo-service +# 当前dubbo应用名称 +dubbo.application.name=dubbo-service +# 注册中心 +dubbo.registry.address=zookeeper://127.0.0.1:2181 +dubbo.registry.timeout=60000 +dubbo.registry.group=dubbo +dubbo.registry.check=false + +dubbo.server=true +# 生产者暴露给消费者协议 +dubbo.protocol.name=dubbo +# 生产者暴露给消费者端口 +dubbo.protocol.port=20880 + +logging.config=classpath:log4j2.xml \ No newline at end of file diff --git a/dubbo-api/src/main/resources/log4j2.xml b/dubbo-service/src/main/resources/log4j2.xml similarity index 98% rename from dubbo-api/src/main/resources/log4j2.xml rename to dubbo-service/src/main/resources/log4j2.xml index 6c7f016..5d7e10c 100644 --- a/dubbo-api/src/main/resources/log4j2.xml +++ b/dubbo-service/src/main/resources/log4j2.xml @@ -6,7 +6,7 @@ %d{yyyy-MM-dd HH:mm:ss} [Thread: %t] [ %-5p] %c{1}:%L - %m%n logs - dubbo-api + dubbo-service diff --git a/dubbo-service/src/test/java/com/coderqian/dubboservice/DubboServiceApplicationTests.java b/dubbo-service/src/test/java/com/coderqian/dubboservice/DubboServiceApplicationTests.java new file mode 100644 index 0000000..07d5726 --- /dev/null +++ b/dubbo-service/src/test/java/com/coderqian/dubboservice/DubboServiceApplicationTests.java @@ -0,0 +1,17 @@ +package com.coderqian.dubboservice; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class DubboServiceApplicationTests { + + @Test + public void contextLoads() { + } + +} + diff --git a/pom.xml b/pom.xml index d0bbc05..b5732c6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,14 @@ 4.0.0 com.coderqian - spring-boot-dubbo-cli + dubbo-spring-boot-cli 1.0-SNAPSHOT pom dubbo-api + dubbo-core + dubbo-service dubbo-provider dubbo-consumer