From 8e2425add83e9510304df21f4fe428622661f959 Mon Sep 17 00:00:00 2001 From: hamst Date: Wed, 4 Apr 2018 17:42:50 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 17 +++++++++++++++++ .../src/main/resources/shared/application.yml | 10 +++++----- .../main/resources/shared/common-service.yml | 10 +++++----- .../resources/shared/notification-service.yml | 4 ++-- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 9d44f4c..c1258e3 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,26 @@ cola-cloud-notification | notification-service | 通知中心 | 基于RabbitMQ Spring Cloud中的每个服务都是独立部署,所有在进行服务之间调用的时候需要确定对方服务的IP,为了规避IP变化带来代码修改的风险,所以需要配置host ```jshelllanguage +127.0.0.1 mysql +127.0.0.1 redis +127.0.0.1 rabbitmq 127.0.0.1 registry config monitor auth-service uc-service upm-service organization-serivce tenancy-service ``` +### 配置环境变量 + +开发环境下,一些敏感配置不适合放到公网上发布, 为避免每次更新代码都要修改配置,我们采用系统环境变量的方式进行注入,请手工在自己开发电脑上加入如下环境变量 +```jshelllanguage +COLA_ALIYUN_ACCESS_KEY_ID(阿里云KeyID) +COLA_ALIYUN_ACCESS_KEY_SECRET(阿里云Key密码) +COLA_ALIYUN_OSS_BUCKET_NAME(阿里云OSS的Bucket) +COLA_SMS_TEMPLATE_CODE(短信模板) +COLA_SMS_SIGN_NAME(短信签名) +COLA_MYSQL_PWD(MySql密码) +COLA_REDIS_PWD(Redis密码) +``` + +注:加入或修改环境变量后最好重启Ide ### 启动服务 diff --git a/cola-cloud-config/src/main/resources/shared/application.yml b/cola-cloud-config/src/main/resources/shared/application.yml index 996f221..d8f98e4 100644 --- a/cola-cloud-config/src/main/resources/shared/application.yml +++ b/cola-cloud-config/src/main/resources/shared/application.yml @@ -28,7 +28,7 @@ security: scope: server spring: rabbitmq: - host: localhost + host: rabbitmq port: 5672 username: guest password: guest @@ -36,16 +36,16 @@ spring: sampler: percentage: 1 datasource: - url: jdbc:mysql://localhost:3306/cola-cloud?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull + url: jdbc:mysql://mysql:3306/cola-cloud?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull username: root - password: root + password: ${COLA_MYSQL_PWD} type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver db-name: cola-cloud redis: - host: localhost + host: redis port: 6379 - password: + password: ${COLA_REDIS_PWD} database: 8 timeout: 0 pool: diff --git a/cola-cloud-config/src/main/resources/shared/common-service.yml b/cola-cloud-config/src/main/resources/shared/common-service.yml index 05a2711..25b79e6 100644 --- a/cola-cloud-config/src/main/resources/shared/common-service.yml +++ b/cola-cloud-config/src/main/resources/shared/common-service.yml @@ -6,12 +6,12 @@ cola: storage: type: aliyun oss: - access-key-id: ${ALIYUN_ACCESS_KEY_ID} - access-key-secret: ${ALIYUN_ACCESS_KEY_SECRET} - bucket-name: honvay-cola + access-key-id: ${COLA_ALIYUN_ACCESS_KEY_ID} + access-key-secret: ${COLA_ALIYUN_ACCESS_KEY_SECRET} + bucket-name: ${COLA_ALIYUN_OSS_BUCKET_NAME} endpoint: oss-cn-hangzhou.aliyuncs.com vc: sms: - template-code: SMS_115750106 + template-code: ${COLA_SMS_TEMPLATE_CODE} code-param-name: code - sign-name: Cola云平台 + sign-name: ${COLA_SMS_SIGN_NAME} diff --git a/cola-cloud-config/src/main/resources/shared/notification-service.yml b/cola-cloud-config/src/main/resources/shared/notification-service.yml index db902a5..e32a2a9 100644 --- a/cola-cloud-config/src/main/resources/shared/notification-service.yml +++ b/cola-cloud-config/src/main/resources/shared/notification-service.yml @@ -6,5 +6,5 @@ cola: sms: #短信配置 type: aliyun aliyun: - access-key-id: ${ALIYUN_ACCESS_KEY_ID} - access-key-secret: ${ALIYUN_ACCESS_KEY_SECRET} \ No newline at end of file + access-key-id: ${COLA_ALIYUN_ACCESS_KEY_ID} + access-key-secret: ${COLA_ALIYUN_ACCESS_KEY_SECRET} \ No newline at end of file -- Gitee From 5b0488646b0380ecae6bd9c9333d75f69c94c827 Mon Sep 17 00:00:00 2001 From: chengnan Date: Thu, 5 Apr 2018 12:24:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0mvc=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E5=8C=96=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cola-cloud-framework-base/pom.xml | 12 ++++ .../CustomWebMvcConfiguration.java | 63 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java diff --git a/cola-cloud-framework/cola-cloud-framework-base/pom.xml b/cola-cloud-framework/cola-cloud-framework-base/pom.xml index 806c0e6..e9f77c2 100644 --- a/cola-cloud-framework/cola-cloud-framework-base/pom.xml +++ b/cola-cloud-framework/cola-cloud-framework-base/pom.xml @@ -66,5 +66,17 @@ org.apache.commons commons-collections4 + + com.fasterxml.jackson.module + jackson-module-parameter-names + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + \ No newline at end of file diff --git a/cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java b/cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java new file mode 100644 index 0000000..801505c --- /dev/null +++ b/cola-cloud-framework/cola-cloud-framework-base/src/main/java/com/honvay/cola/cloud/framework/base/configuration/CustomWebMvcConfiguration.java @@ -0,0 +1,63 @@ +package com.honvay.cola.cloud.framework.base.configuration; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +/** + * WebMvc配置 + * @author hamst + * @date 2018-04-05 + */ +@EnableWebMvc +@Configuration +public class CustomWebMvcConfiguration extends WebMvcConfigurerAdapter { + + @Value("${spring.jackson.date-format:yyyy-MM-dd HH:mm:ss}") + private String dateFormatPattern; + + @Bean + public MappingJackson2HttpMessageConverter getMappingJackson2HttpMessageConverter() { + MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); + ObjectMapper objectMapper = new ObjectMapper(); + + //设置日期格式 + objectMapper.setDateFormat(new SimpleDateFormat(dateFormatPattern)); + objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + + //Long 转String类型,否则js丢失精度 + SimpleModule simpleModule = new SimpleModule(); + simpleModule.addSerializer(Long.class, ToStringSerializer.instance); + simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance); + //支持jdk8新特性 + objectMapper + .registerModule(new ParameterNamesModule()) + .registerModule(new Jdk8Module()) + .registerModule(new JavaTimeModule()) + .registerModule(simpleModule) + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + mappingJackson2HttpMessageConverter.setObjectMapper(objectMapper); + return mappingJackson2HttpMessageConverter; + } + + @Override + public void configureMessageConverters(List> converters) { + converters.add(getMappingJackson2HttpMessageConverter()); + } +} \ No newline at end of file -- Gitee