From ef5b2501f07c7f876e2257938cff85570e585a5d Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 16:30:45 +0800 Subject: [PATCH 01/25] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0Edgware.RELEAS?= =?UTF-8?q?E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- microservice-config-client-authenticating/pom.xml | 4 ++-- microservice-config-client-eureka-authenticating/pom.xml | 4 ++-- microservice-config-client-eureka/pom.xml | 4 ++-- microservice-config-client-refresh-cloud-bus/pom.xml | 4 ++-- microservice-config-client-refresh/pom.xml | 4 ++-- microservice-config-client/pom.xml | 4 ++-- microservice-config-server-authenticating/pom.xml | 4 ++-- microservice-config-server-encryption-rsa/pom.xml | 4 ++-- microservice-config-server-encryption/pom.xml | 4 ++-- microservice-config-server-eureka-authenticating/pom.xml | 4 ++-- microservice-config-server-eureka/pom.xml | 4 ++-- microservice-config-server-health/pom.xml | 4 ++-- microservice-config-server-refresh-cloud-bus/pom.xml | 4 ++-- microservice-config-server/pom.xml | 4 ++-- microservice-consumer-movie-feign-customizing/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../pom.xml | 4 ++-- microservice-consumer-movie-feign-hystrix-fallback/pom.xml | 4 ++-- microservice-consumer-movie-feign-logging/pom.xml | 4 ++-- microservice-consumer-movie-feign-manual/pom.xml | 4 ++-- microservice-consumer-movie-feign-multiple-params/pom.xml | 4 ++-- microservice-consumer-movie-feign/pom.xml | 4 ++-- .../pom.xml | 4 ++-- microservice-consumer-movie-ribbon-customizing/pom.xml | 4 ++-- microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml | 4 ++-- microservice-consumer-movie-ribbon-hystrix/pom.xml | 4 ++-- microservice-consumer-movie-ribbon/pom.xml | 4 ++-- microservice-consumer-movie-understanding-metadata/pom.xml | 4 ++-- microservice-consumer-movie-without-eureka/pom.xml | 4 ++-- microservice-consumer-movie/pom.xml | 4 ++-- microservice-discovery-eureka-authenticating/pom.xml | 4 ++-- microservice-discovery-eureka-ha/pom.xml | 4 ++-- microservice-discovery-eureka/pom.xml | 4 ++-- microservice-file-upload/pom.xml | 4 ++-- microservice-gateway-zuul-aggregation/pom.xml | 4 ++-- microservice-gateway-zuul-fallback/pom.xml | 4 ++-- microservice-gateway-zuul-file-upload/pom.xml | 4 ++-- microservice-gateway-zuul-filter-groovy/pom.xml | 4 ++-- microservice-gateway-zuul-filter/pom.xml | 4 ++-- microservice-gateway-zuul-reg-exp/pom.xml | 4 ++-- microservice-gateway-zuul/pom.xml | 4 ++-- microservice-hystrix-dashboard/pom.xml | 4 ++-- microservice-hystrix-turbine-mq/pom.xml | 4 ++-- microservice-hystrix-turbine/pom.xml | 4 ++-- microservice-provider-user-ip/pom.xml | 4 ++-- microservice-provider-user-multiple-params/pom.xml | 4 ++-- microservice-provider-user-my-metadata/pom.xml | 4 ++-- microservice-provider-user-with-auth/pom.xml | 4 ++-- microservice-provider-user/pom.xml | 4 ++-- microservice-sidecar-client-ribbon/pom.xml | 4 ++-- microservice-sidecar/pom.xml | 4 ++-- microservice-simple-consumer-movie/pom.xml | 4 ++-- microservice-simple-provider-user/pom.xml | 4 ++-- trace/microservice-simple-consumer-movie-trace-zipkin/pom.xml | 4 ++-- trace/microservice-simple-consumer-movie-trace/pom.xml | 4 ++-- trace/microservice-simple-provider-user-trace-elk/pom.xml | 4 ++-- .../pom.xml | 4 ++-- trace/microservice-simple-provider-user-trace-zipkin/pom.xml | 4 ++-- trace/microservice-simple-provider-user-trace/pom.xml | 4 ++-- .../pom.xml | 4 ++-- trace/microservice-trace-zipkin-server-stream/pom.xml | 4 ++-- trace/microservice-trace-zipkin-server/pom.xml | 4 ++-- 64 files changed, 128 insertions(+), 128 deletions(-) diff --git a/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml b/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml index 7d609e4..31f51ad 100644 --- a/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml +++ b/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml b/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml index 944df7a..035fde3 100644 --- a/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml +++ b/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-client-authenticating/pom.xml b/microservice-config-client-authenticating/pom.xml index ce3b7d5..8cb5a29 100644 --- a/microservice-config-client-authenticating/pom.xml +++ b/microservice-config-client-authenticating/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-client-eureka-authenticating/pom.xml b/microservice-config-client-eureka-authenticating/pom.xml index 8156425..03fde32 100644 --- a/microservice-config-client-eureka-authenticating/pom.xml +++ b/microservice-config-client-eureka-authenticating/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-client-eureka/pom.xml b/microservice-config-client-eureka/pom.xml index e2200be..208bcde 100644 --- a/microservice-config-client-eureka/pom.xml +++ b/microservice-config-client-eureka/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-client-refresh-cloud-bus/pom.xml b/microservice-config-client-refresh-cloud-bus/pom.xml index f5002f7..0c7e380 100644 --- a/microservice-config-client-refresh-cloud-bus/pom.xml +++ b/microservice-config-client-refresh-cloud-bus/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -44,7 +44,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-client-refresh/pom.xml b/microservice-config-client-refresh/pom.xml index 167d1a6..dc0205c 100644 --- a/microservice-config-client-refresh/pom.xml +++ b/microservice-config-client-refresh/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-client/pom.xml b/microservice-config-client/pom.xml index 20152ee..fc8d84f 100644 --- a/microservice-config-client/pom.xml +++ b/microservice-config-client/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-authenticating/pom.xml b/microservice-config-server-authenticating/pom.xml index 08a5b27..b13f4ec 100644 --- a/microservice-config-server-authenticating/pom.xml +++ b/microservice-config-server-authenticating/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-encryption-rsa/pom.xml b/microservice-config-server-encryption-rsa/pom.xml index 1722b5d..a27c48d 100644 --- a/microservice-config-server-encryption-rsa/pom.xml +++ b/microservice-config-server-encryption-rsa/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-encryption/pom.xml b/microservice-config-server-encryption/pom.xml index 1949bbe..7b003b3 100644 --- a/microservice-config-server-encryption/pom.xml +++ b/microservice-config-server-encryption/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-eureka-authenticating/pom.xml b/microservice-config-server-eureka-authenticating/pom.xml index 8591a7d..6a6e835 100644 --- a/microservice-config-server-eureka-authenticating/pom.xml +++ b/microservice-config-server-eureka-authenticating/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-eureka/pom.xml b/microservice-config-server-eureka/pom.xml index 360a12c..10ae368 100644 --- a/microservice-config-server-eureka/pom.xml +++ b/microservice-config-server-eureka/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-health/pom.xml b/microservice-config-server-health/pom.xml index 1e02f6a..09ab123 100644 --- a/microservice-config-server-health/pom.xml +++ b/microservice-config-server-health/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server-refresh-cloud-bus/pom.xml b/microservice-config-server-refresh-cloud-bus/pom.xml index ad0e158..4403292 100644 --- a/microservice-config-server-refresh-cloud-bus/pom.xml +++ b/microservice-config-server-refresh-cloud-bus/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-config-server/pom.xml b/microservice-config-server/pom.xml index 177037f..fb6242b 100644 --- a/microservice-config-server/pom.xml +++ b/microservice-config-server/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-customizing/pom.xml b/microservice-consumer-movie-feign-customizing/pom.xml index c5ea446..b79c33c 100644 --- a/microservice-consumer-movie-feign-customizing/pom.xml +++ b/microservice-consumer-movie-feign-customizing/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml index 8995685..f8d7d34 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml index 21330dd..2cdd798 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -51,7 +51,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-hystrix-fallback/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback/pom.xml index 6ee542f..2e33a09 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-logging/pom.xml b/microservice-consumer-movie-feign-logging/pom.xml index 9c7d741..71a7d30 100644 --- a/microservice-consumer-movie-feign-logging/pom.xml +++ b/microservice-consumer-movie-feign-logging/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-manual/pom.xml b/microservice-consumer-movie-feign-manual/pom.xml index 1640275..59bebe6 100644 --- a/microservice-consumer-movie-feign-manual/pom.xml +++ b/microservice-consumer-movie-feign-manual/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign-multiple-params/pom.xml b/microservice-consumer-movie-feign-multiple-params/pom.xml index 16b72be..7e26043 100644 --- a/microservice-consumer-movie-feign-multiple-params/pom.xml +++ b/microservice-consumer-movie-feign-multiple-params/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-feign/pom.xml b/microservice-consumer-movie-feign/pom.xml index c45ca99..3e254e6 100644 --- a/microservice-consumer-movie-feign/pom.xml +++ b/microservice-consumer-movie-feign/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-ribbon-customizing-properties/pom.xml b/microservice-consumer-movie-ribbon-customizing-properties/pom.xml index 832ed60..33aa735 100644 --- a/microservice-consumer-movie-ribbon-customizing-properties/pom.xml +++ b/microservice-consumer-movie-ribbon-customizing-properties/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-ribbon-customizing/pom.xml b/microservice-consumer-movie-ribbon-customizing/pom.xml index 5a460e0..ba0911c 100644 --- a/microservice-consumer-movie-ribbon-customizing/pom.xml +++ b/microservice-consumer-movie-ribbon-customizing/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml b/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml index 890b8ea..7630429 100644 --- a/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml +++ b/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -55,7 +55,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-ribbon-hystrix/pom.xml b/microservice-consumer-movie-ribbon-hystrix/pom.xml index 2cd9400..410aa84 100644 --- a/microservice-consumer-movie-ribbon-hystrix/pom.xml +++ b/microservice-consumer-movie-ribbon-hystrix/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -46,7 +46,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-ribbon/pom.xml b/microservice-consumer-movie-ribbon/pom.xml index e6841b9..a031ed7 100644 --- a/microservice-consumer-movie-ribbon/pom.xml +++ b/microservice-consumer-movie-ribbon/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-understanding-metadata/pom.xml b/microservice-consumer-movie-understanding-metadata/pom.xml index 468aeca..c0279a4 100644 --- a/microservice-consumer-movie-understanding-metadata/pom.xml +++ b/microservice-consumer-movie-understanding-metadata/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie-without-eureka/pom.xml b/microservice-consumer-movie-without-eureka/pom.xml index 867061a..0ef97ba 100644 --- a/microservice-consumer-movie-without-eureka/pom.xml +++ b/microservice-consumer-movie-without-eureka/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-consumer-movie/pom.xml b/microservice-consumer-movie/pom.xml index 134fefc..002f718 100644 --- a/microservice-consumer-movie/pom.xml +++ b/microservice-consumer-movie/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-discovery-eureka-authenticating/pom.xml b/microservice-discovery-eureka-authenticating/pom.xml index bf7cb6e..4a2d206 100644 --- a/microservice-discovery-eureka-authenticating/pom.xml +++ b/microservice-discovery-eureka-authenticating/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-discovery-eureka-ha/pom.xml b/microservice-discovery-eureka-ha/pom.xml index e28f407..8d178c7 100644 --- a/microservice-discovery-eureka-ha/pom.xml +++ b/microservice-discovery-eureka-ha/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-discovery-eureka/pom.xml b/microservice-discovery-eureka/pom.xml index 893e58c..3959c09 100644 --- a/microservice-discovery-eureka/pom.xml +++ b/microservice-discovery-eureka/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-file-upload/pom.xml b/microservice-file-upload/pom.xml index dc83f9b..e715913 100644 --- a/microservice-file-upload/pom.xml +++ b/microservice-file-upload/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul-aggregation/pom.xml b/microservice-gateway-zuul-aggregation/pom.xml index 8aa9914..c10b4bd 100644 --- a/microservice-gateway-zuul-aggregation/pom.xml +++ b/microservice-gateway-zuul-aggregation/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -44,7 +44,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul-fallback/pom.xml b/microservice-gateway-zuul-fallback/pom.xml index c65e11f..ad1761c 100644 --- a/microservice-gateway-zuul-fallback/pom.xml +++ b/microservice-gateway-zuul-fallback/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul-file-upload/pom.xml b/microservice-gateway-zuul-file-upload/pom.xml index 7a84cab..02934de 100644 --- a/microservice-gateway-zuul-file-upload/pom.xml +++ b/microservice-gateway-zuul-file-upload/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul-filter-groovy/pom.xml b/microservice-gateway-zuul-filter-groovy/pom.xml index ba06684..58f3dec 100644 --- a/microservice-gateway-zuul-filter-groovy/pom.xml +++ b/microservice-gateway-zuul-filter-groovy/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul-filter/pom.xml b/microservice-gateway-zuul-filter/pom.xml index 25cfb54..896a133 100644 --- a/microservice-gateway-zuul-filter/pom.xml +++ b/microservice-gateway-zuul-filter/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul-reg-exp/pom.xml b/microservice-gateway-zuul-reg-exp/pom.xml index 94883b4..89ee821 100644 --- a/microservice-gateway-zuul-reg-exp/pom.xml +++ b/microservice-gateway-zuul-reg-exp/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-gateway-zuul/pom.xml b/microservice-gateway-zuul/pom.xml index 07e18d5..5174f1b 100644 --- a/microservice-gateway-zuul/pom.xml +++ b/microservice-gateway-zuul/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-hystrix-dashboard/pom.xml b/microservice-hystrix-dashboard/pom.xml index 4ecaf5c..e59218b 100644 --- a/microservice-hystrix-dashboard/pom.xml +++ b/microservice-hystrix-dashboard/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-hystrix-turbine-mq/pom.xml b/microservice-hystrix-turbine-mq/pom.xml index 9a3d56a..ba717b1 100644 --- a/microservice-hystrix-turbine-mq/pom.xml +++ b/microservice-hystrix-turbine-mq/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-hystrix-turbine/pom.xml b/microservice-hystrix-turbine/pom.xml index 89d30a7..7e3ba43 100644 --- a/microservice-hystrix-turbine/pom.xml +++ b/microservice-hystrix-turbine/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-provider-user-ip/pom.xml b/microservice-provider-user-ip/pom.xml index e23feed..012f60e 100644 --- a/microservice-provider-user-ip/pom.xml +++ b/microservice-provider-user-ip/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -49,7 +49,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-provider-user-multiple-params/pom.xml b/microservice-provider-user-multiple-params/pom.xml index 348140b..ca34aee 100644 --- a/microservice-provider-user-multiple-params/pom.xml +++ b/microservice-provider-user-multiple-params/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -49,7 +49,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-provider-user-my-metadata/pom.xml b/microservice-provider-user-my-metadata/pom.xml index 55fc8d5..f952e21 100644 --- a/microservice-provider-user-my-metadata/pom.xml +++ b/microservice-provider-user-my-metadata/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -49,7 +49,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-provider-user-with-auth/pom.xml b/microservice-provider-user-with-auth/pom.xml index 188f787..feacad2 100644 --- a/microservice-provider-user-with-auth/pom.xml +++ b/microservice-provider-user-with-auth/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -54,7 +54,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-provider-user/pom.xml b/microservice-provider-user/pom.xml index 68e172a..2e01af3 100644 --- a/microservice-provider-user/pom.xml +++ b/microservice-provider-user/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -49,7 +49,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-sidecar-client-ribbon/pom.xml b/microservice-sidecar-client-ribbon/pom.xml index 505f23e..da1a324 100644 --- a/microservice-sidecar-client-ribbon/pom.xml +++ b/microservice-sidecar-client-ribbon/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -41,7 +41,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-sidecar/pom.xml b/microservice-sidecar/pom.xml index e593614..25d0280 100644 --- a/microservice-sidecar/pom.xml +++ b/microservice-sidecar/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-simple-consumer-movie/pom.xml b/microservice-simple-consumer-movie/pom.xml index f53f75f..375514d 100644 --- a/microservice-simple-consumer-movie/pom.xml +++ b/microservice-simple-consumer-movie/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/microservice-simple-provider-user/pom.xml b/microservice-simple-provider-user/pom.xml index e4edc93..fcb24f1 100644 --- a/microservice-simple-provider-user/pom.xml +++ b/microservice-simple-provider-user/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -44,7 +44,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-simple-consumer-movie-trace-zipkin/pom.xml b/trace/microservice-simple-consumer-movie-trace-zipkin/pom.xml index a8460e7..9b5b682 100644 --- a/trace/microservice-simple-consumer-movie-trace-zipkin/pom.xml +++ b/trace/microservice-simple-consumer-movie-trace-zipkin/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -44,7 +44,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-simple-consumer-movie-trace/pom.xml b/trace/microservice-simple-consumer-movie-trace/pom.xml index c0c6169..830d529 100644 --- a/trace/microservice-simple-consumer-movie-trace/pom.xml +++ b/trace/microservice-simple-consumer-movie-trace/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -40,7 +40,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-simple-provider-user-trace-elk/pom.xml b/trace/microservice-simple-provider-user-trace-elk/pom.xml index 2f47ad7..73a7abe 100644 --- a/trace/microservice-simple-provider-user-trace-elk/pom.xml +++ b/trace/microservice-simple-provider-user-trace-elk/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -53,7 +53,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml b/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml index 65ed07b..aed4179 100644 --- a/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml +++ b/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -56,7 +56,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-simple-provider-user-trace-zipkin/pom.xml b/trace/microservice-simple-provider-user-trace-zipkin/pom.xml index ab4a19f..e4c9ce4 100644 --- a/trace/microservice-simple-provider-user-trace-zipkin/pom.xml +++ b/trace/microservice-simple-provider-user-trace-zipkin/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -52,7 +52,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-simple-provider-user-trace/pom.xml b/trace/microservice-simple-provider-user-trace/pom.xml index 82365ff..cdf3c1b 100644 --- a/trace/microservice-simple-provider-user-trace/pom.xml +++ b/trace/microservice-simple-provider-user-trace/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -48,7 +48,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml b/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml index cecda37..0e2af01 100644 --- a/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml +++ b/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -45,7 +45,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-trace-zipkin-server-stream/pom.xml b/trace/microservice-trace-zipkin-server-stream/pom.xml index cfe9a16..cc01070 100644 --- a/trace/microservice-trace-zipkin-server-stream/pom.xml +++ b/trace/microservice-trace-zipkin-server-stream/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -44,7 +44,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import diff --git a/trace/microservice-trace-zipkin-server/pom.xml b/trace/microservice-trace-zipkin-server/pom.xml index 0146767..a7efc1a 100644 --- a/trace/microservice-trace-zipkin-server/pom.xml +++ b/trace/microservice-trace-zipkin-server/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 1.4.3.RELEASE + 1.5.9.RELEASE @@ -36,7 +36,7 @@ org.springframework.cloud spring-cloud-dependencies - Camden.SR4 + Edgware.RELEASE pom import -- Gitee From 14c998db76aa750e72f4c4b8b4116ab17100bc77 Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 16:54:54 +0800 Subject: [PATCH 02/25] =?UTF-8?q?zuul=E7=9A=84=E5=9B=9E=E9=80=80=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E5=88=B0edgware.release=E7=9A=84=E5=86=99?= =?UTF-8?q?=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../study/fallback/MyFallbackProvider.java | 75 +++++++++++++++++++ .../study/fallback/UserFallbackProvider.java | 65 ---------------- 2 files changed, 75 insertions(+), 65 deletions(-) create mode 100644 microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java delete mode 100644 microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java diff --git a/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java new file mode 100644 index 0000000..93b7821 --- /dev/null +++ b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java @@ -0,0 +1,75 @@ +package com.itmuch.cloud.study.fallback; + +import com.netflix.hystrix.exception.HystrixTimeoutException; +import org.springframework.cloud.netflix.zuul.filters.route.FallbackProvider; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.client.ClientHttpResponse; +import org.springframework.stereotype.Component; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.Charset; + +@Component +public class MyFallbackProvider implements FallbackProvider { + @Override + public String getRoute() { + // 表明是为哪个微服务提供回退,*表示为所有微服务提供回退 + return "*"; + } + + @Override + public ClientHttpResponse fallbackResponse(Throwable cause) { + if (cause instanceof HystrixTimeoutException) { + return response(HttpStatus.GATEWAY_TIMEOUT); + } else { + return fallbackResponse(); + } + } + + @Override + public ClientHttpResponse fallbackResponse() { + return response(HttpStatus.INTERNAL_SERVER_ERROR); + } + + private ClientHttpResponse response(final HttpStatus status) { + return new ClientHttpResponse() { + @Override + public HttpStatus getStatusCode() throws IOException { + return status; + } + + @Override + public int getRawStatusCode() throws IOException { + return status.value(); + } + + @Override + public String getStatusText() throws IOException { + return status.getReasonPhrase(); + } + + @Override + public void close() { + } + + @Override + public InputStream getBody() throws IOException { + return new ByteArrayInputStream("服务不可用,请稍后再试。".getBytes()); + } + + @Override + public HttpHeaders getHeaders() { + // headers设定 + HttpHeaders headers = new HttpHeaders(); + MediaType mt = new MediaType("application", "json", Charset.forName("UTF-8")); + headers.setContentType(mt); + + return headers; + } + }; + } +} diff --git a/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java deleted file mode 100644 index 1f8fa9e..0000000 --- a/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.itmuch.cloud.study.fallback; - -import org.springframework.cloud.netflix.zuul.filters.route.ZuulFallbackProvider; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.client.ClientHttpResponse; -import org.springframework.stereotype.Component; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.Charset; - -@Component -public class UserFallbackProvider implements ZuulFallbackProvider { - @Override - public String getRoute() { - // 表明是为哪个微服务提供回退 - return "microservice-provider-user"; - } - - @Override - public ClientHttpResponse fallbackResponse() { - return new ClientHttpResponse() { - @Override - public HttpStatus getStatusCode() throws IOException { - // fallback时的状态码 - return HttpStatus.OK; - } - - @Override - public int getRawStatusCode() throws IOException { - // 数字类型的状态码,本例返回的其实就是200,详见HttpStatus - return this.getStatusCode().value(); - } - - @Override - public String getStatusText() throws IOException { - // 状态文本,本例返回的其实就是OK,详见HttpStatus - return this.getStatusCode().getReasonPhrase(); - } - - @Override - public void close() { - } - - @Override - public InputStream getBody() throws IOException { - // 响应体 - return new ByteArrayInputStream("用户微服务不可用,请稍后再试。".getBytes()); - } - - @Override - public HttpHeaders getHeaders() { - // headers设定 - HttpHeaders headers = new HttpHeaders(); - MediaType mt = new MediaType("application","json", Charset.forName("UTF-8")); - headers.setContentType(mt); - - return headers; - } - }; - } -} -- Gitee From 525815580a2a6435aae64096f6d4ac699e2e54b4 Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 16:55:12 +0800 Subject: [PATCH 03/25] spring-cloud-starter-eureka-server -----> spring-cloud-starter-netflix-eureka-server --- microservice-discovery-eureka-authenticating/pom.xml | 2 +- microservice-discovery-eureka-ha/pom.xml | 2 +- microservice-discovery-eureka/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/microservice-discovery-eureka-authenticating/pom.xml b/microservice-discovery-eureka-authenticating/pom.xml index 4a2d206..2a8ea1e 100644 --- a/microservice-discovery-eureka-authenticating/pom.xml +++ b/microservice-discovery-eureka-authenticating/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-eureka-server + spring-cloud-starter-netflix-eureka-server org.springframework.boot diff --git a/microservice-discovery-eureka-ha/pom.xml b/microservice-discovery-eureka-ha/pom.xml index 8d178c7..c8ae5fd 100644 --- a/microservice-discovery-eureka-ha/pom.xml +++ b/microservice-discovery-eureka-ha/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-eureka-server + spring-cloud-starter-netflix-eureka-server diff --git a/microservice-discovery-eureka/pom.xml b/microservice-discovery-eureka/pom.xml index 3959c09..3c7ae21 100644 --- a/microservice-discovery-eureka/pom.xml +++ b/microservice-discovery-eureka/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-eureka-server + spring-cloud-starter-netflix-eureka-server -- Gitee From e1b84fdc04e9fca61aaebdb3d5682dbfe8f9f3d0 Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 16:59:22 +0800 Subject: [PATCH 04/25] =?UTF-8?q?spring-cloud-starter-eureka=20=E2=80=94>?= =?UTF-8?q?=20spring-cloud-starter-netflix-eureka-client?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 2 +- microservice-config-client-eureka-authenticating/pom.xml | 2 +- microservice-config-client-eureka/pom.xml | 2 +- microservice-config-server-eureka-authenticating/pom.xml | 2 +- microservice-config-server-eureka/pom.xml | 2 +- microservice-consumer-movie-feign-customizing/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- microservice-consumer-movie-feign-hystrix-fallback/pom.xml | 2 +- microservice-consumer-movie-feign-logging/pom.xml | 2 +- microservice-consumer-movie-feign-manual/pom.xml | 2 +- microservice-consumer-movie-feign-multiple-params/pom.xml | 2 +- microservice-consumer-movie-feign/pom.xml | 2 +- .../pom.xml | 2 +- microservice-consumer-movie-ribbon-customizing/pom.xml | 2 +- microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml | 2 +- microservice-consumer-movie-ribbon-hystrix/pom.xml | 2 +- microservice-consumer-movie-ribbon/pom.xml | 2 +- microservice-consumer-movie-understanding-metadata/pom.xml | 2 +- microservice-consumer-movie/pom.xml | 2 +- microservice-file-upload/pom.xml | 2 +- microservice-gateway-zuul-aggregation/pom.xml | 2 +- microservice-gateway-zuul-fallback/pom.xml | 2 +- microservice-gateway-zuul-file-upload/pom.xml | 2 +- microservice-gateway-zuul-filter-groovy/pom.xml | 2 +- microservice-gateway-zuul-filter/pom.xml | 2 +- microservice-gateway-zuul-reg-exp/pom.xml | 2 +- microservice-gateway-zuul/pom.xml | 2 +- microservice-provider-user-ip/pom.xml | 2 +- microservice-provider-user-multiple-params/pom.xml | 2 +- microservice-provider-user-my-metadata/pom.xml | 2 +- microservice-provider-user-with-auth/pom.xml | 2 +- microservice-provider-user/pom.xml | 2 +- microservice-sidecar-client-ribbon/pom.xml | 2 +- microservice-sidecar/pom.xml | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml b/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml index 035fde3..5a69127 100644 --- a/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml +++ b/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-config-client-eureka-authenticating/pom.xml b/microservice-config-client-eureka-authenticating/pom.xml index 03fde32..3cc0583 100644 --- a/microservice-config-client-eureka-authenticating/pom.xml +++ b/microservice-config-client-eureka-authenticating/pom.xml @@ -30,7 +30,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-config-client-eureka/pom.xml b/microservice-config-client-eureka/pom.xml index 208bcde..a670cc9 100644 --- a/microservice-config-client-eureka/pom.xml +++ b/microservice-config-client-eureka/pom.xml @@ -30,7 +30,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-config-server-eureka-authenticating/pom.xml b/microservice-config-server-eureka-authenticating/pom.xml index 6a6e835..a940d96 100644 --- a/microservice-config-server-eureka-authenticating/pom.xml +++ b/microservice-config-server-eureka-authenticating/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client org.springframework.boot diff --git a/microservice-config-server-eureka/pom.xml b/microservice-config-server-eureka/pom.xml index 10ae368..702ab54 100644 --- a/microservice-config-server-eureka/pom.xml +++ b/microservice-config-server-eureka/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-customizing/pom.xml b/microservice-consumer-movie-feign-customizing/pom.xml index b79c33c..979d8d2 100644 --- a/microservice-consumer-movie-feign-customizing/pom.xml +++ b/microservice-consumer-movie-feign-customizing/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml index f8d7d34..26ff2c4 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml index 2cdd798..95bf000 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-hystrix-fallback/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback/pom.xml index 2e33a09..8fae80d 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-logging/pom.xml b/microservice-consumer-movie-feign-logging/pom.xml index 71a7d30..b789df8 100644 --- a/microservice-consumer-movie-feign-logging/pom.xml +++ b/microservice-consumer-movie-feign-logging/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-manual/pom.xml b/microservice-consumer-movie-feign-manual/pom.xml index 59bebe6..f7b19d5 100644 --- a/microservice-consumer-movie-feign-manual/pom.xml +++ b/microservice-consumer-movie-feign-manual/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign-multiple-params/pom.xml b/microservice-consumer-movie-feign-multiple-params/pom.xml index 7e26043..633cba1 100644 --- a/microservice-consumer-movie-feign-multiple-params/pom.xml +++ b/microservice-consumer-movie-feign-multiple-params/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-feign/pom.xml b/microservice-consumer-movie-feign/pom.xml index 3e254e6..6da344d 100644 --- a/microservice-consumer-movie-feign/pom.xml +++ b/microservice-consumer-movie-feign/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-ribbon-customizing-properties/pom.xml b/microservice-consumer-movie-ribbon-customizing-properties/pom.xml index 33aa735..b5ce481 100644 --- a/microservice-consumer-movie-ribbon-customizing-properties/pom.xml +++ b/microservice-consumer-movie-ribbon-customizing-properties/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-ribbon-customizing/pom.xml b/microservice-consumer-movie-ribbon-customizing/pom.xml index ba0911c..f7dc32c 100644 --- a/microservice-consumer-movie-ribbon-customizing/pom.xml +++ b/microservice-consumer-movie-ribbon-customizing/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml b/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml index 7630429..980484d 100644 --- a/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml +++ b/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-ribbon-hystrix/pom.xml b/microservice-consumer-movie-ribbon-hystrix/pom.xml index 410aa84..00340d4 100644 --- a/microservice-consumer-movie-ribbon-hystrix/pom.xml +++ b/microservice-consumer-movie-ribbon-hystrix/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-ribbon/pom.xml b/microservice-consumer-movie-ribbon/pom.xml index a031ed7..55b1a1e 100644 --- a/microservice-consumer-movie-ribbon/pom.xml +++ b/microservice-consumer-movie-ribbon/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie-understanding-metadata/pom.xml b/microservice-consumer-movie-understanding-metadata/pom.xml index c0279a4..cd635d2 100644 --- a/microservice-consumer-movie-understanding-metadata/pom.xml +++ b/microservice-consumer-movie-understanding-metadata/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-consumer-movie/pom.xml b/microservice-consumer-movie/pom.xml index 002f718..cedcf8b 100644 --- a/microservice-consumer-movie/pom.xml +++ b/microservice-consumer-movie/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-file-upload/pom.xml b/microservice-file-upload/pom.xml index e715913..37323c5 100644 --- a/microservice-file-upload/pom.xml +++ b/microservice-file-upload/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client org.springframework.boot diff --git a/microservice-gateway-zuul-aggregation/pom.xml b/microservice-gateway-zuul-aggregation/pom.xml index c10b4bd..e12dda7 100644 --- a/microservice-gateway-zuul-aggregation/pom.xml +++ b/microservice-gateway-zuul-aggregation/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-gateway-zuul-fallback/pom.xml b/microservice-gateway-zuul-fallback/pom.xml index ad1761c..0de3b32 100644 --- a/microservice-gateway-zuul-fallback/pom.xml +++ b/microservice-gateway-zuul-fallback/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-gateway-zuul-file-upload/pom.xml b/microservice-gateway-zuul-file-upload/pom.xml index 02934de..1f3be16 100644 --- a/microservice-gateway-zuul-file-upload/pom.xml +++ b/microservice-gateway-zuul-file-upload/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-gateway-zuul-filter-groovy/pom.xml b/microservice-gateway-zuul-filter-groovy/pom.xml index 58f3dec..9270a11 100644 --- a/microservice-gateway-zuul-filter-groovy/pom.xml +++ b/microservice-gateway-zuul-filter-groovy/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-gateway-zuul-filter/pom.xml b/microservice-gateway-zuul-filter/pom.xml index 896a133..81d284d 100644 --- a/microservice-gateway-zuul-filter/pom.xml +++ b/microservice-gateway-zuul-filter/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-gateway-zuul-reg-exp/pom.xml b/microservice-gateway-zuul-reg-exp/pom.xml index 89ee821..ebf5321 100644 --- a/microservice-gateway-zuul-reg-exp/pom.xml +++ b/microservice-gateway-zuul-reg-exp/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-gateway-zuul/pom.xml b/microservice-gateway-zuul/pom.xml index 5174f1b..1655299 100644 --- a/microservice-gateway-zuul/pom.xml +++ b/microservice-gateway-zuul/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-provider-user-ip/pom.xml b/microservice-provider-user-ip/pom.xml index 012f60e..5aa7442 100644 --- a/microservice-provider-user-ip/pom.xml +++ b/microservice-provider-user-ip/pom.xml @@ -39,7 +39,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-provider-user-multiple-params/pom.xml b/microservice-provider-user-multiple-params/pom.xml index ca34aee..4e3506f 100644 --- a/microservice-provider-user-multiple-params/pom.xml +++ b/microservice-provider-user-multiple-params/pom.xml @@ -39,7 +39,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-provider-user-my-metadata/pom.xml b/microservice-provider-user-my-metadata/pom.xml index f952e21..6202aee 100644 --- a/microservice-provider-user-my-metadata/pom.xml +++ b/microservice-provider-user-my-metadata/pom.xml @@ -39,7 +39,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-provider-user-with-auth/pom.xml b/microservice-provider-user-with-auth/pom.xml index feacad2..cba2c94 100644 --- a/microservice-provider-user-with-auth/pom.xml +++ b/microservice-provider-user-with-auth/pom.xml @@ -39,7 +39,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-provider-user/pom.xml b/microservice-provider-user/pom.xml index 2e01af3..d6eba34 100644 --- a/microservice-provider-user/pom.xml +++ b/microservice-provider-user/pom.xml @@ -39,7 +39,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-sidecar-client-ribbon/pom.xml b/microservice-sidecar-client-ribbon/pom.xml index da1a324..773d325 100644 --- a/microservice-sidecar-client-ribbon/pom.xml +++ b/microservice-sidecar-client-ribbon/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client diff --git a/microservice-sidecar/pom.xml b/microservice-sidecar/pom.xml index 25d0280..3705327 100644 --- a/microservice-sidecar/pom.xml +++ b/microservice-sidecar/pom.xml @@ -26,7 +26,7 @@ org.springframework.cloud - spring-cloud-starter-eureka + spring-cloud-starter-netflix-eureka-client org.springframework.cloud -- Gitee From b8a0b676d0f6019fd66a58e355c6fb8428d97dbd Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 17:05:37 +0800 Subject: [PATCH 05/25] =?UTF-8?q?spring-cloud-starter-ribbon=20=20=20?= =?UTF-8?q?=E2=80=94>=20spring-cloud-starter-netflix-ribbon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- microservice-consumer-movie-without-eureka/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice-consumer-movie-without-eureka/pom.xml b/microservice-consumer-movie-without-eureka/pom.xml index 0ef97ba..b801bc2 100644 --- a/microservice-consumer-movie-without-eureka/pom.xml +++ b/microservice-consumer-movie-without-eureka/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-ribbon + spring-cloud-starter-netflix-ribbon -- Gitee From 6022c137c8fbd05b5bdbe4eca2d3f9ffc7026fee Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 17:07:25 +0800 Subject: [PATCH 06/25] =?UTF-8?q?spring-cloud-starter-hystrix=20=E2=80=94>?= =?UTF-8?q?=20spring-cloud-starter-netflix-hystrix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml | 2 +- microservice-consumer-movie-ribbon-hystrix/pom.xml | 2 +- microservice-hystrix-dashboard/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml b/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml index 31f51ad..e30a690 100644 --- a/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml +++ b/additional-microservice-consumer-movie-ribbon-exception-but-no-fallback/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-starter-hystrix + spring-cloud-starter-netflix-hystrix diff --git a/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml b/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml index 5a69127..4127412 100644 --- a/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml +++ b/additional-microservice-consumer-movie-ribbon-hystrix-get-the-exception/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-hystrix + spring-cloud-starter-netflix-hystrix diff --git a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml index 95bf000..76a6a15 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml @@ -41,7 +41,7 @@ org.springframework.cloud - spring-cloud-starter-hystrix + spring-cloud-starter-netflix-hystrix diff --git a/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml b/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml index 980484d..7351992 100644 --- a/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml +++ b/microservice-consumer-movie-ribbon-hystrix-turbine-mq/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-hystrix + spring-cloud-starter-netflix-hystrix diff --git a/microservice-consumer-movie-ribbon-hystrix/pom.xml b/microservice-consumer-movie-ribbon-hystrix/pom.xml index 00340d4..411b1bc 100644 --- a/microservice-consumer-movie-ribbon-hystrix/pom.xml +++ b/microservice-consumer-movie-ribbon-hystrix/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-hystrix + spring-cloud-starter-netflix-hystrix diff --git a/microservice-hystrix-dashboard/pom.xml b/microservice-hystrix-dashboard/pom.xml index e59218b..d628e30 100644 --- a/microservice-hystrix-dashboard/pom.xml +++ b/microservice-hystrix-dashboard/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-hystrix-dashboard + spring-cloud-starter-netflix-hystrix-dashboard -- Gitee From 5face7901ceaca884684d03b62ee357ef31bbcdc Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 17:35:13 +0800 Subject: [PATCH 07/25] spring-cloud-starter-turbine-stream --> spring-cloud-starter-netflix-turbine-stream --- microservice-hystrix-turbine-mq/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice-hystrix-turbine-mq/pom.xml b/microservice-hystrix-turbine-mq/pom.xml index ba717b1..6ba6bb7 100644 --- a/microservice-hystrix-turbine-mq/pom.xml +++ b/microservice-hystrix-turbine-mq/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-turbine-stream + spring-cloud-starter-netflix-turbine-stream org.springframework.cloud -- Gitee From 769025c5ed4bf671ec9c116a725341b67137f1a7 Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 17:35:41 +0800 Subject: [PATCH 08/25] spring-cloud-starter-turbine ----> spring-cloud-starter-netflix-turbine --- microservice-hystrix-turbine/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice-hystrix-turbine/pom.xml b/microservice-hystrix-turbine/pom.xml index 7e3ba43..d5f4809 100644 --- a/microservice-hystrix-turbine/pom.xml +++ b/microservice-hystrix-turbine/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-turbine + spring-cloud-starter-netflix-turbine -- Gitee From 7cbaf8be4cc05a1fd1a48acd1516c8b508c64ecb Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 17:36:17 +0800 Subject: [PATCH 09/25] spring-cloud-starter-feign ---> spring-cloud-starter-openfeign --- microservice-consumer-movie-feign-customizing/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- microservice-consumer-movie-feign-hystrix-fallback/pom.xml | 2 +- microservice-consumer-movie-feign-logging/pom.xml | 2 +- microservice-consumer-movie-feign-manual/pom.xml | 2 +- microservice-consumer-movie-feign-multiple-params/pom.xml | 2 +- microservice-consumer-movie-feign/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/microservice-consumer-movie-feign-customizing/pom.xml b/microservice-consumer-movie-feign-customizing/pom.xml index 979d8d2..4d8749c 100644 --- a/microservice-consumer-movie-feign-customizing/pom.xml +++ b/microservice-consumer-movie-feign-customizing/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml index 26ff2c4..3dc1e1a 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-factory/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml index 76a6a15..f688fac 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback-stream/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign-hystrix-fallback/pom.xml b/microservice-consumer-movie-feign-hystrix-fallback/pom.xml index 8fae80d..9aa272c 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback/pom.xml +++ b/microservice-consumer-movie-feign-hystrix-fallback/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign-logging/pom.xml b/microservice-consumer-movie-feign-logging/pom.xml index b789df8..fa35105 100644 --- a/microservice-consumer-movie-feign-logging/pom.xml +++ b/microservice-consumer-movie-feign-logging/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign-manual/pom.xml b/microservice-consumer-movie-feign-manual/pom.xml index f7b19d5..1cae0d8 100644 --- a/microservice-consumer-movie-feign-manual/pom.xml +++ b/microservice-consumer-movie-feign-manual/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign-multiple-params/pom.xml b/microservice-consumer-movie-feign-multiple-params/pom.xml index 633cba1..15f244f 100644 --- a/microservice-consumer-movie-feign-multiple-params/pom.xml +++ b/microservice-consumer-movie-feign-multiple-params/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign diff --git a/microservice-consumer-movie-feign/pom.xml b/microservice-consumer-movie-feign/pom.xml index 6da344d..7731ad7 100644 --- a/microservice-consumer-movie-feign/pom.xml +++ b/microservice-consumer-movie-feign/pom.xml @@ -36,7 +36,7 @@ org.springframework.cloud - spring-cloud-starter-feign + spring-cloud-starter-openfeign -- Gitee From af274afff1f1a0e01733f08e4cde86e3b458b279 Mon Sep 17 00:00:00 2001 From: itmuch Date: Sun, 17 Dec 2017 17:39:00 +0800 Subject: [PATCH 10/25] spring-cloud-starter-zuul --> spring-cloud-starter-netflix-zuul --- microservice-gateway-zuul-aggregation/pom.xml | 2 +- microservice-gateway-zuul-fallback/pom.xml | 2 +- microservice-gateway-zuul-file-upload/pom.xml | 2 +- microservice-gateway-zuul-filter-groovy/pom.xml | 2 +- microservice-gateway-zuul-filter/pom.xml | 2 +- microservice-gateway-zuul-reg-exp/pom.xml | 2 +- microservice-gateway-zuul/pom.xml | 2 +- microservice-sidecar/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/microservice-gateway-zuul-aggregation/pom.xml b/microservice-gateway-zuul-aggregation/pom.xml index e12dda7..de2d7a4 100644 --- a/microservice-gateway-zuul-aggregation/pom.xml +++ b/microservice-gateway-zuul-aggregation/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-gateway-zuul-fallback/pom.xml b/microservice-gateway-zuul-fallback/pom.xml index 0de3b32..caa9d36 100644 --- a/microservice-gateway-zuul-fallback/pom.xml +++ b/microservice-gateway-zuul-fallback/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-gateway-zuul-file-upload/pom.xml b/microservice-gateway-zuul-file-upload/pom.xml index 1f3be16..15d6b3e 100644 --- a/microservice-gateway-zuul-file-upload/pom.xml +++ b/microservice-gateway-zuul-file-upload/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-gateway-zuul-filter-groovy/pom.xml b/microservice-gateway-zuul-filter-groovy/pom.xml index 9270a11..0416dce 100644 --- a/microservice-gateway-zuul-filter-groovy/pom.xml +++ b/microservice-gateway-zuul-filter-groovy/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-gateway-zuul-filter/pom.xml b/microservice-gateway-zuul-filter/pom.xml index 81d284d..29ebd5f 100644 --- a/microservice-gateway-zuul-filter/pom.xml +++ b/microservice-gateway-zuul-filter/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-gateway-zuul-reg-exp/pom.xml b/microservice-gateway-zuul-reg-exp/pom.xml index ebf5321..61a157d 100644 --- a/microservice-gateway-zuul-reg-exp/pom.xml +++ b/microservice-gateway-zuul-reg-exp/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-gateway-zuul/pom.xml b/microservice-gateway-zuul/pom.xml index 1655299..a1dfe77 100644 --- a/microservice-gateway-zuul/pom.xml +++ b/microservice-gateway-zuul/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud diff --git a/microservice-sidecar/pom.xml b/microservice-sidecar/pom.xml index 3705327..e758b15 100644 --- a/microservice-sidecar/pom.xml +++ b/microservice-sidecar/pom.xml @@ -22,7 +22,7 @@ org.springframework.cloud - spring-cloud-starter-zuul + spring-cloud-starter-netflix-zuul org.springframework.cloud -- Gitee From 81b47aa835089873b9e7bb74f43e69320c6aa095 Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 16:02:46 +0800 Subject: [PATCH 11/25] =?UTF-8?q?=E4=BF=AE=E6=AD=A3eureka=20server?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E8=AE=A4=E8=AF=81=E7=9A=84=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microservice-discovery-eureka-authenticating/src/main/resources/application.yml b/microservice-discovery-eureka-authenticating/src/main/resources/application.yml index 2d5c154..7984d08 100644 --- a/microservice-discovery-eureka-authenticating/src/main/resources/application.yml +++ b/microservice-discovery-eureka-authenticating/src/main/resources/application.yml @@ -11,7 +11,7 @@ eureka: registerWithEureka: false fetchRegistry: false serviceUrl: - defaultZone: http://localhost:8761/eureka/ + defaultZone: http://user:password123@localhost:8761/eureka/ # 参考文档:http://projects.spring.io/spring-cloud/docs/1.0.3/spring-cloud.html#_standalone_mode # 参考文档:http://my.oschina.net/buwei/blog/618756 \ No newline at end of file -- Gitee From de7f449f20a9b2d14262a8b0596920f3e6912770 Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 16:03:57 +0800 Subject: [PATCH 12/25] zuul fallback --- .../study/fallback/MyFallbackProvider.java | 95 +++++++++---------- .../study/fallback/UserFallbackProvider.java | 70 ++++++++++++++ 2 files changed, 117 insertions(+), 48 deletions(-) create mode 100644 microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java diff --git a/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java index 93b7821..f6cc730 100644 --- a/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java +++ b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/MyFallbackProvider.java @@ -15,61 +15,60 @@ import java.nio.charset.Charset; @Component public class MyFallbackProvider implements FallbackProvider { - @Override - public String getRoute() { - // 表明是为哪个微服务提供回退,*表示为所有微服务提供回退 - return "*"; - } - - @Override - public ClientHttpResponse fallbackResponse(Throwable cause) { - if (cause instanceof HystrixTimeoutException) { - return response(HttpStatus.GATEWAY_TIMEOUT); - } else { - return fallbackResponse(); - } - } + @Override + public String getRoute() { + // 表明是为哪个微服务提供回退,*表示为所有微服务提供回退 + return "*"; + } - @Override - public ClientHttpResponse fallbackResponse() { - return response(HttpStatus.INTERNAL_SERVER_ERROR); + @Override + public ClientHttpResponse fallbackResponse(Throwable cause) { + if (cause instanceof HystrixTimeoutException) { + return response(HttpStatus.GATEWAY_TIMEOUT); + } else { + return this.fallbackResponse(); } + } - private ClientHttpResponse response(final HttpStatus status) { - return new ClientHttpResponse() { - @Override - public HttpStatus getStatusCode() throws IOException { - return status; - } + @Override + public ClientHttpResponse fallbackResponse() { + return this.response(HttpStatus.INTERNAL_SERVER_ERROR); + } - @Override - public int getRawStatusCode() throws IOException { - return status.value(); - } + private ClientHttpResponse response(final HttpStatus status) { + return new ClientHttpResponse() { + @Override + public HttpStatus getStatusCode() throws IOException { + return status; + } - @Override - public String getStatusText() throws IOException { - return status.getReasonPhrase(); - } + @Override + public int getRawStatusCode() throws IOException { + return status.value(); + } - @Override - public void close() { - } + @Override + public String getStatusText() throws IOException { + return status.getReasonPhrase(); + } - @Override - public InputStream getBody() throws IOException { - return new ByteArrayInputStream("服务不可用,请稍后再试。".getBytes()); - } + @Override + public void close() { + } - @Override - public HttpHeaders getHeaders() { - // headers设定 - HttpHeaders headers = new HttpHeaders(); - MediaType mt = new MediaType("application", "json", Charset.forName("UTF-8")); - headers.setContentType(mt); + @Override + public InputStream getBody() throws IOException { + return new ByteArrayInputStream("服务不可用,请稍后再试。".getBytes()); + } - return headers; - } - }; - } + @Override + public HttpHeaders getHeaders() { + // headers设定 + HttpHeaders headers = new HttpHeaders(); + MediaType mt = new MediaType("application", "json", Charset.forName("UTF-8")); + headers.setContentType(mt); + return headers; + } + }; + } } diff --git a/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java new file mode 100644 index 0000000..35a98d8 --- /dev/null +++ b/microservice-gateway-zuul-fallback/src/main/java/com/itmuch/cloud/study/fallback/UserFallbackProvider.java @@ -0,0 +1,70 @@ +package com.itmuch.cloud.study.fallback; + +import org.springframework.cloud.netflix.zuul.filters.route.ZuulFallbackProvider; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.client.ClientHttpResponse; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.Charset; + +/** + * Edgware版本之前的写法,在Edgware版本已经废弃。仅供参考。 + * + * @see MyFallbackProvider + */ +@Deprecated +//@Component +public class UserFallbackProvider implements ZuulFallbackProvider { + @Override + public String getRoute() { + // 表明是为哪个微服务提供回退 + return "microservice-provider-user"; + } + + @Override + public ClientHttpResponse fallbackResponse() { + return new ClientHttpResponse() { + @Override + public HttpStatus getStatusCode() throws IOException { + // fallback时的状态码 + return HttpStatus.OK; + } + + @Override + public int getRawStatusCode() throws IOException { + // 数字类型的状态码,本例返回的其实就是200,详见HttpStatus + return this.getStatusCode().value(); + } + + @Override + public String getStatusText() throws IOException { + // 状态文本,本例返回的其实就是OK,详见HttpStatus + return this.getStatusCode().getReasonPhrase(); + } + + @Override + public void close() { + } + + @Override + public InputStream getBody() throws IOException { + // 响应体 + return new ByteArrayInputStream("用户微服务不可用,请稍后再试。".getBytes()); + } + + @Override + public HttpHeaders getHeaders() { + // headers设定 + HttpHeaders headers = new HttpHeaders(); + MediaType mt = new MediaType("application", "json", Charset.forName("UTF-8")); + headers.setContentType(mt); + + return headers; + } + }; + } +} -- Gitee From d5b58f530421b891ce20d4f3d088711c5f8534ca Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 16:04:18 +0800 Subject: [PATCH 13/25] =?UTF-8?q?=E5=85=B3=E9=97=ADacturtor=E7=9A=84?= =?UTF-8?q?=E5=AE=89=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- microservice-gateway-zuul/src/main/resources/application.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/microservice-gateway-zuul/src/main/resources/application.yml b/microservice-gateway-zuul/src/main/resources/application.yml index 75c418f..d3b86c3 100644 --- a/microservice-gateway-zuul/src/main/resources/application.yml +++ b/microservice-gateway-zuul/src/main/resources/application.yml @@ -8,4 +8,7 @@ eureka: service-url: defaultZone: http://localhost:8761/eureka/ instance: - prefer-ip-address: true \ No newline at end of file + prefer-ip-address: true +management: + security: + enabled: false -- Gitee From 65852e7623d9c245c2616d4f5616da04dd556ba6 Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 16:04:32 +0800 Subject: [PATCH 14/25] =?UTF-8?q?=E5=85=B3=E9=97=ADactuator=E7=9A=84?= =?UTF-8?q?=E5=AE=89=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/microservice-simple-provider-user/src/main/resources/application.yml b/microservice-simple-provider-user/src/main/resources/application.yml index f514de0..c4f4684 100644 --- a/microservice-simple-provider-user/src/main/resources/application.yml +++ b/microservice-simple-provider-user/src/main/resources/application.yml @@ -24,4 +24,9 @@ info: encoding: @project.build.sourceEncoding@ java: source: @java.version@ - target: @java.version@ \ No newline at end of file + target: @java.version@ +management: + security: + enabled: false + + -- Gitee From 776cef2a83e466fb581bdde9421fa6dcd60219ac Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 16:05:21 +0800 Subject: [PATCH 15/25] =?UTF-8?q?=E6=B7=BB=E5=8A=A0feign.hystrix.enabled?= =?UTF-8?q?=3Dtrue=EF=BC=8C=E5=90=A6=E5=88=99=E9=BB=98=E8=AE=A4hystrix?= =?UTF-8?q?=E4=B8=8D=E5=BC=80=E5=90=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 6 +++++- .../src/main/resources/application.yml | 8 ++++---- .../src/main/resources/application.yml | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/microservice-consumer-movie-feign-hystrix-fallback-factory/src/main/resources/application.yml b/microservice-consumer-movie-feign-hystrix-fallback-factory/src/main/resources/application.yml index 8e5980b..76a8e42 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-factory/src/main/resources/application.yml +++ b/microservice-consumer-movie-feign-hystrix-fallback-factory/src/main/resources/application.yml @@ -13,6 +13,10 @@ logging: level: feign: DEBUG -# 说明:请务必注意,在Spring Cloud Dalston中,Feign默认是不开启Hystrix的。 + +feign: + hystrix: + enabled: true +# 说明:请务必注意,从Spring Cloud Dalston开始,Feign默认是不开启Hystrix的。 # 因此,如使用Dalston请务必额外设置属性:feign.hystrix.enabled=true,否则断路器不会生效。 # 而,Spring Cloud Angel/Brixton/Camden中,Feign默认都是开启Hystrix的。无需设置该属性。 \ No newline at end of file diff --git a/microservice-consumer-movie-feign-hystrix-fallback-stream/src/main/resources/application.yml b/microservice-consumer-movie-feign-hystrix-fallback-stream/src/main/resources/application.yml index e7d9b12..9e68665 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback-stream/src/main/resources/application.yml +++ b/microservice-consumer-movie-feign-hystrix-fallback-stream/src/main/resources/application.yml @@ -11,9 +11,9 @@ eureka: prefer-ip-address: true - - - -# 说明:请务必注意,在Spring Cloud Dalston中,Feign默认是不开启Hystrix的。 +feign: + hystrix: + enabled: true +# 说明:请务必注意,从Spring Cloud Dalston开始,Feign默认是不开启Hystrix的。 # 因此,如使用Dalston请务必额外设置属性:feign.hystrix.enabled=true,否则断路器不会生效。 # 而,Spring Cloud Angel/Brixton/Camden中,Feign默认都是开启Hystrix的。无需设置该属性。 \ No newline at end of file diff --git a/microservice-consumer-movie-feign-hystrix-fallback/src/main/resources/application.yml b/microservice-consumer-movie-feign-hystrix-fallback/src/main/resources/application.yml index 8973da4..cfd636b 100644 --- a/microservice-consumer-movie-feign-hystrix-fallback/src/main/resources/application.yml +++ b/microservice-consumer-movie-feign-hystrix-fallback/src/main/resources/application.yml @@ -10,7 +10,9 @@ eureka: instance: prefer-ip-address: true - -# 说明:请务必注意,在Spring Cloud Dalston中,Feign默认是不开启Hystrix的。 +feign: + hystrix: + enabled: true +# 说明:请务必注意,从Spring Cloud Dalston开始,Feign默认是不开启Hystrix的。 # 因此,如使用Dalston请务必额外设置属性:feign.hystrix.enabled=true,否则断路器不会生效。 # 而,Spring Cloud Angel/Brixton/Camden中,Feign默认都是开启Hystrix的。无需设置该属性。 \ No newline at end of file -- Gitee From 6c455c75327ec82b4bb7d06c58f2e68ccea3664b Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 18:05:31 +0800 Subject: [PATCH 16/25] =?UTF-8?q?1.=20=E8=AE=BE=E7=BD=AEmanagement.securit?= =?UTF-8?q?y.enabled=3Dfalse=202.=20=E6=B7=BB=E5=8A=A0=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E8=BD=AC=E5=8F=91=E7=9A=84=E4=BE=8B=E5=AD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\254\345\234\260\350\275\254\345\217\221" | 19 +++++++++++++++++++ ...4\215\345\212\241\350\267\257\345\276\204" | 3 +++ ...6\232\345\276\256\346\234\215\345\212\241" | 3 +++ ...2\204\345\276\256\346\234\215\345\212\241" | 3 +++ ...7\271\345\272\224\350\267\257\345\276\204" | 3 +++ ...46\214\207\345\256\232path\345\222\214url" | 3 +++ ...ibbon\347\211\271\346\200\247\343\200\202" | 3 +++ ...\240\345\260\204\345\211\215\347\274\2001" | 8 ++++++-- ...\240\345\260\204\345\211\215\347\274\2002" | 9 +++++++-- ...7\220\344\272\233\350\267\257\345\276\204" | 3 +++ 10 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 "microservice-gateway-zuul/src/main/resources/application.yml.bak10_\346\234\254\345\234\260\350\275\254\345\217\221" diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak10_\346\234\254\345\234\260\350\275\254\345\217\221" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak10_\346\234\254\345\234\260\350\275\254\345\217\221" new file mode 100644 index 0000000..6a18e33 --- /dev/null +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak10_\346\234\254\345\234\260\350\275\254\345\217\221" @@ -0,0 +1,19 @@ +server: + port: 8040 +spring: + application: + name: microservice-gateway-zuul +eureka: + client: + service-url: + defaultZone: http://localhost:8761/eureka/ + instance: + prefer-ip-address: true +zuul: + routes: + route-name: + path: /path-a/** + url: forward:/path-b +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak1_\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\350\267\257\345\276\204" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak1_\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\350\267\257\345\276\204" index 24de917..710a36a 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak1_\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\350\267\257\345\276\204" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak1_\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\350\267\257\345\276\204" @@ -12,3 +12,6 @@ eureka: zuul: routes: microservice-provider-user: /user/** +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak2_\345\277\275\347\225\245\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak2_\345\277\275\347\225\245\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241" index df741a6..6093b82 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak2_\345\277\275\347\225\245\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak2_\345\277\275\347\225\245\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241" @@ -11,3 +11,6 @@ eureka: prefer-ip-address: true zuul: ignored-services: microservice-provider-user,microservice-consumer-movie +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak3_\345\277\275\347\225\245\346\211\200\346\234\211\345\276\256\346\234\215\345\212\241\357\274\214\345\217\252\350\267\257\347\224\261\346\214\207\345\256\232\347\232\204\345\276\256\346\234\215\345\212\241" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak3_\345\277\275\347\225\245\346\211\200\346\234\211\345\276\256\346\234\215\345\212\241\357\274\214\345\217\252\350\267\257\347\224\261\346\214\207\345\256\232\347\232\204\345\276\256\346\234\215\345\212\241" index 51e78b8..598cfad 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak3_\345\277\275\347\225\245\346\211\200\346\234\211\345\276\256\346\234\215\345\212\241\357\274\214\345\217\252\350\267\257\347\224\261\346\214\207\345\256\232\347\232\204\345\276\256\346\234\215\345\212\241" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak3_\345\277\275\347\225\245\346\211\200\346\234\211\345\276\256\346\234\215\345\212\241\357\274\214\345\217\252\350\267\257\347\224\261\346\214\207\345\256\232\347\232\204\345\276\256\346\234\215\345\212\241" @@ -13,3 +13,6 @@ zuul: ignored-services: '*' # 使用'*'可忽略所有微服务 routes: microservice-provider-user: /user/** +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak4_\345\220\214\346\227\266\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\347\232\204serviceId\345\222\214\345\257\271\345\272\224\350\267\257\345\276\204" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak4_\345\220\214\346\227\266\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\347\232\204serviceId\345\222\214\345\257\271\345\272\224\350\267\257\345\276\204" index e815105..4590bbb 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak4_\345\220\214\346\227\266\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\347\232\204serviceId\345\222\214\345\257\271\345\272\224\350\267\257\345\276\204" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak4_\345\220\214\346\227\266\346\214\207\345\256\232\345\276\256\346\234\215\345\212\241\347\232\204serviceId\345\222\214\345\257\271\345\272\224\350\267\257\345\276\204" @@ -14,3 +14,6 @@ zuul: user-route: # 该配置方式中,user-route只是给路由一个名称,可以任意起名。 service-id: microservice-provider-user path: /user/** # service-id对应的路径 +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak5_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214url" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak5_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214url" index 2712533..3d1ea0b 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak5_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214url" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak5_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214url" @@ -14,3 +14,6 @@ zuul: user-route: # 该配置方式中,user-route只是给路由一个名称,可以任意起名。 url: http://localhost:8000/ # 指定的url path: /user/** # url对应的路径。 +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak6_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214URL\357\274\214\345\271\266\344\270\224\344\270\215\347\240\264\345\235\217Zuul\347\232\204Hystrix\343\200\201Ribbon\347\211\271\346\200\247\343\200\202" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak6_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214URL\357\274\214\345\271\266\344\270\224\344\270\215\347\240\264\345\235\217Zuul\347\232\204Hystrix\343\200\201Ribbon\347\211\271\346\200\247\343\200\202" index d9d6ebe..857ed3a 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak6_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214URL\357\274\214\345\271\266\344\270\224\344\270\215\347\240\264\345\235\217Zuul\347\232\204Hystrix\343\200\201Ribbon\347\211\271\346\200\247\343\200\202" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak6_\345\220\214\346\227\266\346\214\207\345\256\232path\345\222\214URL\357\274\214\345\271\266\344\270\224\344\270\215\347\240\264\345\235\217Zuul\347\232\204Hystrix\343\200\201Ribbon\347\211\271\346\200\247\343\200\202" @@ -20,3 +20,6 @@ ribbon: microservice-provider-user: ribbon: listOfServers: localhost:8000,localhost:8001 +management: + security: + enabled: false \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2001" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2001" index 851a053..9bf9cd5 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2001" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2001" @@ -17,5 +17,9 @@ zuul: logging: level: com.netflix: DEBUG - -# 访问Zuul的/api/microservice-provider-user/1路径,请求将会被转发到microservice-provider-user的/api/1,,可以查看日志打印,有助于理解。 \ No newline at end of file +management: + security: + enabled: false + +# 访问Zuul的/api/microservice-provider-user/1路径,请求将会被转发到microservice-provider-user的/api/1,可查看日志打印,有助于理解。 + diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2002" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2002" index a879f8d..cb06927 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2002" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak8_\344\270\272Zuul\346\267\273\345\212\240\346\230\240\345\260\204\345\211\215\347\274\2002" @@ -17,5 +17,10 @@ zuul: logging: level: com.netflix: DEBUG - -# 这样访问Zuul的/user/1路径,请求将会被转发到microservice-provider-user的/user/1,可以查看日志打印,有助于理解。 \ No newline at end of file + +management: + security: + enabled: false + + +# 这样访问Zuul的/user/1路径,请求将会被转发到microservice-provider-user的/user/1,可查看日志打印,有助于理解。 \ No newline at end of file diff --git "a/microservice-gateway-zuul/src/main/resources/application.yml.bak9_\345\277\275\347\225\245\346\237\220\344\272\233\350\267\257\345\276\204" "b/microservice-gateway-zuul/src/main/resources/application.yml.bak9_\345\277\275\347\225\245\346\237\220\344\272\233\350\267\257\345\276\204" index 81b5a0e..c4d305b 100644 --- "a/microservice-gateway-zuul/src/main/resources/application.yml.bak9_\345\277\275\347\225\245\346\237\220\344\272\233\350\267\257\345\276\204" +++ "b/microservice-gateway-zuul/src/main/resources/application.yml.bak9_\345\277\275\347\225\245\346\237\220\344\272\233\350\267\257\345\276\204" @@ -13,3 +13,6 @@ zuul: ignoredPatterns: /**/admin/** # 忽略所有包括/admin/的路径 routes: microservice-provider-user: /user/** +management: + security: + enabled: false \ No newline at end of file -- Gitee From f61d9712c004fa94d21420a3ff60dd37847877f4 Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 27 Dec 2017 20:10:09 +0800 Subject: [PATCH 17/25] =?UTF-8?q?sleuth=20=E4=BB=8Eeureka=20server?= =?UTF-8?q?=E6=89=BE=E5=88=B0zipkin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../microservice-discovery-eureka/.gitignore | 1 + trace/microservice-discovery-eureka/pom.xml | 51 ++++++++++++ .../itmuch/cloud/study/EurekaApplication.java | 17 ++++ .../src/main/resources/application.yml | 11 +++ .../.gitignore | 1 + .../microservice-provider-user-zipkin/pom.xml | 77 +++++++++++++++++++ .../cloud/study/ProviderUserApplication.java | 13 ++++ .../study/controller/UserController.java | 21 +++++ .../com/itmuch/cloud/study/entity/User.java | 65 ++++++++++++++++ .../study/repository/UserRepository.java | 10 +++ .../application-autherntication.yml.bak | 26 +++++++ .../src/main/resources/application-ha.yml.bak | 26 +++++++ .../src/main/resources/application.yml | 32 ++++++++ .../src/main/resources/data.sql | 3 + .../src/main/resources/schema.sql | 2 + .../pom.xml | 60 +++++++++++++++ .../cloud/study/ZipkinServerApplication.java | 14 ++++ .../src/main/resources/application.yml | 9 +++ trace/pom.xml | 3 + 19 files changed, 442 insertions(+) create mode 100644 trace/microservice-discovery-eureka/.gitignore create mode 100644 trace/microservice-discovery-eureka/pom.xml create mode 100644 trace/microservice-discovery-eureka/src/main/java/com/itmuch/cloud/study/EurekaApplication.java create mode 100644 trace/microservice-discovery-eureka/src/main/resources/application.yml create mode 100644 trace/microservice-provider-user-zipkin/.gitignore create mode 100644 trace/microservice-provider-user-zipkin/pom.xml create mode 100644 trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java create mode 100644 trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/controller/UserController.java create mode 100644 trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/entity/User.java create mode 100644 trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java create mode 100644 trace/microservice-provider-user-zipkin/src/main/resources/application-autherntication.yml.bak create mode 100644 trace/microservice-provider-user-zipkin/src/main/resources/application-ha.yml.bak create mode 100644 trace/microservice-provider-user-zipkin/src/main/resources/application.yml create mode 100644 trace/microservice-provider-user-zipkin/src/main/resources/data.sql create mode 100644 trace/microservice-provider-user-zipkin/src/main/resources/schema.sql create mode 100644 trace/microservice-trace-zipkin-server-eureka/pom.xml create mode 100644 trace/microservice-trace-zipkin-server-eureka/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java create mode 100644 trace/microservice-trace-zipkin-server-eureka/src/main/resources/application.yml diff --git a/trace/microservice-discovery-eureka/.gitignore b/trace/microservice-discovery-eureka/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/trace/microservice-discovery-eureka/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/trace/microservice-discovery-eureka/pom.xml b/trace/microservice-discovery-eureka/pom.xml new file mode 100644 index 0000000..3c7ae21 --- /dev/null +++ b/trace/microservice-discovery-eureka/pom.xml @@ -0,0 +1,51 @@ + + + 4.0.0 + com.itmuch.cloud + microservice-discovery-eureka + 0.0.1-SNAPSHOT + jar + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.9.RELEASE + + + + UTF-8 + 1.8 + + + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-server + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + Edgware.RELEASE + pom + import + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/trace/microservice-discovery-eureka/src/main/java/com/itmuch/cloud/study/EurekaApplication.java b/trace/microservice-discovery-eureka/src/main/java/com/itmuch/cloud/study/EurekaApplication.java new file mode 100644 index 0000000..f4fb458 --- /dev/null +++ b/trace/microservice-discovery-eureka/src/main/java/com/itmuch/cloud/study/EurekaApplication.java @@ -0,0 +1,17 @@ +package com.itmuch.cloud.study; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; + +/** + * 使用Eureka做服务发现. + * @author 周立 + */ +@SpringBootApplication +@EnableEurekaServer +public class EurekaApplication { + public static void main(String[] args) { + SpringApplication.run(EurekaApplication.class, args); + } +} diff --git a/trace/microservice-discovery-eureka/src/main/resources/application.yml b/trace/microservice-discovery-eureka/src/main/resources/application.yml new file mode 100644 index 0000000..fc7c494 --- /dev/null +++ b/trace/microservice-discovery-eureka/src/main/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 8761 # 指定该Eureka实例的端口 +eureka: + client: + registerWithEureka: false + fetchRegistry: false + serviceUrl: + defaultZone: http://localhost:8761/eureka/ + +# 参考文档:http://projects.spring.io/spring-cloud/docs/1.0.3/spring-cloud.html#_standalone_mode +# 参考文档:http://my.oschina.net/buwei/blog/618756 \ No newline at end of file diff --git a/trace/microservice-provider-user-zipkin/.gitignore b/trace/microservice-provider-user-zipkin/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/trace/microservice-provider-user-zipkin/pom.xml b/trace/microservice-provider-user-zipkin/pom.xml new file mode 100644 index 0000000..37449bd --- /dev/null +++ b/trace/microservice-provider-user-zipkin/pom.xml @@ -0,0 +1,77 @@ + + + 4.0.0 + com.itmuch.cloud + microservice-provider-user-zipkin + 0.0.1-SNAPSHOT + jar + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.9.RELEASE + + + + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + + org.springframework.cloud + spring-cloud-starter-sleuth + + + org.springframework.cloud + spring-cloud-sleuth-zipkin + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + Edgware.RELEASE + pom + import + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java new file mode 100644 index 0000000..f0ff6d2 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java @@ -0,0 +1,13 @@ +package com.itmuch.cloud.study; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; + +@EnableDiscoveryClient +@SpringBootApplication +public class ProviderUserApplication { + public static void main(String[] args) { + SpringApplication.run(ProviderUserApplication.class, args); + } +} diff --git a/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/controller/UserController.java b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/controller/UserController.java new file mode 100644 index 0000000..5d246ef --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/controller/UserController.java @@ -0,0 +1,21 @@ +package com.itmuch.cloud.study.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import com.itmuch.cloud.study.entity.User; +import com.itmuch.cloud.study.repository.UserRepository; + +@RestController +public class UserController { + @Autowired + private UserRepository userRepository; + + @GetMapping("/{id}") + public User findById(@PathVariable Long id) { + User findOne = this.userRepository.findOne(id); + return findOne; + } +} diff --git a/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/entity/User.java b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/entity/User.java new file mode 100644 index 0000000..1796bb8 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/entity/User.java @@ -0,0 +1,65 @@ +package com.itmuch.cloud.study.entity; + +import java.math.BigDecimal; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class User { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + @Column + private String username; + @Column + private String name; + @Column + private Integer age; + @Column + private BigDecimal balance; + + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getUsername() { + return this.username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public Integer getAge() { + return this.age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public BigDecimal getBalance() { + return this.balance; + } + + public void setBalance(BigDecimal balance) { + this.balance = balance; + } + +} diff --git a/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java new file mode 100644 index 0000000..889d8de --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java @@ -0,0 +1,10 @@ +package com.itmuch.cloud.study.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import com.itmuch.cloud.study.entity.User; + +@Repository +public interface UserRepository extends JpaRepository { +} diff --git a/trace/microservice-provider-user-zipkin/src/main/resources/application-autherntication.yml.bak b/trace/microservice-provider-user-zipkin/src/main/resources/application-autherntication.yml.bak new file mode 100644 index 0000000..4b40fe8 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/resources/application-autherntication.yml.bak @@ -0,0 +1,26 @@ +server: + port: 8000 +spring: + application: + name: microservice-provider-user + jpa: + generate-ddl: false + show-sql: true + hibernate: + ddl-auto: none + datasource: # 指定数据源 + platform: h2 # 指定数据源类型 + schema: classpath:schema.sql # 指定h2数据库的建表脚本 + data: classpath:data.sql # 指定h2数据库的数据脚本 +logging: # 配置日志级别,让hibernate打印出执行的SQL + level: + root: INFO + org.hibernate: INFO + org.hibernate.type.descriptor.sql.BasicBinder: TRACE + org.hibernate.type.descriptor.sql.BasicExtractor: TRACE +eureka: + client: + serviceUrl: + defaultZone: http://user:password123@localhost:8761/eureka/ + instance: + prefer-ip-address: true \ No newline at end of file diff --git a/trace/microservice-provider-user-zipkin/src/main/resources/application-ha.yml.bak b/trace/microservice-provider-user-zipkin/src/main/resources/application-ha.yml.bak new file mode 100644 index 0000000..9d917a1 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/resources/application-ha.yml.bak @@ -0,0 +1,26 @@ +server: + port: 8000 +spring: + application: + name: microservice-provider-user + jpa: + generate-ddl: false + show-sql: true + hibernate: + ddl-auto: none + datasource: # 指定数据源 + platform: h2 # 指定数据源类型 + schema: classpath:schema.sql # 指定h2数据库的建表脚本 + data: classpath:data.sql # 指定h2数据库的数据脚本 +logging: # 配置日志级别,让hibernate打印出执行的SQL + level: + root: INFO + org.hibernate: INFO + org.hibernate.type.descriptor.sql.BasicBinder: TRACE + org.hibernate.type.descriptor.sql.BasicExtractor: TRACE +eureka: + client: + serviceUrl: + defaultZone: http://peer1:8761/eureka/,http://peer2:8762/eureka/ + instance: + prefer-ip-address: true \ No newline at end of file diff --git a/trace/microservice-provider-user-zipkin/src/main/resources/application.yml b/trace/microservice-provider-user-zipkin/src/main/resources/application.yml new file mode 100644 index 0000000..3ab1367 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/resources/application.yml @@ -0,0 +1,32 @@ +server: + port: 8000 +spring: + application: + name: microservice-provider-user + jpa: + generate-ddl: false + show-sql: true + hibernate: + ddl-auto: none + datasource: # 指定数据源 + platform: h2 # 指定数据源类型 + schema: classpath:schema.sql # 指定h2数据库的建表脚本 + data: classpath:data.sql # 指定h2数据库的数据脚本 + zipkin: + base-url: http://zipkin-server/ + sleuth: + sampler: + percentage: 1.0 + +logging: # 配置日志级别,让hibernate打印出执行的SQL + level: + root: INFO + org.hibernate: INFO + org.hibernate.type.descriptor.sql.BasicBinder: TRACE + org.hibernate.type.descriptor.sql.BasicExtractor: TRACE +eureka: + client: + serviceUrl: + defaultZone: http://localhost:8761/eureka/ + instance: + prefer-ip-address: true diff --git a/trace/microservice-provider-user-zipkin/src/main/resources/data.sql b/trace/microservice-provider-user-zipkin/src/main/resources/data.sql new file mode 100644 index 0000000..b3db6a4 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/resources/data.sql @@ -0,0 +1,3 @@ +insert into user (id, username, name, age, balance) values (1, 'account1', '张三', 20, 100.00); +insert into user (id, username, name, age, balance) values (2, 'account2', '李四', 28, 180.00); +insert into user (id, username, name, age, balance) values (3, 'account3', '王五', 32, 280.00); \ No newline at end of file diff --git a/trace/microservice-provider-user-zipkin/src/main/resources/schema.sql b/trace/microservice-provider-user-zipkin/src/main/resources/schema.sql new file mode 100644 index 0000000..ef5dc47 --- /dev/null +++ b/trace/microservice-provider-user-zipkin/src/main/resources/schema.sql @@ -0,0 +1,2 @@ +drop table user if exists; +create table user (id bigint generated by default as identity, username varchar(40), name varchar(20), age int(3), balance decimal(10,2), primary key (id)); \ No newline at end of file diff --git a/trace/microservice-trace-zipkin-server-eureka/pom.xml b/trace/microservice-trace-zipkin-server-eureka/pom.xml new file mode 100644 index 0000000..be3a0f7 --- /dev/null +++ b/trace/microservice-trace-zipkin-server-eureka/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + com.itmuch.cloud + microservice-trace-zipkin-server-eureka + 0.0.1-SNAPSHOT + jar + + + + org.springframework.boot + spring-boot-starter-parent + 1.5.9.RELEASE + + + + UTF-8 + 1.8 + + + + + io.zipkin.java + zipkin-autoconfigure-ui + + + io.zipkin.java + zipkin-server + + + + org.springframework.cloud + spring-cloud-starter-netflix-eureka-client + + + + + + + + org.springframework.cloud + spring-cloud-dependencies + Edgware.RELEASE + pom + import + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/trace/microservice-trace-zipkin-server-eureka/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java b/trace/microservice-trace-zipkin-server-eureka/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java new file mode 100644 index 0000000..65452f8 --- /dev/null +++ b/trace/microservice-trace-zipkin-server-eureka/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java @@ -0,0 +1,14 @@ +package com.itmuch.cloud.study; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import zipkin.server.EnableZipkinServer; + +@SpringBootApplication +@EnableZipkinServer +public class ZipkinServerApplication { + public static void main(String[] args) { + SpringApplication.run(ZipkinServerApplication.class, args); + } +} diff --git a/trace/microservice-trace-zipkin-server-eureka/src/main/resources/application.yml b/trace/microservice-trace-zipkin-server-eureka/src/main/resources/application.yml new file mode 100644 index 0000000..3310916 --- /dev/null +++ b/trace/microservice-trace-zipkin-server-eureka/src/main/resources/application.yml @@ -0,0 +1,9 @@ +server: + port: 9411 +spring: + application: + name: zipkin-server +eureka: + client: + serviceUrl: + defaultZone: http://localhost:8761/eureka/ diff --git a/trace/pom.xml b/trace/pom.xml index fffee2e..ec43f08 100644 --- a/trace/pom.xml +++ b/trace/pom.xml @@ -18,5 +18,8 @@ microservice-trace-zipkin-server microservice-trace-zipkin-server-stream microservice-trace-zipkin-server-stream-elasticsearch + microservice-trace-zipkin-server-eureka + microservice-discovery-eureka + microservice-provider-user-zipkin \ No newline at end of file -- Gitee From 6f1bc4a446bff2bd706577416990f5ed4feb7454 Mon Sep 17 00:00:00 2001 From: itmuch Date: Fri, 29 Dec 2017 11:30:59 +0800 Subject: [PATCH 18/25] =?UTF-8?q?sleuth=20=E6=95=B4=E5=90=88zipkin?= =?UTF-8?q?=EF=BC=8C=E4=BD=BF=E7=94=A8mq=E6=96=B9=E5=BC=8F=E6=94=B6?= =?UTF-8?q?=E9=9B=86=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 12 ++++-------- .../cloud/study/ProviderUserApplication.java | 0 .../study/controller/UserController.java | 0 .../com/itmuch/cloud/study/entity/User.java | 0 .../study/repository/UserRepository.java | 0 .../src/main/resources/application.yml | 5 ++++- .../src/main/resources/data.sql | 0 .../src/main/resources/schema.sql | 0 .../pom.xml | 19 +++++++++---------- .../cloud/study/ZipkinServerApplication.java | 4 ++-- .../src/main/resources/application.yml | 9 +++++++++ .../src/main/resources/application.yml | 8 -------- trace/pom.xml | 4 ++-- 13 files changed, 30 insertions(+), 31 deletions(-) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/pom.xml (83%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/java/com/itmuch/cloud/study/controller/UserController.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/java/com/itmuch/cloud/study/entity/User.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/resources/application.yml (89%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/resources/data.sql (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-stream => microservice-simple-provider-user-trace-zipkin-mq}/src/main/resources/schema.sql (100%) rename trace/{microservice-trace-zipkin-server-stream => microservice-trace-zipkin-server-mq}/pom.xml (78%) rename trace/{microservice-trace-zipkin-server-stream => microservice-trace-zipkin-server-mq}/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java (75%) create mode 100644 trace/microservice-trace-zipkin-server-mq/src/main/resources/application.yml delete mode 100644 trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml b/trace/microservice-simple-provider-user-trace-zipkin-mq/pom.xml similarity index 83% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml rename to trace/microservice-simple-provider-user-trace-zipkin-mq/pom.xml index aed4179..e653157 100644 --- a/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml +++ b/trace/microservice-simple-provider-user-trace-zipkin-mq/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.itmuch.cloud - microservice-simple-provider-user-trace-zipkin-stream + microservice-simple-provider-user-trace-zipkin-mq 0.0.1-SNAPSHOT jar @@ -38,15 +38,11 @@ org.springframework.cloud - spring-cloud-sleuth-stream + spring-cloud-starter-zipkin - org.springframework.cloud - spring-cloud-starter-sleuth - - - org.springframework.cloud - spring-cloud-stream-binder-rabbit + org.springframework.amqp + spring-rabbit diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/controller/UserController.java b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/controller/UserController.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/controller/UserController.java rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/controller/UserController.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/entity/User.java b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/entity/User.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/entity/User.java rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/entity/User.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/application.yml b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/application.yml similarity index 89% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/application.yml rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/application.yml index 7adf0d7..f322c3a 100644 --- a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/application.yml +++ b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/application.yml @@ -19,4 +19,7 @@ spring: host: localhost port: 5672 username: guest - password: guest \ No newline at end of file + password: guest + zipkin: + rabbitmq: + queue: zipkin \ No newline at end of file diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/data.sql b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/data.sql similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/data.sql rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/data.sql diff --git a/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/schema.sql b/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/schema.sql similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/schema.sql rename to trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/schema.sql diff --git a/trace/microservice-trace-zipkin-server-stream/pom.xml b/trace/microservice-trace-zipkin-server-mq/pom.xml similarity index 78% rename from trace/microservice-trace-zipkin-server-stream/pom.xml rename to trace/microservice-trace-zipkin-server-mq/pom.xml index cc01070..fc3b4ac 100644 --- a/trace/microservice-trace-zipkin-server-stream/pom.xml +++ b/trace/microservice-trace-zipkin-server-mq/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.itmuch.cloud - microservice-trace-zipkin-server-stream + microservice-trace-zipkin-server-mq 0.0.1-SNAPSHOT jar @@ -21,20 +21,19 @@ - org.springframework.cloud - spring-cloud-sleuth-zipkin-stream - - - org.springframework.cloud - spring-cloud-starter-sleuth + io.zipkin.java + zipkin-autoconfigure-ui - org.springframework.cloud - spring-cloud-stream-binder-rabbit + io.zipkin.java + zipkin-server + + io.zipkin.java - zipkin-autoconfigure-ui + zipkin-autoconfigure-collector-rabbitmq + 2.3.1 diff --git a/trace/microservice-trace-zipkin-server-stream/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java b/trace/microservice-trace-zipkin-server-mq/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java similarity index 75% rename from trace/microservice-trace-zipkin-server-stream/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java rename to trace/microservice-trace-zipkin-server-mq/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java index 5198c68..c35edd3 100644 --- a/trace/microservice-trace-zipkin-server-stream/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java +++ b/trace/microservice-trace-zipkin-server-mq/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java @@ -2,10 +2,10 @@ package com.itmuch.cloud.study; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.sleuth.zipkin.stream.EnableZipkinStreamServer; +import zipkin.server.EnableZipkinServer; @SpringBootApplication -@EnableZipkinStreamServer +@EnableZipkinServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); diff --git a/trace/microservice-trace-zipkin-server-mq/src/main/resources/application.yml b/trace/microservice-trace-zipkin-server-mq/src/main/resources/application.yml new file mode 100644 index 0000000..505af2d --- /dev/null +++ b/trace/microservice-trace-zipkin-server-mq/src/main/resources/application.yml @@ -0,0 +1,9 @@ +server: + port: 9488 +zipkin: + collector: + rabbitmq: + addresses: localhost:5672 + password: guest + username: guest + queue: zipkin \ No newline at end of file diff --git a/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml b/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml deleted file mode 100644 index 8ef62a4..0000000 --- a/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml +++ /dev/null @@ -1,8 +0,0 @@ -server: - port: 9411 -spring: - rabbitmq: - host: localhost - port: 5672 - username: guest - password: guest \ No newline at end of file diff --git a/trace/pom.xml b/trace/pom.xml index ec43f08..adeaf5e 100644 --- a/trace/pom.xml +++ b/trace/pom.xml @@ -14,9 +14,9 @@ microservice-simple-provider-user-trace microservice-simple-provider-user-trace-elk microservice-simple-provider-user-trace-zipkin - microservice-simple-provider-user-trace-zipkin-stream + microservice-simple-provider-user-trace-zipkin-mq microservice-trace-zipkin-server - microservice-trace-zipkin-server-stream + microservice-trace-zipkin-server-mq microservice-trace-zipkin-server-stream-elasticsearch microservice-trace-zipkin-server-eureka microservice-discovery-eureka -- Gitee From 5644358acb83c35692ef81b3cc8349b5047f33d7 Mon Sep 17 00:00:00 2001 From: itmuch Date: Fri, 29 Dec 2017 11:38:32 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 2 +- .../java/com/itmuch/cloud/study/ProviderUserApplication.java | 0 .../com/itmuch/cloud/study/controller/UserController.java | 0 .../src/main/java/com/itmuch/cloud/study/entity/User.java | 0 .../com/itmuch/cloud/study/repository/UserRepository.java | 0 .../src/main/resources/application.yml | 0 .../src/main/resources/data.sql | 0 .../src/main/resources/schema.sql | 0 .../pom.xml | 2 +- .../java/com/itmuch/cloud/study/ZipkinServerApplication.java | 0 .../src/main/resources/application.yml | 0 trace/pom.xml | 4 ++-- 12 files changed, 4 insertions(+), 4 deletions(-) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/pom.xml (96%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/java/com/itmuch/cloud/study/controller/UserController.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/java/com/itmuch/cloud/study/entity/User.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/resources/application.yml (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/resources/data.sql (100%) rename trace/{microservice-simple-provider-user-trace-zipkin-mq => microservice-simple-provider-user-trace-zipkin-stream}/src/main/resources/schema.sql (100%) rename trace/{microservice-trace-zipkin-server-mq => microservice-trace-zipkin-server-stream}/pom.xml (96%) rename trace/{microservice-trace-zipkin-server-mq => microservice-trace-zipkin-server-stream}/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java (100%) rename trace/{microservice-trace-zipkin-server-mq => microservice-trace-zipkin-server-stream}/src/main/resources/application.yml (100%) diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/pom.xml b/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml similarity index 96% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/pom.xml rename to trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml index e653157..5b3222d 100644 --- a/trace/microservice-simple-provider-user-trace-zipkin-mq/pom.xml +++ b/trace/microservice-simple-provider-user-trace-zipkin-stream/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.itmuch.cloud - microservice-simple-provider-user-trace-zipkin-mq + microservice-simple-provider-user-trace-zipkin-stream 0.0.1-SNAPSHOT jar diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/ProviderUserApplication.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/controller/UserController.java b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/controller/UserController.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/controller/UserController.java rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/controller/UserController.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/entity/User.java b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/entity/User.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/entity/User.java rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/entity/User.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/java/com/itmuch/cloud/study/repository/UserRepository.java diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/application.yml b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/application.yml similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/application.yml rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/application.yml diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/data.sql b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/data.sql similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/data.sql rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/data.sql diff --git a/trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/schema.sql b/trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/schema.sql similarity index 100% rename from trace/microservice-simple-provider-user-trace-zipkin-mq/src/main/resources/schema.sql rename to trace/microservice-simple-provider-user-trace-zipkin-stream/src/main/resources/schema.sql diff --git a/trace/microservice-trace-zipkin-server-mq/pom.xml b/trace/microservice-trace-zipkin-server-stream/pom.xml similarity index 96% rename from trace/microservice-trace-zipkin-server-mq/pom.xml rename to trace/microservice-trace-zipkin-server-stream/pom.xml index fc3b4ac..e0eb940 100644 --- a/trace/microservice-trace-zipkin-server-mq/pom.xml +++ b/trace/microservice-trace-zipkin-server-stream/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.itmuch.cloud - microservice-trace-zipkin-server-mq + microservice-trace-zipkin-server-steram 0.0.1-SNAPSHOT jar diff --git a/trace/microservice-trace-zipkin-server-mq/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java b/trace/microservice-trace-zipkin-server-stream/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java similarity index 100% rename from trace/microservice-trace-zipkin-server-mq/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java rename to trace/microservice-trace-zipkin-server-stream/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java diff --git a/trace/microservice-trace-zipkin-server-mq/src/main/resources/application.yml b/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml similarity index 100% rename from trace/microservice-trace-zipkin-server-mq/src/main/resources/application.yml rename to trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml diff --git a/trace/pom.xml b/trace/pom.xml index adeaf5e..ec43f08 100644 --- a/trace/pom.xml +++ b/trace/pom.xml @@ -14,9 +14,9 @@ microservice-simple-provider-user-trace microservice-simple-provider-user-trace-elk microservice-simple-provider-user-trace-zipkin - microservice-simple-provider-user-trace-zipkin-mq + microservice-simple-provider-user-trace-zipkin-stream microservice-trace-zipkin-server - microservice-trace-zipkin-server-mq + microservice-trace-zipkin-server-stream microservice-trace-zipkin-server-stream-elasticsearch microservice-trace-zipkin-server-eureka microservice-discovery-eureka -- Gitee From f4141f0588f6e1c0a186f5d1b75d975c5a89b8c3 Mon Sep 17 00:00:00 2001 From: itmuch Date: Fri, 29 Dec 2017 11:51:40 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- trace/microservice-trace-zipkin-server-stream/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trace/microservice-trace-zipkin-server-stream/pom.xml b/trace/microservice-trace-zipkin-server-stream/pom.xml index e0eb940..505eae0 100644 --- a/trace/microservice-trace-zipkin-server-stream/pom.xml +++ b/trace/microservice-trace-zipkin-server-stream/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.itmuch.cloud - microservice-trace-zipkin-server-steram + microservice-trace-zipkin-server-stream 0.0.1-SNAPSHOT jar -- Gitee From eff8f224a8c569b75a7ee1a5023af3c2a90310ac Mon Sep 17 00:00:00 2001 From: itmuch Date: Fri, 29 Dec 2017 15:11:33 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E4=BD=BF=E7=94=A8elasticsearch=20?= =?UTF-8?q?=E4=BD=9C=E4=B8=BAzipkin=E7=9A=84=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../build/microservice-provider-user | 0 .../build/microservice-provider-user.json | 129 ------------------ .../pom.xml | 16 ++- .../cloud/study/ZipkinServerApplication.java | 4 +- .../src/main/resources/application.yml | 12 +- .../src/main/resources/application.yml | 2 +- 6 files changed, 19 insertions(+), 144 deletions(-) delete mode 100644 trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user delete mode 100644 trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user.json diff --git a/trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user b/trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user deleted file mode 100644 index e69de29..0000000 diff --git a/trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user.json b/trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user.json deleted file mode 100644 index 3b1eb50..0000000 --- a/trace/microservice-simple-provider-user-trace-elk/build/microservice-provider-user.json +++ /dev/null @@ -1,129 +0,0 @@ -{"@timestamp":"2017-01-17T17:20:10.134+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.a.AnnotationConfigApplicationContext","rest":"Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2e5c7f0b: startup date [Wed Jan 18 01:20:10 CST 2017]; root of context hierarchy"} -{"@timestamp":"2017-01-17T17:20:10.429+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker","rest":"Bean 'configurationPropertiesRebinderAutoConfiguration' of type [class org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$494ebb66] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)"} -{"@timestamp":"2017-01-17T17:20:10.882+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"c.i.cloud.study.ProviderUserApplication","rest":"No active profile set, falling back to default profiles: default"} -{"@timestamp":"2017-01-17T17:20:10.897+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext","rest":"Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2764c546: startup date [Wed Jan 18 01:20:10 CST 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2e5c7f0b"} -{"@timestamp":"2017-01-17T17:20:11.849+00:00","severity":"WARN","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.a.ConfigurationClassPostProcessor","rest":"Cannot enhance @Configuration bean definition 'refreshScope' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'."} -{"@timestamp":"2017-01-17T17:20:12.001+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.cloud.context.scope.GenericScope","rest":"BeanFactory id=e493827f-71cb-3da7-bb15-a24fc6868f24"} -{"@timestamp":"2017-01-17T17:20:12.110+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker","rest":"Bean 'org.springframework.cloud.sleuth.instrument.async.AsyncDefaultAutoConfiguration$DefaultAsyncConfigurerSupport' of type [class org.springframework.cloud.sleuth.instrument.async.AsyncDefaultAutoConfiguration$DefaultAsyncConfigurerSupport$$EnhancerBySpringCGLIB$$6a76562c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)"} -{"@timestamp":"2017-01-17T17:20:12.188+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker","rest":"Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [class org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$2d34b869] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)"} -{"@timestamp":"2017-01-17T17:20:12.440+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker","rest":"Bean 'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration' of type [class org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$494ebb66] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)"} -{"@timestamp":"2017-01-17T17:20:12.892+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.c.e.t.TomcatEmbeddedServletContainer","rest":"Tomcat initialized with port(s): 8000 (http)"} -{"@timestamp":"2017-01-17T17:20:12.908+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.apache.catalina.core.StandardService","rest":"Starting service Tomcat"} -{"@timestamp":"2017-01-17T17:20:12.908+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.apache.catalina.core.StandardEngine","rest":"Starting Servlet Engine: Apache Tomcat/8.5.6"} -{"@timestamp":"2017-01-17T17:20:13.100+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.a.c.c.C.[Tomcat].[localhost].[/]","rest":"Initializing Spring embedded WebApplicationContext"} -{"@timestamp":"2017-01-17T17:20:13.100+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.web.context.ContextLoader","rest":"Root WebApplicationContext: initialization completed in 2203 ms"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'metricsFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'characterEncodingFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.c.embedded.FilterRegistrationBean","rest":"Mapping filter: 'traceFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'hiddenHttpMethodFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'httpPutFormContentFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'requestContextFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'webRequestLoggingFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.web.servlet.FilterRegistrationBean","rest":"Mapping filter: 'applicationContextIdFilter' to: [/*]"} -{"@timestamp":"2017-01-17T17:20:13.801+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.b.w.servlet.ServletRegistrationBean","rest":"Mapping servlet: 'dispatcherServlet' to [/]"} -{"@timestamp":"2017-01-17T17:20:13.817+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Initializing filter 'traceFilter'"} -{"@timestamp":"2017-01-17T17:20:13.817+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"localhost-startStop-1","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Filter 'traceFilter' configured successfully"} -{"@timestamp":"2017-01-17T17:20:14.175+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.jdbc.datasource.init.ScriptUtils","rest":"Executing SQL script from class path resource [schema.sql]"} -{"@timestamp":"2017-01-17T17:20:14.191+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.jdbc.datasource.init.ScriptUtils","rest":"Executed SQL script from class path resource [schema.sql] in 16 ms."} -{"@timestamp":"2017-01-17T17:20:14.208+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.jdbc.datasource.init.ScriptUtils","rest":"Executing SQL script from class path resource [data.sql]"} -{"@timestamp":"2017-01-17T17:20:14.212+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.jdbc.datasource.init.ScriptUtils","rest":"Executed SQL script from class path resource [data.sql] in 4 ms."} -{"@timestamp":"2017-01-17T17:20:14.306+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.o.j.LocalContainerEntityManagerFactoryBean","rest":"Building JPA container EntityManagerFactory for persistence unit 'default'"} -{"@timestamp":"2017-01-17T17:20:14.322+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.hibernate.jpa.internal.util.LogHelper","rest":"HHH000204: Processing PersistenceUnitInfo [\n\tname: default\n\t...]"} -{"@timestamp":"2017-01-17T17:20:14.384+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.hibernate.Version","rest":"HHH000412: Hibernate Core {5.0.11.Final}"} -{"@timestamp":"2017-01-17T17:20:14.384+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.hibernate.cfg.Environment","rest":"HHH000206: hibernate.properties not found"} -{"@timestamp":"2017-01-17T17:20:14.400+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.hibernate.cfg.Environment","rest":"HHH000021: Bytecode provider name : javassist"} -{"@timestamp":"2017-01-17T17:20:14.432+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.hibernate.annotations.common.Version","rest":"HCANN000001: Hibernate Commons Annotations {5.0.1.Final}"} -{"@timestamp":"2017-01-17T17:20:14.541+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"org.hibernate.dialect.Dialect","rest":"HHH000400: Using dialect: org.hibernate.dialect.H2Dialect"} -{"@timestamp":"2017-01-17T17:20:14.962+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.o.j.LocalContainerEntityManagerFactoryBean","rest":"Initialized JPA EntityManagerFactory for persistence unit 'default'"} -{"@timestamp":"2017-01-17T17:20:16.242+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.m.m.a.RequestMappingHandlerAdapter","rest":"Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2764c546: startup date [Wed Jan 18 01:20:10 CST 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2e5c7f0b"} -{"@timestamp":"2017-01-17T17:20:16.395+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.m.m.a.RequestMappingHandlerMapping","rest":"Mapped \"{[/{id}],methods=[GET]}\" onto public com.itmuch.cloud.study.entity.User com.itmuch.cloud.study.controller.UserController.findById(java.lang.Long)"} -{"@timestamp":"2017-01-17T17:20:16.395+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.m.m.a.RequestMappingHandlerMapping","rest":"Mapped \"{[/error]}\" onto public org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)"} -{"@timestamp":"2017-01-17T17:20:16.395+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.m.m.a.RequestMappingHandlerMapping","rest":"Mapped \"{[/error],produces=[text/html]}\" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"} -{"@timestamp":"2017-01-17T17:20:16.504+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.handler.SimpleUrlHandlerMapping","rest":"Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]"} -{"@timestamp":"2017-01-17T17:20:16.504+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.handler.SimpleUrlHandlerMapping","rest":"Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]"} -{"@timestamp":"2017-01-17T17:20:16.582+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.w.s.handler.SimpleUrlHandlerMapping","rest":"Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/heapdump || /heapdump.json],methods=[GET],produces=[application/octet-stream]}\" onto public void org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint.invoke(boolean,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException,javax.servlet.ServletException"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/health || /health.json],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(java.security.Principal)"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/resume || /resume.json],methods=[POST]}\" onto public java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/info || /info.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/refresh || /refresh.json],methods=[POST]}\" onto public java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/dump || /dump.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/configprops || /configprops.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/restart || /restart.json],methods=[POST]}\" onto public java.lang.Object org.springframework.cloud.context.restart.RestartMvcEndpoint.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/env],methods=[POST]}\" onto public java.lang.Object org.springframework.cloud.context.environment.EnvironmentManagerMvcEndpoint.value(java.util.Map)"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/env/reset],methods=[POST]}\" onto public java.util.Map org.springframework.cloud.context.environment.EnvironmentManagerMvcEndpoint.reset()"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/metrics/{name:.*}],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)"} -{"@timestamp":"2017-01-17T17:20:17.455+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/metrics || /metrics.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/autoconfig || /autoconfig.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/trace || /trace.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/env/{name:.*}],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/env || /env.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/pause || /pause.json],methods=[POST]}\" onto public java.lang.Object org.springframework.cloud.endpoint.GenericPostableMvcEndpoint.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/mappings || /mappings.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.a.e.mvc.EndpointHandlerMapping","rest":"Mapped \"{[/beans || /beans.json],methods=[GET],produces=[application/json]}\" onto public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"} -{"@timestamp":"2017-01-17T17:20:17.878+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.s.concurrent.ThreadPoolTaskScheduler","rest":"Initializing ExecutorService "} -{"@timestamp":"2017-01-17T17:20:18.142+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Registering beans for JMX exposure on startup"} -{"@timestamp":"2017-01-17T17:20:18.157+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Bean with name 'configurationPropertiesRebinder' has been autodetected for JMX exposure"} -{"@timestamp":"2017-01-17T17:20:18.157+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Bean with name 'refreshEndpoint' has been autodetected for JMX exposure"} -{"@timestamp":"2017-01-17T17:20:18.157+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Bean with name 'restartEndpoint' has been autodetected for JMX exposure"} -{"@timestamp":"2017-01-17T17:20:18.157+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Bean with name 'refreshScope' has been autodetected for JMX exposure"} -{"@timestamp":"2017-01-17T17:20:18.157+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Bean with name 'environmentManager' has been autodetected for JMX exposure"} -{"@timestamp":"2017-01-17T17:20:18.157+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Located managed bean 'environmentManager': registering with JMX server as MBean [org.springframework.cloud.context.environment:name=environmentManager,type=EnvironmentManager]"} -{"@timestamp":"2017-01-17T17:20:18.173+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Located managed bean 'restartEndpoint': registering with JMX server as MBean [org.springframework.cloud.context.restart:name=restartEndpoint,type=RestartEndpoint]"} -{"@timestamp":"2017-01-17T17:20:18.173+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Located managed bean 'refreshScope': registering with JMX server as MBean [org.springframework.cloud.context.scope.refresh:name=refreshScope,type=RefreshScope]"} -{"@timestamp":"2017-01-17T17:20:18.188+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Located managed bean 'configurationPropertiesRebinder': registering with JMX server as MBean [org.springframework.cloud.context.properties:name=configurationPropertiesRebinder,context=2764c546,type=ConfigurationPropertiesRebinder]"} -{"@timestamp":"2017-01-17T17:20:18.188+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Located managed bean 'refreshEndpoint': registering with JMX server as MBean [org.springframework.cloud.endpoint:name=refreshEndpoint,type=RefreshEndpoint]"} -{"@timestamp":"2017-01-17T17:20:18.344+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.c.support.DefaultLifecycleProcessor","rest":"Starting beans in phase 0"} -{"@timestamp":"2017-01-17T17:20:18.438+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"o.s.b.c.e.t.TomcatEmbeddedServletContainer","rest":"Tomcat started on port(s): 8000 (http)"} -{"@timestamp":"2017-01-17T17:20:18.438+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"main","class":"c.i.cloud.study.ProviderUserApplication","rest":"Started ProviderUserApplication in 9.194 seconds (JVM running for 9.956)"} -{"@timestamp":"2017-01-18T01:33:19.033+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.apache.tomcat.util.http.parser.Cookie","rest":"A cookie header was received [1483670041; last-serviceName=microservice-consumer-movie] that contained an invalid cookie. That cookie will be ignored.Note: further occurrences of this error will be logged at DEBUG level."} -{"@timestamp":"2017-01-18T01:33:19.108+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.a.c.c.C.[Tomcat].[localhost].[/]","rest":"Initializing Spring FrameworkServlet 'dispatcherServlet'"} -{"@timestamp":"2017-01-18T01:33:19.109+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.web.servlet.DispatcherServlet","rest":"FrameworkServlet 'dispatcherServlet': initialization started"} -{"@timestamp":"2017-01-18T01:33:19.147+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.web.servlet.DispatcherServlet","rest":"FrameworkServlet 'dispatcherServlet': initialization completed in 38 ms"} -{"@timestamp":"2017-01-18T01:33:19.216+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/1] that should not be sampled [false]"} -{"@timestamp":"2017-01-18T01:33:19.221+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"569ef734f31c63fb","span":"569ef734f31c63fb","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:33:19.346+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"569ef734f31c63fb","span":"a9dd8a47c1b55b2e","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Created new span [Trace: 569ef734f31c63fb, Span: a9dd8a47c1b55b2e, Parent: 569ef734f31c63fb, exportable:false] with name [find-by-id]"} -{"@timestamp":"2017-01-18T01:33:19.347+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"569ef734f31c63fb","span":"a9dd8a47c1b55b2e","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a method tag with value [findById] to a span [Trace: 569ef734f31c63fb, Span: a9dd8a47c1b55b2e, Parent: 569ef734f31c63fb, exportable:false]"} -{"@timestamp":"2017-01-18T01:33:19.347+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"569ef734f31c63fb","span":"a9dd8a47c1b55b2e","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a class tag with value [UserController] to a span [Trace: 569ef734f31c63fb, Span: a9dd8a47c1b55b2e, Parent: 569ef734f31c63fb, exportable:false]"} -{"@timestamp":"2017-01-18T01:33:20.049+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"569ef734f31c63fb","span":"a9dd8a47c1b55b2e","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Closing span [Trace: 569ef734f31c63fb, Span: a9dd8a47c1b55b2e, Parent: 569ef734f31c63fb, exportable:false]"} -{"@timestamp":"2017-01-18T01:33:20.076+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"569ef734f31c63fb","span":"569ef734f31c63fb","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-1","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 569ef734f31c63fb, Span: 569ef734f31c63fb, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:34:11.495+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/1] that should not be sampled [false]"} -{"@timestamp":"2017-01-18T01:34:11.496+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"3661334aea43b55f","span":"3661334aea43b55f","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:34:11.499+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"3661334aea43b55f","span":"ff9d5012f0d162be","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Created new span [Trace: 3661334aea43b55f, Span: ff9d5012f0d162be, Parent: 3661334aea43b55f, exportable:false] with name [find-by-id]"} -{"@timestamp":"2017-01-18T01:34:11.500+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"3661334aea43b55f","span":"ff9d5012f0d162be","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a method tag with value [findById] to a span [Trace: 3661334aea43b55f, Span: ff9d5012f0d162be, Parent: 3661334aea43b55f, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.500+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"3661334aea43b55f","span":"ff9d5012f0d162be","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a class tag with value [UserController] to a span [Trace: 3661334aea43b55f, Span: ff9d5012f0d162be, Parent: 3661334aea43b55f, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.503+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"3661334aea43b55f","span":"ff9d5012f0d162be","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Closing span [Trace: 3661334aea43b55f, Span: ff9d5012f0d162be, Parent: 3661334aea43b55f, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.504+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"3661334aea43b55f","span":"3661334aea43b55f","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-3","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 3661334aea43b55f, Span: 3661334aea43b55f, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:34:11.551+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-4","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/favicon.ico] that should not be sampled [true]"} -{"@timestamp":"2017-01-18T01:34:11.551+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"8f9def4778d827a0","span":"8f9def4778d827a0","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-4","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:34:11.615+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/1] that should not be sampled [false]"} -{"@timestamp":"2017-01-18T01:34:11.615+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"746b41c75726d906","span":"746b41c75726d906","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:34:11.620+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"746b41c75726d906","span":"022d3a0766c0486d","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Created new span [Trace: 746b41c75726d906, Span: 022d3a0766c0486d, Parent: 746b41c75726d906, exportable:false] with name [find-by-id]"} -{"@timestamp":"2017-01-18T01:34:11.620+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"746b41c75726d906","span":"022d3a0766c0486d","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a method tag with value [findById] to a span [Trace: 746b41c75726d906, Span: 022d3a0766c0486d, Parent: 746b41c75726d906, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.620+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"746b41c75726d906","span":"022d3a0766c0486d","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a class tag with value [UserController] to a span [Trace: 746b41c75726d906, Span: 022d3a0766c0486d, Parent: 746b41c75726d906, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.622+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"746b41c75726d906","span":"022d3a0766c0486d","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Closing span [Trace: 746b41c75726d906, Span: 022d3a0766c0486d, Parent: 746b41c75726d906, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.622+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"746b41c75726d906","span":"746b41c75726d906","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-5","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 746b41c75726d906, Span: 746b41c75726d906, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:34:11.694+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-6","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/favicon.ico] that should not be sampled [true]"} -{"@timestamp":"2017-01-18T01:34:11.694+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"49cd96efc95c41e0","span":"49cd96efc95c41e0","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-6","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:34:11.727+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"8f9def4778d827a0","span":"8f9def4778d827a0","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-4","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 8f9def4778d827a0, Span: 8f9def4778d827a0, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:34:11.727+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"49cd96efc95c41e0","span":"49cd96efc95c41e0","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-6","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 49cd96efc95c41e0, Span: 49cd96efc95c41e0, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:34:11.774+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/1] that should not be sampled [false]"} -{"@timestamp":"2017-01-18T01:34:11.774+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"5e71f8692e1cb415","span":"5e71f8692e1cb415","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:34:11.779+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"5e71f8692e1cb415","span":"5ea495dfc98a5d31","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Created new span [Trace: 5e71f8692e1cb415, Span: 5ea495dfc98a5d31, Parent: 5e71f8692e1cb415, exportable:false] with name [find-by-id]"} -{"@timestamp":"2017-01-18T01:34:11.779+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"5e71f8692e1cb415","span":"5ea495dfc98a5d31","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a method tag with value [findById] to a span [Trace: 5e71f8692e1cb415, Span: 5ea495dfc98a5d31, Parent: 5e71f8692e1cb415, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.779+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"5e71f8692e1cb415","span":"5ea495dfc98a5d31","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Adding a class tag with value [UserController] to a span [Trace: 5e71f8692e1cb415, Span: 5ea495dfc98a5d31, Parent: 5e71f8692e1cb415, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.782+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"5e71f8692e1cb415","span":"5ea495dfc98a5d31","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.s.i.web.TraceHandlerInterceptor","rest":"Closing span [Trace: 5e71f8692e1cb415, Span: 5ea495dfc98a5d31, Parent: 5e71f8692e1cb415, exportable:false]"} -{"@timestamp":"2017-01-18T01:34:11.782+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"5e71f8692e1cb415","span":"5e71f8692e1cb415","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-7","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 5e71f8692e1cb415, Span: 5e71f8692e1cb415, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:34:11.825+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"http-nio-8000-exec-8","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Received a request to uri [/favicon.ico] that should not be sampled [true]"} -{"@timestamp":"2017-01-18T01:34:11.826+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"4a03f8ca777230a1","span":"4a03f8ca777230a1","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-8","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"No parent span present - creating a new span"} -{"@timestamp":"2017-01-18T01:34:11.828+00:00","severity":"DEBUG","service":"microservice-provider-user","trace":"4a03f8ca777230a1","span":"4a03f8ca777230a1","parent":"","exportable":"false","pid":"12104","thread":"http-nio-8000-exec-8","class":"o.s.c.sleuth.instrument.web.TraceFilter","rest":"Closing the span [Trace: 4a03f8ca777230a1, Span: 4a03f8ca777230a1, Parent: null, exportable:false] since the response was successful"} -{"@timestamp":"2017-01-18T01:38:26.440+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(5)-169.254.159.28","class":"o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin","rest":"Application shutdown requested."} -{"@timestamp":"2017-01-18T01:38:26.440+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(2)-169.254.159.28","class":"o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin","rest":"Application shutdown requested."} -{"@timestamp":"2017-01-18T01:38:26.440+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(6)-169.254.159.28","class":"o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin","rest":"Application shutdown requested."} -{"@timestamp":"2017-01-18T01:38:26.440+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(4)-169.254.159.28","class":"o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin","rest":"Application shutdown requested."} -{"@timestamp":"2017-01-18T01:38:26.441+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(5)-169.254.159.28","class":"o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext","rest":"Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2764c546: startup date [Wed Jan 18 01:20:10 CST 2017]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@2e5c7f0b"} -{"@timestamp":"2017-01-18T01:38:26.440+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(7)-169.254.159.28","class":"o.s.b.a.SpringApplicationAdminMXBeanRegistrar$SpringApplicationAdmin","rest":"Application shutdown requested."} -{"@timestamp":"2017-01-18T01:38:26.466+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(5)-169.254.159.28","class":"o.s.c.support.DefaultLifecycleProcessor","rest":"Stopping beans in phase 0"} -{"@timestamp":"2017-01-18T01:38:26.471+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(5)-169.254.159.28","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Unregistering JMX-exposed beans on shutdown"} -{"@timestamp":"2017-01-18T01:38:26.472+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(5)-169.254.159.28","class":"o.s.j.e.a.AnnotationMBeanExporter","rest":"Unregistering JMX-exposed beans"} -{"@timestamp":"2017-01-18T01:38:26.475+00:00","severity":"INFO","service":"microservice-provider-user","trace":"","span":"","parent":"","exportable":"","pid":"12104","thread":"RMI TCP Connection(5)-169.254.159.28","class":"o.s.o.j.LocalContainerEntityManagerFactoryBean","rest":"Closing JPA EntityManagerFactory for persistence unit 'default'"} diff --git a/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml b/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml index 0e2af01..d298abe 100644 --- a/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml +++ b/trace/microservice-trace-zipkin-server-stream-elasticsearch/pom.xml @@ -21,21 +21,25 @@ - org.springframework.cloud - spring-cloud-sleuth-zipkin-stream + io.zipkin.java + zipkin-autoconfigure-ui io.zipkin.java - zipkin-autoconfigure-ui + zipkin-server + - org.springframework.cloud - spring-cloud-stream-binder-rabbit + io.zipkin.java + zipkin-autoconfigure-collector-rabbitmq + 2.3.1 + + io.zipkin.java zipkin-autoconfigure-storage-elasticsearch-http - 1.16.2 + 2.3.1 diff --git a/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java b/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java index 5198c68..c35edd3 100644 --- a/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java +++ b/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/java/com/itmuch/cloud/study/ZipkinServerApplication.java @@ -2,10 +2,10 @@ package com.itmuch.cloud.study; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.sleuth.zipkin.stream.EnableZipkinStreamServer; +import zipkin.server.EnableZipkinServer; @SpringBootApplication -@EnableZipkinStreamServer +@EnableZipkinServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); diff --git a/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/resources/application.yml b/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/resources/application.yml index 1e13cf9..ba076a5 100644 --- a/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/resources/application.yml +++ b/trace/microservice-trace-zipkin-server-stream-elasticsearch/src/main/resources/application.yml @@ -1,12 +1,12 @@ server: port: 9411 -spring: - rabbitmq: - host: localhost - port: 5672 - username: guest - password: guest zipkin: + collector: + rabbitmq: + addresses: localhost:5672 + password: guest + username: guest + queue: zipkin storage: type: elasticsearch elasticsearch: diff --git a/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml b/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml index 505af2d..69d06bb 100644 --- a/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml +++ b/trace/microservice-trace-zipkin-server-stream/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 9488 + port: 9411 zipkin: collector: rabbitmq: -- Gitee From 1b4ca8daec2b0f18742c4dfb31b55833a3e30b14 Mon Sep 17 00:00:00 2001 From: itmuch Date: Fri, 29 Dec 2017 18:29:56 +0800 Subject: [PATCH 22/25] =?UTF-8?q?eureka=20ha=20=E7=AE=80=E5=86=99=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-easy.yml | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 microservice-discovery-eureka-ha/src/main/resources/application-easy.yml diff --git a/microservice-discovery-eureka-ha/src/main/resources/application-easy.yml b/microservice-discovery-eureka-ha/src/main/resources/application-easy.yml new file mode 100644 index 0000000..586b008 --- /dev/null +++ b/microservice-discovery-eureka-ha/src/main/resources/application-easy.yml @@ -0,0 +1,23 @@ +spring: + application: + name: microservice-discovery-eureka-ha +eureka: + client: + serviceUrl: + defaultZone: http://peer2:8762/eureka/,http://peer1:8761/eureka/ +--- +spring: + profiles: peer1 +server: + port: 8761 +eureka: + instance: + hostname: peer1 +--- +spring: + profiles: peer2 +server: + port: 8762 +eureka: + instance: + hostname: peer2 \ No newline at end of file -- Gitee From 9dd6673c09c4668f3bab99b67a9e8343a04b59c2 Mon Sep 17 00:00:00 2001 From: itmuch Date: Fri, 29 Dec 2017 20:29:21 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/study/filters/pre/PreRequestLogFilter.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/microservice-gateway-zuul-filter/src/main/java/com/itmuch/cloud/study/filters/pre/PreRequestLogFilter.java b/microservice-gateway-zuul-filter/src/main/java/com/itmuch/cloud/study/filters/pre/PreRequestLogFilter.java index e0bc3d4..4c8c633 100644 --- a/microservice-gateway-zuul-filter/src/main/java/com/itmuch/cloud/study/filters/pre/PreRequestLogFilter.java +++ b/microservice-gateway-zuul-filter/src/main/java/com/itmuch/cloud/study/filters/pre/PreRequestLogFilter.java @@ -1,24 +1,24 @@ package com.itmuch.cloud.study.filters.pre; -import javax.servlet.http.HttpServletRequest; - +import com.netflix.zuul.ZuulFilter; +import com.netflix.zuul.context.RequestContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants; -import com.netflix.zuul.ZuulFilter; -import com.netflix.zuul.context.RequestContext; +import javax.servlet.http.HttpServletRequest; public class PreRequestLogFilter extends ZuulFilter { private static final Logger LOGGER = LoggerFactory.getLogger(PreRequestLogFilter.class); @Override public String filterType() { - return "pre"; + return FilterConstants.PRE_TYPE; } @Override public int filterOrder() { - return 1; + return FilterConstants.PRE_DECORATION_FILTER_ORDER - 1; } @Override -- Gitee From 311aab3b76360b99afa9352065282d38bf191ef8 Mon Sep 17 00:00:00 2001 From: itmuch Date: Wed, 28 Mar 2018 09:34:11 +0800 Subject: [PATCH 24/25] =?UTF-8?q?=E6=9B=B4=E6=96=B0QQ=E7=BE=A4=E3=80=81?= =?UTF-8?q?=E6=96=B0=E5=BB=BAEdgware=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aac6bc5..b1a484a 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ ## 交流 -* QQ群:157525002(2000人群,已满)、**564840207(2000人群,欢迎加入)** +* QQ群:731548893,欢迎加入 * 个人博客:[http://www.itmuch.com](http://www.itmuch.com) * Spring For All 社区: * 微信公众号:往下翻 ^_^ -- Gitee From fa2148a0710cad12bc35f0d9cb2bb51b2b58a11c Mon Sep 17 00:00:00 2001 From: itmuch Date: Sat, 9 Jun 2018 12:22:05 +0800 Subject: [PATCH 25/25] README --- README.md | 43 +++++------------- ...5\344\271\246\351\223\276\346\216\245.jpg" | Bin 155135 -> 0 bytes ad/catalog.doc | Bin 85213 -> 0 bytes ad/catalog.png | Bin 760794 -> 0 bytes ...5\344\271\246\351\223\276\346\216\245.png" | Bin 146455 -> 0 bytes 5 files changed, 11 insertions(+), 32 deletions(-) delete mode 100644 "ad/amz-\350\264\255\344\271\246\351\223\276\346\216\245.jpg" delete mode 100644 ad/catalog.doc delete mode 100644 ad/catalog.png delete mode 100644 "ad/jd-\350\264\255\344\271\246\351\223\276\346\216\245.png" diff --git a/README.md b/README.md index b1a484a..5793ca9 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,25 @@ -# 《Spring Cloud与Docker微服务架构实战》1-11章配套代码 +# 《Spring Cloud与Docker微服务架构实战 第二版》1-11章配套代码 -* 本Repo是《Spring Cloud与Docker微服务架构实战》的配套代码 +* 本仓库是《Spring Cloud与Docker微服务架构实战 **第二版**》的配套代码,第一套的源码请看Camden分支。 * 包含60+个DEMO -* 覆盖的项目有Eureka、Ribbon、Feign、Hystrix、Zuul、Spring Cloud Config、Spring Cloud Bus、Spring Cloud Sleuth等,**其中,Sleuth一章的配套代码详见trace目录。其他代码都在根目录** +* 覆盖了 + * Eureka + * Ribbon + * Feign + * Hystrix + * Zuul + * Spring Cloud Config + * Spring Cloud Bus + * Spring Cloud Sleuth等学习示例,**其中,Sleuth一章的配套代码详见trace目录。其他代码都在根目录** * 12-14章配套代码详见: - - - -## 购书链接 - -* 京东购书链接 - - ![](ad/jd-购书链接.png) - - - - - - - ## 交流 * QQ群:731548893,欢迎加入 * 个人博客:[http://www.itmuch.com](http://www.itmuch.com) * Spring For All 社区: -* 微信公众号:往下翻 ^_^ **敬请关注!!** - - - - - - -## 目录 - -* Word版本:[目录下载](ad/catalog.doc) - -* 图片版本 - -![](ad/catalog.png) diff --git "a/ad/amz-\350\264\255\344\271\246\351\223\276\346\216\245.jpg" "b/ad/amz-\350\264\255\344\271\246\351\223\276\346\216\245.jpg" deleted file mode 100644 index 5dd3dfcdcdc7b7f7a110f2783daa6b7ce53c8bf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155135 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 Jcl+L~e*&8+7QFxf diff --git a/ad/catalog.png b/ad/catalog.png deleted file mode 100644 index 779a73557b70cd8d1c935730e32f8608aa4cd58b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 760794 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