Repository: forezp/SpringCloudLearning Branch: master Commit: 740106e00636 Files: 4491 Total size: 5.8 MB Directory structure: gitextract_mte8q4a9/ ├── README.md ├── chapter-sleuth/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── gateway-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── GatewayServiceApplication.java │ │ │ │ └── filter/ │ │ │ │ └── LoggerFilter.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── GatewayServiceApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── user-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── UserServiceApplication.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── UserServiceApplicationTests.java │ └── zipkin-server/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ZipkinServerApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ZipkinServerApplicationTests.java ├── chapter-sleuth-mysql/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── gateway-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── GatewayServiceApplication.java │ │ │ │ └── filter/ │ │ │ │ └── LoggerFilter.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── GatewayServiceApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── user-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── UserServiceApplication.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── UserServiceApplicationTests.java │ └── zipkin-server/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ZipkinServerApplication.java │ │ └── resources/ │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ZipkinServerApplicationTests.java ├── chapter-sleuth-stream/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── gateway-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── GatewayServiceApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── GatewayServiceApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── user-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── UserServiceApplication.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── UserServiceApplicationTests.java │ └── zipkin-server/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ZipkinServerApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ZipkinServerApplicationTests.java ├── chapter-sleuth-stream-elasticsearch/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── gateway-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── GatewayServiceApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── GatewayServiceApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── user-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── UserServiceApplication.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── UserServiceApplicationTests.java │ └── zipkin-server/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ZipkinServerApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ZipkinServerApplicationTests.java ├── chapter-sleuth-stream-mysql/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── gateway-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── GatewayServiceApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── GatewayServiceApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── user-service/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── UserServiceApplication.java │ │ │ │ └── web/ │ │ │ │ └── UserController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── UserServiceApplicationTests.java │ └── zipkin-server/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ZipkinServerApplication.java │ │ └── resources/ │ │ ├── application.yml │ │ └── spring-cloud-zipkin.sql │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ZipkinServerApplicationTests.java ├── chapter1/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceHiApplicationTests.java ├── chapter10/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ ├── application-peer1.yml │ │ │ └── application-peer2.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceHiApplicationTests.java ├── chapter10-5-jdbc/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── inspectionProfiles/ │ │ │ └── Project_Default.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_4_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_1_1_6.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_54.xml │ │ │ ├── Maven__com_jcraft_jzlib_1_1_1.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__com_zaxxer_HikariCP_3_2_0.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_11.xml │ │ │ ├── Maven__io_micrometer_micrometer_core_1_1_0.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__mysql_mysql_connector_java_8_0_13.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_9_3.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_9_3.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_6.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_10.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_12.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_12.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_12.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_11_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_5_1_3_201810200350_r.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_http_apache_5_1_3_201810200350_r.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_23_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_2_1_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_1_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jdbc_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_tx_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_6_2.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_23.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── vcs.xml │ │ └── workspace.xml │ ├── chapter10.iml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigClientApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigClientApplicationTests.java │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ ├── pom.xml │ └── 总结.txt ├── chapter11/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── docker-compose-dev.yml │ ├── docker-compose.yml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── docker/ │ │ │ │ └── Dockerfile │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── docker/ │ │ │ └── Dockerfile │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceHiApplicationTests.java ├── chapter11-2/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── docker-compose-dev.yml │ ├── docker-compose.yml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── Dockerfile │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceHiApplicationTests.java ├── chapter12/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_webjars_d3js_3_4_11.xml │ │ │ ├── Maven__org_webjars_jquery_2_1_1.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── bootstrap.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceHiApplicationTests.java ├── chapter13/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_2.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_2.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_netflix_turbine_turbine_core_1_0_0.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_io_commons_io_2_4.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jackson_jackson_core_asl_1_9_2.xml │ │ │ ├── Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_2.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_dashboard_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_turbine_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_dashboard_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_turbine_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_webjars_d3js_3_4_11.xml │ │ │ ├── Maven__org_webjars_jquery_2_1_1.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ ├── service-lucy/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceLucyApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceLucyApplicationTests.java │ └── service-turbine/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceTurbineApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceTurbineApplicationTests.java ├── chapter14/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_ecwid_consul_consul_api_1_2_1.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_consul_core_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_consul_discovery_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_consul_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_consul_discovery_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_17.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter14.iml │ ├── consul-miya/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConsulMiyaApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConsulMiyaApplicationTests.java │ └── pom.xml ├── chapter2/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── maven_wrapper.xml │ │ │ ├── maven_wrapper1.xml │ │ │ └── maven_wrapper2.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ └── service-ribbon/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ ├── ServiceRibbonApplication.java │ │ │ ├── service/ │ │ │ │ └── HelloService.java │ │ │ └── web/ │ │ │ └── HelloControler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceRibbonApplicationTests.java ├── chapter3/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_github_openfeign_feign_core_9_4_0.xml │ │ │ ├── Maven__io_github_openfeign_feign_hystrix_9_4_0.xml │ │ │ ├── Maven__io_github_openfeign_feign_slf4j_9_4_0.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_jvnet_animal_sniffer_annotation_1_0.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_feign_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── uiDesigner.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ ├── service-feign/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── ServiceFeignApplication.java │ │ │ │ ├── service/ │ │ │ │ │ └── SchedualServiceHi.java │ │ │ │ └── web/ │ │ │ │ └── HiController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceFeignApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ └── service-ribbon/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ ├── ServiceRibbonApplication.java │ │ │ ├── service/ │ │ │ │ └── HelloService.java │ │ │ └── web/ │ │ │ └── HelloControler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceRibbonApplicationTests.java ├── chapter4/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_github_openfeign_feign_core_9_4_0.xml │ │ │ ├── Maven__io_github_openfeign_feign_hystrix_9_4_0.xml │ │ │ ├── Maven__io_github_openfeign_feign_slf4j_9_4_0.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_jvnet_animal_sniffer_annotation_1_0.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_feign_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_webjars_d3js_3_4_11.xml │ │ │ ├── Maven__org_webjars_jquery_2_1_1.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── uiDesigner.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ ├── service-feign/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── ServiceFeignApplication.java │ │ │ │ ├── service/ │ │ │ │ │ ├── SchedualServiceHi.java │ │ │ │ │ └── SchedualServiceHiHystric.java │ │ │ │ └── web/ │ │ │ │ └── HiController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceFeignApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ └── service-ribbon/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ ├── ServiceRibbonApplication.java │ │ │ ├── service/ │ │ │ │ └── HelloService.java │ │ │ └── web/ │ │ │ └── HelloControler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceRibbonApplicationTests.java ├── chapter5/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_10.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_netflix_zuul_zuul_core_1_3_0.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_io_commons_io_2_4.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_github_openfeign_feign_core_9_4_0.xml │ │ │ ├── Maven__io_github_openfeign_feign_hystrix_9_4_0.xml │ │ │ ├── Maven__io_github_openfeign_feign_slf4j_9_4_0.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_jvnet_animal_sniffer_annotation_1_0.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_feign_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_hystrix_dashboard_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_zuul_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_webjars_d3js_3_4_11.xml │ │ │ ├── Maven__org_webjars_jquery_2_1_1.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── uiDesigner.xml │ │ └── workspace.xml │ ├── chapter1.iml │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ ├── pom.xml │ ├── service-feign/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── ServiceFeignApplication.java │ │ │ │ ├── service/ │ │ │ │ │ ├── SchedualServiceHi.java │ │ │ │ │ └── SchedualServiceHiHystric.java │ │ │ │ └── web/ │ │ │ │ └── HiController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceFeignApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ ├── service-ribbon/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── ServiceRibbonApplication.java │ │ │ │ ├── service/ │ │ │ │ │ └── HelloService.java │ │ │ │ └── web/ │ │ │ │ └── HelloControler.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceRibbonApplicationTests.java │ └── service-zuul/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ ├── MyFilter.java │ │ │ └── ServiceZuulApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceZuulApplicationTests.java ├── chapter6/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_0.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_0_7_9.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_50.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_4_12.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_4_12.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_6.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_0.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_3_5_3_201412180710_r.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_1_2_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_1_2_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter6.iml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigClientApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigClientApplicationTests.java │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ └── pom.xml ├── chapter7/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_0_7_9.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_50.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_4_12.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_4_12.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_6.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_3_5_3_201412180710_r.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_1_2_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_1_2_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter6.iml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigClientApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigClientApplicationTests.java │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ └── pom.xml ├── chapter8/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_esotericsoftware_kryo_shaded_3_0_3.xml │ │ │ ├── Maven__com_esotericsoftware_minlog_1_3_0.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_0.xml │ │ │ ├── Maven__com_google_guava_guava_18_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_grapher_4_0.xml │ │ │ ├── Maven__com_google_inject_extensions_guice_multibindings_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_0_7_9.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_50.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_4.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_4_12.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_6_1.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_4_12.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_6_1.xml │ │ │ ├── Maven__com_netflix_governator_governator_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_api_1_12_10.xml │ │ │ ├── Maven__com_netflix_governator_governator_core_1_12_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_6.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_0.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_10_1.xml │ │ │ ├── Maven__com_netflix_servo_servo_internal_0_10_1.xml │ │ │ ├── Maven__com_rabbitmq_amqp_client_4_0_2.xml │ │ │ ├── Maven__com_rabbitmq_http_client_1_1_1_RELEASE.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_9.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_10.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_0_27_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_1_10.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_7.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_6.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_3_5_3_201412180710_r.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_25_incubating.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_amqp_spring_amqp_1_7_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_amqp_spring_rabbit_1_7_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_amqp_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_validation_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_bus_1_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_bus_1_3_0_M1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_1_2_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_1_2_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_1_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_bus_amqp_1_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_bus_amqp_1_3_0_M1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_2_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_stream_rabbit_1_1_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_stream_rabbit_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_1_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_binder_rabbit_1_1_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_binder_rabbit_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_binder_rabbit_core_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_codec_1_1_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_codec_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_amqp_4_3_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_core_4_3_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_jmx_4_3_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_tuple_1_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_retry_spring_retry_1_2_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_messaging_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_tuple_1_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_tx_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_17.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter6.iml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigClientApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigClientApplicationTests.java │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ └── pom.xml ├── chapter9/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_1_11.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_1_11.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_2_0.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__io_zipkin_java_zipkin_1_19_2.xml │ │ │ ├── Maven__io_zipkin_java_zipkin_autoconfigure_ui_1_19_2.xml │ │ │ ├── Maven__io_zipkin_java_zipkin_server_1_19_2.xml │ │ │ ├── Maven__io_zipkin_java_zipkin_ui_1_19_2.xml │ │ │ ├── Maven__io_zipkin_reporter_zipkin_reporter_0_6_12.xml │ │ │ ├── Maven__javax_validation_validation_api_1_1_0_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_1.xml │ │ │ ├── Maven__net_minidev_json_smart_2_2_1.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml │ │ │ ├── Maven__org_aspectj_aspectjrt_1_8_9.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ │ │ ├── Maven__org_assertj_assertj_core_2_6_0.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_1_10_19.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_1.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_3.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_4_0.xml │ │ │ ├── Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_24.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_sleuth_core_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_sleuth_zipkin_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_sleuth_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_zipkin_1_2_0_RC1.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_4_3_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_17.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter9.iml │ ├── pom.xml │ ├── server-zipkin/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServerZipkinApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServerZipkinApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ └── service-miya/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceMiyaApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceMiyaApplicationTests.java ├── respo/ │ └── config-client-dev.properties ├── sc-2020-chapter1/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── consumer/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── consumer/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── client/ │ │ │ │ │ └── ProviderClient.java │ │ │ │ └── web/ │ │ │ │ └── ConsumerController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── consumer/ │ │ └── ConsumerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── provider/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── github/ │ │ │ └── forezp/ │ │ │ └── provider/ │ │ │ └── ProviderApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── io/ │ └── github/ │ └── forezp/ │ └── provider/ │ └── ProviderApplicationTests.java ├── sc-2020-chapter2/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── consumer/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── consumer/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── client/ │ │ │ │ │ └── ProviderClient.java │ │ │ │ └── web/ │ │ │ │ └── ConsumerController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── consumer/ │ │ └── ConsumerApplicationTests.java │ ├── gateway/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── gateway/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── gateway/ │ │ └── GatewayApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── provider/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── github/ │ │ │ └── forezp/ │ │ │ └── provider/ │ │ │ └── ProviderApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── io/ │ └── github/ │ └── forezp/ │ └── provider/ │ └── ProviderApplicationTests.java ├── sc-2020-chapter3/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── consumer/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── consumer/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── client/ │ │ │ │ │ └── ProviderClient.java │ │ │ │ └── web/ │ │ │ │ └── ConsumerController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── consumer/ │ │ └── ConsumerApplicationTests.java │ ├── gateway/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── gateway/ │ │ │ │ ├── GatewayApplication.java │ │ │ │ └── GatewayConfiguration.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── gateway/ │ │ └── GatewayApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── provider/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── github/ │ │ │ └── forezp/ │ │ │ └── provider/ │ │ │ └── ProviderApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── io/ │ └── github/ │ └── forezp/ │ └── provider/ │ └── ProviderApplicationTests.java ├── sc-2020-chapter4/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── consumer/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── consumer/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── client/ │ │ │ │ │ └── ProviderClient.java │ │ │ │ └── web/ │ │ │ │ └── ConsumerController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── consumer/ │ │ └── ConsumerApplicationTests.java │ ├── gateway/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── io/ │ │ │ │ └── github/ │ │ │ │ └── forezp/ │ │ │ │ └── gateway/ │ │ │ │ ├── GatewayApplication.java │ │ │ │ └── GatewayConfiguration.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── io/ │ │ └── github/ │ │ └── forezp/ │ │ └── gateway/ │ │ └── GatewayApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── provider/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── io/ │ │ │ └── github/ │ │ │ └── forezp/ │ │ │ └── provider/ │ │ │ └── ProviderApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── io/ │ └── github/ │ └── forezp/ │ └── provider/ │ └── ProviderApplicationTests.java ├── sc-f-boot-admin/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── admin-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── adminclient/ │ │ │ │ └── AdminClientApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── adminclient/ │ │ └── AdminClientApplicationTests.java │ ├── admin-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── adminserver/ │ │ │ │ └── AdminServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── adminserver/ │ │ └── AdminServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ └── pom.xml ├── sc-f-boot-admin-cloud/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── admin-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicehi/ │ │ │ │ └── AdminClientApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicehi/ │ │ └── ServiceHiApplicationTests.java │ ├── admin-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── adminserver/ │ │ │ │ ├── AdminServerApplication.java │ │ │ │ └── SecuritySecureConfig.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── adminserver/ │ │ └── AdminServerApplicationTests.java │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ └── pom.xml ├── sc-f-chapter1/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── servicehi/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── servicehi/ │ └── ServiceHiApplicationTests.java ├── sc-f-chapter10/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── servicehi/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── servicehi/ │ └── ServiceHiApplicationTests.java ├── sc-f-chapter12/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── servicehi/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── servicehi/ │ └── ServiceHiApplicationTests.java ├── sc-f-chapter13/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicehi/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicehi/ │ │ └── ServiceHiApplicationTests.java │ ├── service-lucy/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicelucy/ │ │ │ │ └── ServiceLucyApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicelucy/ │ │ └── ServiceLucyApplicationTests.java │ └── service-turbine/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── serviceturbine/ │ │ │ └── ServiceTurbineApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── serviceturbine/ │ └── ServiceTurbineApplicationTests.java ├── sc-f-chapter2/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicehi/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicehi/ │ │ └── ServiceHiApplicationTests.java │ └── service-ribbon/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── serviceribbon/ │ │ │ ├── ServiceRibbonApplication.java │ │ │ ├── service/ │ │ │ │ └── HelloService.java │ │ │ └── web/ │ │ │ └── HelloControler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── serviceribbon/ │ └── ServiceRibbonApplicationTests.java ├── sc-f-chapter3/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── service-feign/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicefeign/ │ │ │ │ ├── ServiceFeignApplication.java │ │ │ │ ├── clients/ │ │ │ │ │ └── SchedualServiceHi.java │ │ │ │ └── web/ │ │ │ │ └── HiController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicefeign/ │ │ └── ServiceFeignApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicehi/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicehi/ │ │ └── ServiceHiApplicationTests.java │ └── service-ribbon/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── serviceribbon/ │ │ │ ├── ServiceRibbonApplication.java │ │ │ ├── service/ │ │ │ │ └── HelloService.java │ │ │ └── web/ │ │ │ └── HelloControler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── serviceribbon/ │ └── ServiceRibbonApplicationTests.java ├── sc-f-chapter4/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── service-feign/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicefeign/ │ │ │ │ ├── ServiceFeignApplication.java │ │ │ │ ├── clients/ │ │ │ │ │ ├── SchedualServiceHi.java │ │ │ │ │ └── fallback/ │ │ │ │ │ └── SchedualServiceHiHystric.java │ │ │ │ └── web/ │ │ │ │ └── HiController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicefeign/ │ │ └── ServiceFeignApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicehi/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicehi/ │ │ └── ServiceHiApplicationTests.java │ └── service-ribbon/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── serviceribbon/ │ │ │ ├── ServiceRibbonApplication.java │ │ │ ├── service/ │ │ │ │ └── HelloService.java │ │ │ └── web/ │ │ │ └── HelloControler.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── serviceribbon/ │ └── ServiceRibbonApplicationTests.java ├── sc-f-chapter5/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── service-feign/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicefeign/ │ │ │ │ ├── ServiceFeignApplication.java │ │ │ │ ├── clients/ │ │ │ │ │ ├── SchedualServiceHi.java │ │ │ │ │ └── fallback/ │ │ │ │ │ └── SchedualServiceHiHystric.java │ │ │ │ └── web/ │ │ │ │ └── HiController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicefeign/ │ │ └── ServiceFeignApplicationTests.java │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicehi/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicehi/ │ │ └── ServiceHiApplicationTests.java │ ├── service-ribbon/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── serviceribbon/ │ │ │ │ ├── ServiceRibbonApplication.java │ │ │ │ ├── service/ │ │ │ │ │ └── HelloService.java │ │ │ │ └── web/ │ │ │ │ └── HelloControler.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── serviceribbon/ │ │ └── ServiceRibbonApplicationTests.java │ └── service-zuul/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── servicezuul/ │ │ │ ├── ServiceZuulApplication.java │ │ │ └── filter/ │ │ │ └── MyFilter.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── servicezuul/ │ └── ServiceZuulApplicationTests.java ├── sc-f-chapter6/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_1_1_6.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_54.xml │ │ │ ├── Maven__com_jcraft_jzlib_1_1_1.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_11.xml │ │ │ ├── Maven__io_micrometer_micrometer_core_1_0_5.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_5.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_9.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_31.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_4_11_0_201803080745_r.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_http_apache_4_11_0_201803080745_r.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_10.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_10_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_19.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ConfigClientApplication.java │ │ └── resources/ │ │ └── bootstrap.properties │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ ├── pom.xml │ └── sc-f-chapter6.iml ├── sc-f-chapter7/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml │ │ │ ├── Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_5.xml │ │ │ ├── Maven__com_google_guava_guava_16_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_1_1_6.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_54.xml │ │ │ ├── Maven__com_jcraft_jzlib_1_1_1.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_9_2.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_9_2.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_12_21.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_10.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_11.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_micrometer_micrometer_core_1_0_5.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_resolver_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_25_Final.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_3_8.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_9.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_5.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_9.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_31.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_4_11_0_201803080745_r.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_http_apache_4_11_0_201803080745_r.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_28.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_10.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_10_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_19.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter6.iml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ConfigClientApplication.java │ │ └── resources/ │ │ └── bootstrap.properties │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ └── pom.xml ├── sc-f-chapter8/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__antlr_antlr_2_7_7.xml │ │ │ ├── Maven__aopalliance_aopalliance_1_0.xml │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_esotericsoftware_kryo_shaded_3_0_3.xml │ │ │ ├── Maven__com_esotericsoftware_minlog_1_3_0.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ │ │ ├── Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml │ │ │ ├── Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_code_gson_gson_2_8_5.xml │ │ │ ├── Maven__com_google_guava_guava_16_0.xml │ │ │ ├── Maven__com_google_inject_guice_4_1_0.xml │ │ │ ├── Maven__com_googlecode_javaewah_JavaEWAH_1_1_6.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_jcraft_jsch_0_1_54.xml │ │ │ ├── Maven__com_jcraft_jzlib_1_1_1.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_client_1_9_2.xml │ │ │ ├── Maven__com_netflix_eureka_eureka_core_1_9_2.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ │ │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_core_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_5.xml │ │ │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_2_5.xml │ │ │ ├── Maven__com_netflix_servo_servo_core_0_12_21.xml │ │ │ ├── Maven__com_rabbitmq_amqp_client_5_1_2.xml │ │ │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ │ │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ │ │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_10.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_codec_commons_codec_1_11.xml │ │ │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_micrometer_micrometer_core_1_0_5.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_resolver_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_4_1_25_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_25_Final.xml │ │ │ ├── Maven__io_projectreactor_reactor_core_3_1_8_RELEASE.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_3_8.xml │ │ │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ │ │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_inject_javax_inject_1.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ │ │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ │ │ ├── Maven__joda_time_joda_time_2_9_9.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ │ │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ │ │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_5.xml │ │ │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_9.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_31.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ │ │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ │ │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_4_11_0_201803080745_r.xml │ │ │ ├── Maven__org_eclipse_jgit_org_eclipse_jgit_http_apache_4_11_0_201803080745_r.xml │ │ │ ├── Maven__org_freemarker_freemarker_2_3_28.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_10.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_10_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_reactivestreams_reactive_streams_1_0_2.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_amqp_spring_amqp_2_0_4_RELEASE.xml │ │ │ ├── Maven__org_springframework_amqp_spring_rabbit_2_0_4_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_amqp_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_validation_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_bus_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_config_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_bus_amqp_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_config_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_server_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_stream_rabbit_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_binder_rabbit_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_stream_binder_rabbit_core_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_amqp_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_core_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_jmx_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_integration_spring_integration_tuple_1_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_retry_spring_retry_1_2_2_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_messaging_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_tuple_1_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_tx_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ ├── Maven__org_yaml_snakeyaml_1_19.xml │ │ │ ├── Maven__stax_stax_api_1_0_1.xml │ │ │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ │ │ └── Maven__xpp3_xpp3_min_1_1_4c.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── chapter6.iml │ ├── config-client/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigClientApplication.java │ │ │ └── resources/ │ │ │ └── bootstrap.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigClientApplicationTests.java │ ├── config-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ConfigServerApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ConfigServerApplicationTests.java │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── EurekaServerApplicationTests.java │ └── pom.xml ├── sc-f-chapter9/ │ ├── .idea/ │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── kotlinc.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__io_zipkin_brave_brave_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_context_log4j2_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_http_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_httpasyncclient_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_httpclient_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_kafka_clients_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_servlet_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_spring_rabbit_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_spring_web_5_1_0.xml │ │ │ ├── Maven__io_zipkin_brave_brave_instrumentation_spring_webmvc_5_1_0.xml │ │ │ ├── Maven__io_zipkin_reporter2_zipkin_reporter_2_7_3.xml │ │ │ ├── Maven__io_zipkin_reporter2_zipkin_sender_amqp_client_2_7_3.xml │ │ │ ├── Maven__io_zipkin_reporter2_zipkin_sender_kafka11_2_7_3.xml │ │ │ ├── Maven__io_zipkin_zipkin2_zipkin_2_9_3.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_31.xml │ │ │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_31.xml │ │ │ ├── Maven__org_aspectj_aspectjrt_1_8_13.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_10_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_3_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_sleuth_core_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_sleuth_zipkin_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_sleuth_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_zipkin_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_6_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webmvc_5_0_7_RELEASE.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_19.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── pom.xml │ ├── sc-f-chapter9.iml │ ├── service-hi/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── ServiceHiApplication.java │ │ │ └── resources/ │ │ │ └── application.properties │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── ServiceHiApplicationTests.java │ └── service-miya/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── ServiceMiyaApplication.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── ServiceMiyaApplicationTests.java ├── sc-f-gateway-cloud/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── eureka-server/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── eurekaserver/ │ │ │ │ └── EurekaServerApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── eurekaserver/ │ │ └── EurekaServerApplicationTests.java │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── service-gateway/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ └── servicegateway/ │ │ │ │ ├── RequestTimeGatewayFilterFactory.java │ │ │ │ └── ServiceGatewayApplication.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── servicegateway/ │ │ └── ServiceGatewayApplicationTests.java │ └── service-hi/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ └── servicehi/ │ │ │ └── ServiceHiApplication.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── servicehi/ │ └── ServiceHiApplicationTests.java ├── sc-f-gateway-filter/ │ ├── .idea/ │ │ ├── .name │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_guava_guava_15_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_socks_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_resolver_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml │ │ │ ├── Maven__io_projectreactor_addons_reactor_extra_3_1_7_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_ipc_reactor_netty_0_7_9_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_reactor_core_3_1_9_RELEASE.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_3_8.xml │ │ │ ├── Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_7.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_12_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_reactivestreams_reactive_streams_1_0_2.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_webflux_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_gateway_core_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webflux_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_19.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── uiDesigner.xml │ │ └── workspace.xml │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── pom.xml │ ├── sc-f-gateway-filter.iml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── gateway/ │ │ │ │ ├── Application.java │ │ │ │ ├── RequestTimeFilter.java │ │ │ │ ├── RequestTimeGatewayFilterFactory.java │ │ │ │ └── TokenFilter.java │ │ │ └── org/ │ │ │ └── springframework/ │ │ │ └── cloud/ │ │ │ └── gateway/ │ │ │ └── filter/ │ │ │ └── factory/ │ │ │ └── AbstractChangeRequestUriGatewayFilterFactory.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── gateway/ │ └── ApplicationTest.java ├── sc-f-gateway-first-sight/ │ ├── .idea/ │ │ ├── .name │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_guava_guava_15_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_socks_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_resolver_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml │ │ │ ├── Maven__io_projectreactor_addons_reactor_extra_3_1_7_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_ipc_reactor_netty_0_7_9_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_reactor_core_3_1_9_RELEASE.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_3_8.xml │ │ │ ├── Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_7.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_12_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_reactivestreams_reactive_streams_1_0_2.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_webflux_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_gateway_core_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webflux_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_19.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── pom.xml │ ├── sc-f-gateway-first-sight.iml │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── gateway/ │ │ │ │ └── Application.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── gateway/ │ │ └── ApplicationTest.java │ └── target/ │ └── classes/ │ └── application.yml ├── sc-f-gateway-limiter/ │ ├── .idea/ │ │ ├── .name │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__io_lettuce_lettuce_core_5_0_5_RELEASE.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_socks_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_resolver_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml │ │ │ ├── Maven__io_projectreactor_addons_reactor_extra_3_1_7_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_ipc_reactor_netty_0_7_9_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_reactor_core_3_1_9_RELEASE.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_12_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_reactivestreams_reactive_streams_1_0_2.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_data_redis_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_data_redis_reactive_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_webflux_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_gateway_core_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_0_0_RELEASE.xml │ │ │ ├── Maven__org_springframework_data_spring_data_commons_2_0_10_RELEASE.xml │ │ │ ├── Maven__org_springframework_data_spring_data_keyvalue_2_0_10_RELEASE.xml │ │ │ ├── Maven__org_springframework_data_spring_data_redis_2_0_10_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_support_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_oxm_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_tx_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webflux_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_19.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ ├── uiDesigner.xml │ │ └── workspace.xml │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── pom.xml │ ├── sc-f-gateway-filter.iml │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── gateway/ │ │ │ │ ├── Application.java │ │ │ │ ├── HostAddrKeyResolver.java │ │ │ │ └── UriKeyResolver.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── gateway/ │ │ └── ApplicationTest.java │ └── target/ │ └── classes/ │ └── application.yml ├── sc-f-gateway-predicate/ │ ├── .idea/ │ │ ├── .name │ │ ├── compiler.xml │ │ ├── encodings.xml │ │ ├── libraries/ │ │ │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ │ │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ │ │ ├── Maven__com_fasterxml_classmate_1_3_4.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_9_6.xml │ │ │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_6.xml │ │ │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ │ │ ├── Maven__com_google_guava_guava_15_0.xml │ │ │ ├── Maven__com_jayway_jsonpath_json_path_2_4_0.xml │ │ │ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_javanica_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_12.xml │ │ │ ├── Maven__com_netflix_hystrix_hystrix_serialization_1_5_12.xml │ │ │ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml │ │ │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ │ │ ├── Maven__commons_lang_commons_lang_2_6.xml │ │ │ ├── Maven__io_netty_netty_buffer_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_http_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_codec_socks_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_common_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_resolver_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_29_Final.xml │ │ │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml │ │ │ ├── Maven__io_projectreactor_addons_reactor_extra_3_1_7_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_ipc_reactor_netty_0_7_9_RELEASE.xml │ │ │ ├── Maven__io_projectreactor_reactor_core_3_1_9_RELEASE.xml │ │ │ ├── Maven__io_reactivex_rxjava_1_3_8.xml │ │ │ ├── Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml │ │ │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ │ │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ │ │ ├── Maven__junit_junit_4_12.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_1_7_11.xml │ │ │ ├── Maven__net_bytebuddy_byte_buddy_agent_1_7_11.xml │ │ │ ├── Maven__net_minidev_accessors_smart_1_2.xml │ │ │ ├── Maven__net_minidev_json_smart_2_3.xml │ │ │ ├── Maven__org_apache_commons_commons_lang3_3_7.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_api_2_10_0.xml │ │ │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_10_0.xml │ │ │ ├── Maven__org_aspectj_aspectjweaver_1_8_13.xml │ │ │ ├── Maven__org_assertj_assertj_core_3_9_1.xml │ │ │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_56.xml │ │ │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_56.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ │ │ ├── Maven__org_hamcrest_hamcrest_library_1_3.xml │ │ │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ │ │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_12_Final.xml │ │ │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ │ │ ├── Maven__org_mockito_mockito_core_2_15_0.xml │ │ │ ├── Maven__org_objenesis_objenesis_2_6.xml │ │ │ ├── Maven__org_ow2_asm_asm_5_0_4.xml │ │ │ ├── Maven__org_reactivestreams_reactive_streams_1_0_2.xml │ │ │ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml │ │ │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ │ │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_starter_webflux_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_gateway_core_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_core_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_0_1_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_crypto_5_0_8_RELEASE.xml │ │ │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_5_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_aop_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_beans_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_context_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_core_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_expression_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_jcl_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_test_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_web_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_springframework_spring_webflux_5_0_9_RELEASE.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml │ │ │ ├── Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml │ │ │ ├── Maven__org_xmlunit_xmlunit_core_2_5_1.xml │ │ │ └── Maven__org_yaml_snakeyaml_1_19.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── workspace.xml │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── pom.xml │ ├── sc-f-chapter1.iml │ ├── sc-f-gateway-predicate.iml │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── gateway/ │ │ │ │ └── Application.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── gateway/ │ │ └── ApplicationTest.java │ └── target/ │ └── classes/ │ └── application.yml └── springcloud-alibaba/ ├── nacos-config/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── nacos-consumer/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── NacosConsumerApplication.java │ │ │ │ ├── client/ │ │ │ │ │ └── ProviderClient.java │ │ │ │ └── web/ │ │ │ │ └── ConsumerController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── NacosConsumerApplicationTests.java │ ├── nacos-provider/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── NacosProviderApplication.java │ │ │ │ └── web/ │ │ │ │ ├── ConfigController.java │ │ │ │ └── ProviderController.java │ │ │ └── resources/ │ │ │ └── bootstrap.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── NacosProviderApplicationTests.java │ └── pom.xml ├── nacos-discovery/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── nacos-consumer/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── NacosConsumerApplication.java │ │ │ │ ├── client/ │ │ │ │ │ └── ProviderClient.java │ │ │ │ └── web/ │ │ │ │ └── ConsumerController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── NacosConsumerApplicationTests.java │ ├── nacos-provider/ │ │ ├── .gitignore │ │ ├── .mvn/ │ │ │ └── wrapper/ │ │ │ ├── MavenWrapperDownloader.java │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ │ ├── mvnw │ │ ├── mvnw.cmd │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── forezp/ │ │ │ │ ├── NacosProviderApplication.java │ │ │ │ └── web/ │ │ │ │ └── ProviderController.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── forezp/ │ │ └── NacosProviderApplicationTests.java │ └── pom.xml └── nacos-discovery-sentinel/ ├── .gitignore ├── .mvn/ │ └── wrapper/ │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── nacos-consumer/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ ├── NacosConsumerApplication.java │ │ │ ├── client/ │ │ │ │ └── ProviderClient.java │ │ │ └── web/ │ │ │ └── ConsumerController.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── NacosConsumerApplicationTests.java ├── nacos-provider/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── forezp/ │ │ │ ├── NacosProviderApplication.java │ │ │ └── web/ │ │ │ └── ProviderController.java │ │ └── resources/ │ │ └── application.yml │ └── test/ │ └── java/ │ └── com/ │ └── forezp/ │ └── NacosProviderApplicationTests.java └── pom.xml ================================================ FILE CONTENTS ================================================ ================================================ FILE: README.md ================================================ >转载请标明出处: > http://blog.csdn.net/forezp/article/details/70148833 > 本文出自[方志朋的博客](http://blog.csdn.net/forezp) > #### 获取SpringCloud 、Spring Boot视频:https://www.fangzhipeng.com/share/2017/10/01/resource-sharing.html


扫码关注有惊喜

(转载本站文章请注明作者和出处 方志朋的博客

错过了这一篇,你可能再也学不会 Spring Cloud 了!Spring Boot做为下一代 web 框架,Spring Cloud 作为最新最火的微服务的翘楚,你还有什么理由拒绝。赶快上船吧,老船长带你飞。终章不是最后一篇,它是一个汇总,未来还会写很多篇。 我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: miles02@163.com . 码农下载:[https://git.oschina.net/forezp/SpringCloudLearning](https://git.oschina.net/forezp/SpringCloudLearning) github下载:[https://github.com/forezp/SpringCloudLearning](https://github.com/forezp/SpringCloudLearning),记得star哦! 欢迎大家访问我的个人博客:https://www.fangzhipeng.com/spring-cloud.html **[点击获取SpringCloud 、Spring Boot视频](https://www.fangzhipeng.com/share/2017/10/01/resource-sharing.html)** ### 《史上最简单的 SpringCloud 教程》系列: ### Spring Cloud 2020.0.x版本教程 - [SpringCloud 2020版本教程0:springcloud 2020版本概述](https://www.fangzhipeng.com/springcloud/2021/04/01/sc-2020-gs.html) - [SpringCloud 2020版本教程1:使用nacos作为注册中心和配置中心](https://www.fangzhipeng.com/springcloud/2021/04/02/sc-2020-nacos.html) - [SpringCloud 2020版本教程2:使用spring cloud gateway作为服务网关](https://www.fangzhipeng.com/springcloud/2021/04/03/sc-2020-gateway.html) - [SpringCloud 2020版本教程3:使用sentinel作为熔断器](https://www.fangzhipeng.com/springcloud/2021/04/04/sc-2020-sentinel.html) - [SpringCloud 2020版本教程4:使用spring cloud sleuth+zipkin实现链路追踪](https://www.fangzhipeng.com/springcloud/2021/04/05/sc-2020-sleuth.html) ### Spring Cloud Alibaba教程 - [Spring Cloud Alibaba教程:使用Nacos作为服务注册发现组件](https://www.fangzhipeng.com/springcloud/2019/05/30/sc-nacos-discovery.html) - [Spring Cloud Alibaba教程:使用Nacos作为配置中心](https://www.fangzhipeng.com/springcloud/2019/06/01/sc-nacos-config.html) - [Spring Cloud Alibaba教程:Sentinel的使用 ](https://www.fangzhipeng.com/springcloud/2019/06/02/sc-sentinel.html) ### Greenwich版本 - [Spring Cloud Consul 之Greenwich版本全攻略](https://www.fangzhipeng.com/springcloud/2019/02/14/sc-consul-g.html) - [spring cloud config将配置存储在数据库中](https://www.fangzhipeng.com/springcloud/2019/02/21/config-jdbc.html) - [Spring Cloud Sleuth 之Greenwich版本全攻略](https://www.fangzhipeng.com/springcloud/2019/02/05/sc-sleuth-g.html) - [Spring Boot Admin 2.1.0 全攻略](https://blog.csdn.net/forezp/article/details/86105850) - [阿里分布式事务框架GTS开源了!](https://www.fangzhipeng.com/springcloud/2019/01/04/sc-f-boot-admin.html) ### Finchley版本 Spring Cloud Finchley; Spring Boot 2.0.3 * [史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/01/sc-f1-eureka.html) * [史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/02/sc-f2-ribbon.html) * [史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/03/sc-f3-feign.html) * [史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/04/sc-f4-hystrix.html) * [ 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/05/sc-f5-zuul.html) * [史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/06/sc-f6-config.html) * [史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/07/sc-f7-config.html) * [史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/08/sc-f8-bus.html) * [史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/09/sc-f9-sleuth.html) * [史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/10/sc-f10-eureka.html) * [史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/12/sc-f12-dash.html) * [史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)(Finchley版本)](https://www.fangzhipeng.com/springcloud/2018/08/13/sc-f13-turbine.html) * [史上最简单的SpringCloud教程 | 第十四篇: Spring Cloud Gateway初体验](https://www.fangzhipeng.com/springcloud/2018/11/06/sc-f-gateway1.html) * [史上最简单的SpringCloud教程 | 第十五篇: Spring Cloud Gateway 之Predict篇](https://www.fangzhipeng.com/springcloud/2018/12/05/sc-f-gateway2.html) * [史上最简单的SpringCloud教程 | 第十六篇: Spring Cloud Gateway 之filter篇](https://www.fangzhipeng.com/springcloud/2018/12/21/sc-f-gatway3.html) * [史上最简单的SpringCloud教程 | 第十七篇: Spring Cloud Gateway 之限流篇](https://www.fangzhipeng.com/springcloud/2018/12/22/sc-f-gatway4.html) * [史上最简单的SpringCloud教程 | 第十八篇: spring cloud gateway之服务注册与发现](https://www.fangzhipeng.com/springcloud/2018/12/23/sc-f-gateway5.html) ### 源码篇: * [深入理解Feign之源码解析](https://www.fangzhipeng.com/springcloud/2017/08/11/sc-feign-raw.html) * [深入理解Eureka之源码解析](https://www.fangzhipeng.com/springcloud/2017/08/11/eureka-resources.html) * [深入理解Ribbon之源码解析](https://www.fangzhipeng.com/springcloud/2017/08/11/Ribbon-resources.html) * [ 深入理解Hystrix之文档翻译](http://blog.csdn.net/forezp/article/details/75333088) * [深入理解Zuul之源码解析](https://www.fangzhipeng.com/springcloud/2017/08/11/sc-zuul-raw.html) ### 进阶篇 * [ Spring Cloud Sleuth超详细实战](http://blog.csdn.net/forezp/article/details/76795269) * [拜托!面试请不要再问我Spring Cloud底层原理](https://blog.csdn.net/forezp/article/details/83999882) * [微服务注册中心如何承载大型系统的千万级访问?](https://blog.csdn.net/forezp/article/details/83999947) * [每秒上万并发下的Spring Cloud参数优化实战](https://blog.csdn.net/forezp/article/details/83999975) #### D版本 * [史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)](http://blog.csdn.net/forezp/article/details/69696915) * [史上最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)](http://blog.csdn.net/forezp/article/details/69788938) * [史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)](http://blog.csdn.net/forezp/article/details/69808079) * [史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)](http://blog.csdn.net/forezp/article/details/69934399) * [ 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)](http://blog.csdn.net/forezp/article/details/69939114) * [史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)](http://blog.csdn.net/forezp/article/details/70037291) * [史上最简单的SpringCloud教程 | 第七篇: 高可用的分布式配置中心(Spring Cloud Config)](http://blog.csdn.net/forezp/article/details/70037513) * [史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)](http://blog.csdn.net/forezp/article/details/70148235) * [史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)](http://blog.csdn.net/forezp/article/details/70162074) * [史上最简单的SpringCloud教程 | 第十篇: 高可用的服务注册中心](http://blog.csdn.net/forezp/article/details/70183572) * [史上最简单的SpringCloud教程 | 第十一篇:docker部署spring cloud项目](http://blog.csdn.net/forezp/article/details/70198649) * [史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)](http://blog.csdn.net/forezp/article/details/70217283) * [史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)](http://blog.csdn.net/forezp/article/details/70233227) * [ 史上最简单的 SpringCloud 教程 | 第十四篇: 服务注册(consul)](http://blog.csdn.net/forezp/article/details/70245644) * 未完。。。 * 还有很多篇。。。 ### 番外篇: * [如何使用MongoDB+Springboot实现分布式ID?](http://blog.csdn.net/forezp/article/details/69056017) * [ 如何在springcloud分布式系统中实现分布式锁?](http://blog.csdn.net/forezp/article/details/68957681) * [ 如何用Redlock实现分布式锁](http://blog.csdn.net/forezp/article/details/70305336) * [ 如何在IDEA启动多个Spring Boot工程实例](http://blog.csdn.net/forezp/article/details/76408139) * [ JWT如何在Spring Cloud微服务系统中在服务相互调时传](http://blog.csdn.net/forezp/article/details/78676036) ### 怎么支持我? * 这个系列会持续更新,敬请关注! * 关注我的公众号,精彩内容不能错过!


扫码关注有惊喜

(转载本站文章请注明作者和出处 方志朋的博客

================================================ FILE: chapter-sleuth/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter-sleuth/eureka-server/src/main/resources/application.yml ================================================ server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ================================================ FILE: chapter-sleuth/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth/gateway-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth/gateway-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth/gateway-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth/gateway-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth/gateway-service/pom.xml ================================================ 4.0.0 com.forezp gateway-service 0.0.1-SNAPSHOT jar gateway-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.cloud spring-cloud-starter-zuul org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-zipkin RELEASE org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth/gateway-service/src/main/java/com/forezp/GatewayServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy @EnableEurekaClient public class GatewayServiceApplication { public static void main(String[] args) { SpringApplication.run(GatewayServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth/gateway-service/src/main/java/com/forezp/filter/LoggerFilter.java ================================================ package com.forezp.filter; import com.netflix.zuul.ZuulFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants; import org.springframework.cloud.sleuth.Tracer; import org.springframework.stereotype.Component; /** * Created by forezp on 2017/8/3. */ @Component public class LoggerFilter extends ZuulFilter { @Autowired Tracer tracer; @Override public String filterType() { return FilterConstants.POST_TYPE; } @Override public int filterOrder() { return 900; } @Override public boolean shouldFilter() { return true; } @Override public Object run() { tracer.addTag("operator","forezp"); System.out.print(tracer.getCurrentSpan().traceIdString()); return null; } } ================================================ FILE: chapter-sleuth/gateway-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 5000 spring: application: name: gateway-service sleuth: sampler: percentage: 1.0 zipkin: base-url: http://localhost:9411 zuul: routes: api-a: path: /user-api/** serviceId: user-service ================================================ FILE: chapter-sleuth/gateway-service/src/test/java/com/forezp/GatewayServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GatewayServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth/pom.xml ================================================ 4.0.0 com.forezp sleuth 0.0.1-SNAPSHOT pom sleuth Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 Dalston.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth/user-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth/user-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth/user-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth/user-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth/user-service/pom.xml ================================================ 4.0.0 com.forezp user-service 0.0.1-SNAPSHOT jar user-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-zipkin RELEASE org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth/user-service/src/main/java/com/forezp/UserServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth/user-service/src/main/java/com/forezp/web/UserController.java ================================================ package com.forezp.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by fangzhipeng on 2017/8/2. */ @RestController @RequestMapping("/user") public class UserController { @GetMapping("/hi") public String hi(){ return "I'm forezp"; } } ================================================ FILE: chapter-sleuth/user-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: user-service zipkin: base-url: http://localhost:9411 sleuth: sampler: percentage: 1.0 #spring.zipkin.base-url=http://localhost:9411 ================================================ FILE: chapter-sleuth/user-service/src/test/java/com/forezp/UserServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth/zipkin-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth/zipkin-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth/zipkin-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth/zipkin-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth/zipkin-server/pom.xml ================================================ 4.0.0 com.forezp zipkin-server 0.0.1-SNAPSHOT jar zipkin-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka io.zipkin.java zipkin-server io.zipkin.java zipkin-autoconfigure-ui org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth/zipkin-server/src/main/java/com/forezp/ZipkinServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import zipkin.server.EnableZipkinServer; @SpringBootApplication @EnableEurekaClient @EnableZipkinServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); } } ================================================ FILE: chapter-sleuth/zipkin-server/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 9411 spring: application: name: zipkin-server #spring.sleuth.sampler.percentage: 1.0 ================================================ FILE: chapter-sleuth/zipkin-server/src/test/java/com/forezp/ZipkinServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ZipkinServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-mysql/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-mysql/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-mysql/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-mysql/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-mysql/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-mysql/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-mysql/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-mysql/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-mysql/eureka-server/src/main/resources/application.yml ================================================ server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ================================================ FILE: chapter-sleuth-mysql/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-mysql/gateway-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-mysql/gateway-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-mysql/gateway-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-mysql/gateway-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-mysql/gateway-service/pom.xml ================================================ 4.0.0 com.forezp gateway-service 0.0.1-SNAPSHOT jar gateway-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.cloud spring-cloud-starter-zuul org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-zipkin RELEASE org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-mysql/gateway-service/src/main/java/com/forezp/GatewayServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy @EnableEurekaClient public class GatewayServiceApplication { public static void main(String[] args) { SpringApplication.run(GatewayServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-mysql/gateway-service/src/main/java/com/forezp/filter/LoggerFilter.java ================================================ package com.forezp.filter; import com.netflix.zuul.ZuulFilter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants; import org.springframework.cloud.sleuth.Tracer; import org.springframework.stereotype.Component; /** * Created by forezp on 2017/8/3. */ @Component public class LoggerFilter extends ZuulFilter { @Autowired Tracer tracer; @Override public String filterType() { return FilterConstants.POST_TYPE; } @Override public int filterOrder() { return 900; } @Override public boolean shouldFilter() { return true; } @Override public Object run() { tracer.addTag("operator","forezp"); System.out.print(tracer.getCurrentSpan().traceIdString()); return null; } } ================================================ FILE: chapter-sleuth-mysql/gateway-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 5000 spring: application: name: gateway-service sleuth: sampler: percentage: 1.0 zipkin: base-url: http://localhost:9411 zuul: routes: api-a: path: /user-api/** serviceId: user-service ================================================ FILE: chapter-sleuth-mysql/gateway-service/src/test/java/com/forezp/GatewayServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GatewayServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-mysql/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-mysql/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-mysql/pom.xml ================================================ 4.0.0 com.forezp sleuth 0.0.1-SNAPSHOT pom sleuth Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 Dalston.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-mysql/user-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-mysql/user-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-mysql/user-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-mysql/user-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-mysql/user-service/pom.xml ================================================ 4.0.0 com.forezp user-service 0.0.1-SNAPSHOT jar user-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-zipkin RELEASE org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-mysql/user-service/src/main/java/com/forezp/UserServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-mysql/user-service/src/main/java/com/forezp/web/UserController.java ================================================ package com.forezp.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by fangzhipeng on 2017/8/2. */ @RestController @RequestMapping("/user") public class UserController { @GetMapping("/hi") public String hi(){ return "I'm forezp"; } } ================================================ FILE: chapter-sleuth-mysql/user-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: user-service zipkin: base-url: http://localhost:9411 sleuth: sampler: percentage: 1.0 #spring.zipkin.base-url=http://localhost:9411 ================================================ FILE: chapter-sleuth-mysql/user-service/src/test/java/com/forezp/UserServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-mysql/zipkin-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-mysql/zipkin-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-mysql/zipkin-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-mysql/zipkin-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-mysql/zipkin-server/pom.xml ================================================ 4.0.0 com.forezp zipkin-server 0.0.1-SNAPSHOT jar zipkin-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-eureka io.zipkin.java zipkin-server 1.19.0 io.zipkin.java zipkin-storage-mysql 1.19.0 io.zipkin.java zipkin-autoconfigure-ui mysql mysql-connector-java org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-mysql/zipkin-server/src/main/java/com/forezp/ZipkinServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.Bean; import zipkin.server.EnableZipkinServer; import zipkin.storage.mysql.MySQLStorage; import javax.sql.DataSource; @SpringBootApplication @EnableEurekaClient @EnableZipkinServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); } @Bean public MySQLStorage mySQLStorage(DataSource datasource) { return MySQLStorage.builder().datasource(datasource).executor(Runnable::run).build(); } } ================================================ FILE: chapter-sleuth-mysql/zipkin-server/src/main/resources/bootstrap.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 9411 spring: application: name: zipkin-server sleuth: sampler: percentage: 1.0 enabled: false datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/spring-cloud-zipkin?useUnicode=true&characterEncoding=utf8&useSSL=false username: taichi password: Password123. zipkin: storage: type: mysql ================================================ FILE: chapter-sleuth-mysql/zipkin-server/src/test/java/com/forezp/ZipkinServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ZipkinServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream/eureka-server/src/main/resources/application.yml ================================================ server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ================================================ FILE: chapter-sleuth-stream/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream/gateway-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream/gateway-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream/gateway-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream/gateway-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream/gateway-service/pom.xml ================================================ 4.0.0 com.forezp gateway-service 0.0.1-SNAPSHOT jar gateway-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.cloud spring-cloud-starter-zuul org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream/gateway-service/src/main/java/com/forezp/GatewayServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy @EnableEurekaClient public class GatewayServiceApplication { public static void main(String[] args) { SpringApplication.run(GatewayServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream/gateway-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 5000 spring: application: name: gateway-service sleuth: sampler: percentage: 1.0 zipkin: base-url: http://localhost:9411 rabbitmq: host: localhost port: 5672 username: guest password: guest zuul: routes: api-a: path: /user-api/** serviceId: user-service ================================================ FILE: chapter-sleuth-stream/gateway-service/src/test/java/com/forezp/GatewayServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GatewayServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream/pom.xml ================================================ 4.0.0 com.forezp sleuth 0.0.1-SNAPSHOT pom sleuth Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 Dalston.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream/user-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream/user-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream/user-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream/user-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream/user-service/pom.xml ================================================ 4.0.0 com.forezp user-service 0.0.1-SNAPSHOT jar user-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream/user-service/src/main/java/com/forezp/UserServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream/user-service/src/main/java/com/forezp/web/UserController.java ================================================ package com.forezp.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by fangzhipeng on 2017/8/2. */ @RestController @RequestMapping("/user") public class UserController { @GetMapping("/hi") public String hi(){ return "I'm forezp"; } } ================================================ FILE: chapter-sleuth-stream/user-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: user-service zipkin: base-url: http://localhost:9411 rabbitmq: host: localhost port: 5672 username: guest password: guest sleuth: sampler: percentage: 1.0 #spring.zipkin.base-url=http://localhost:9411 ================================================ FILE: chapter-sleuth-stream/user-service/src/test/java/com/forezp/UserServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream/zipkin-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream/zipkin-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream/zipkin-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream/zipkin-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream/zipkin-server/pom.xml ================================================ 4.0.0 com.forezp zipkin-server 0.0.1-SNAPSHOT jar zipkin-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka io.zipkin.java zipkin-autoconfigure-ui org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream/zipkin-server/src/main/java/com/forezp/ZipkinServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.sleuth.zipkin.stream.EnableZipkinStreamServer; import zipkin.server.EnableZipkinServer; @SpringBootApplication @EnableEurekaClient @EnableZipkinStreamServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream/zipkin-server/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 9411 spring: application: name: zipkin-server sleuth: enabled: false rabbitmq: host: localhost port: 5672 username: guest password: guest #spring.sleuth.sampler.percentage: 1.0 ================================================ FILE: chapter-sleuth-stream/zipkin-server/src/test/java/com/forezp/ZipkinServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ZipkinServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-elasticsearch/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/src/main/resources/application.yml ================================================ server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ================================================ FILE: chapter-sleuth-stream-elasticsearch/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/pom.xml ================================================ 4.0.0 com.forezp gateway-service 0.0.1-SNAPSHOT jar gateway-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.cloud spring-cloud-starter-zuul org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/src/main/java/com/forezp/GatewayServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy @EnableEurekaClient public class GatewayServiceApplication { public static void main(String[] args) { SpringApplication.run(GatewayServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 5000 spring: application: name: gateway-service sleuth: sampler: percentage: 1.0 zipkin: base-url: http://localhost:9411 rabbitmq: host: localhost port: 5672 username: guest password: guest zuul: routes: api-a: path: /user-api/** serviceId: user-service ================================================ FILE: chapter-sleuth-stream-elasticsearch/gateway-service/src/test/java/com/forezp/GatewayServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GatewayServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-elasticsearch/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-elasticsearch/pom.xml ================================================ 4.0.0 com.forezp sleuth 0.0.1-SNAPSHOT pom sleuth Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 Dalston.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/pom.xml ================================================ 4.0.0 com.forezp user-service 0.0.1-SNAPSHOT jar user-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/src/main/java/com/forezp/UserServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/src/main/java/com/forezp/web/UserController.java ================================================ package com.forezp.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by fangzhipeng on 2017/8/2. */ @RestController @RequestMapping("/user") public class UserController { @GetMapping("/hi") public String hi(){ return "I'm forezp"; } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: user-service zipkin: base-url: http://localhost:9411 rabbitmq: host: localhost port: 5672 username: guest password: guest sleuth: sampler: percentage: 1.0 #spring.zipkin.base-url=http://localhost:9411 ================================================ FILE: chapter-sleuth-stream-elasticsearch/user-service/src/test/java/com/forezp/UserServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/pom.xml ================================================ 4.0.0 com.forezp zipkin-server 0.0.1-SNAPSHOT jar zipkin-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka io.zipkin.java zipkin-autoconfigure-ui org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit io.zipkin.java zipkin 1.28.1 io.zipkin.java zipkin-autoconfigure-storage-elasticsearch-http 1.28.1 org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/src/main/java/com/forezp/ZipkinServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.sleuth.zipkin.stream.EnableZipkinStreamServer; import zipkin.server.EnableZipkinServer; @SpringBootApplication @EnableEurekaClient @EnableZipkinStreamServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 9411 spring: application: name: zipkin-server sleuth: enabled: false rabbitmq: host: localhost port: 5672 username: guest password: guest zipkin: storage: type: elasticsearch StorageComponent: elasticsearch elasticsearch: cluster: elasticsearch max-requests: 30 index: zipkin index-shards: 3 index-replicas: 1 hosts: localhost:9200 ================================================ FILE: chapter-sleuth-stream-elasticsearch/zipkin-server/src/test/java/com/forezp/ZipkinServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ZipkinServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-mysql/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-mysql/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/src/main/resources/application.yml ================================================ server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ================================================ FILE: chapter-sleuth-stream-mysql/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/pom.xml ================================================ 4.0.0 com.forezp gateway-service 0.0.1-SNAPSHOT jar gateway-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.cloud spring-cloud-starter-zuul org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/src/main/java/com/forezp/GatewayServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy @EnableEurekaClient public class GatewayServiceApplication { public static void main(String[] args) { SpringApplication.run(GatewayServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 5000 spring: application: name: gateway-service sleuth: sampler: percentage: 1.0 zipkin: base-url: http://localhost:9411 rabbitmq: host: localhost port: 5672 username: guest password: guest zuul: routes: api-a: path: /user-api/** serviceId: user-service ================================================ FILE: chapter-sleuth-stream-mysql/gateway-service/src/test/java/com/forezp/GatewayServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class GatewayServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-mysql/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-mysql/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-mysql/pom.xml ================================================ 4.0.0 com.forezp sleuth 0.0.1-SNAPSHOT pom sleuth Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 Dalston.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-mysql/user-service/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-mysql/user-service/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-mysql/user-service/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-mysql/user-service/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-mysql/user-service/pom.xml ================================================ 4.0.0 com.forezp user-service 0.0.1-SNAPSHOT jar user-service Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-mysql/user-service/src/main/java/com/forezp/UserServiceApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient public class UserServiceApplication { public static void main(String[] args) { SpringApplication.run(UserServiceApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-mysql/user-service/src/main/java/com/forezp/web/UserController.java ================================================ package com.forezp.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * Created by fangzhipeng on 2017/8/2. */ @RestController @RequestMapping("/user") public class UserController { @GetMapping("/hi") public String hi(){ return "I'm forezp"; } } ================================================ FILE: chapter-sleuth-stream-mysql/user-service/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: user-service zipkin: base-url: http://localhost:9411 rabbitmq: host: localhost port: 5672 username: guest password: guest sleuth: sampler: percentage: 1.0 #spring.zipkin.base-url=http://localhost:9411 ================================================ FILE: chapter-sleuth-stream-mysql/user-service/src/test/java/com/forezp/UserServiceApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class UserServiceApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then export JAVA_HOME="`/usr/libexec/java_home`" else export JAVA_HOME="/Library/Java/Home" fi fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" return 1 fi basedir="$1" wdir="$1" while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then wdir=`cd "$wdir/.."; pwd` fi # end of workaround done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } BASE_DIR=`find_maven_basedir "$(pwd)"` if [ -z "$BASE_DIR" ]; then exit 1; fi export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} echo $MAVEN_PROJECTBASEDIR MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` [ -n "$MAVEN_PROJECTBASEDIR" ] && MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/pom.xml ================================================ 4.0.0 com.forezp zipkin-server 0.0.1-SNAPSHOT jar zipkin-server Demo project for Spring Boot com.forezp sleuth 0.0.1-SNAPSHOT org.springframework.cloud spring-cloud-starter-eureka io.zipkin.java zipkin-autoconfigure-ui org.springframework.cloud spring-cloud-sleuth-zipkin-stream org.springframework.cloud spring-cloud-starter-stream-rabbit mysql mysql-connector-java org.springframework.boot spring-boot-starter-jdbc org.springframework.boot spring-boot-maven-plugin ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/src/main/java/com/forezp/ZipkinServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud.sleuth.zipkin.stream.EnableZipkinStreamServer; import zipkin.server.EnableZipkinServer; @SpringBootApplication @EnableEurekaClient @EnableZipkinStreamServer public class ZipkinServerApplication { public static void main(String[] args) { SpringApplication.run(ZipkinServerApplication.class, args); } } ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/src/main/resources/application.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 9411 spring: application: name: zipkin-server sleuth: enabled: false rabbitmq: host: localhost port: 5672 username: guest password: guest datasource: url: jdbc:mysql://localhost:3306/spring-cloud-zipkin?useUnicode=true&characterEncoding=utf8&useSSL=false username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver zipkin: storage: type: mysql #spring.sleuth.sampler.percentage: 1.0 ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/src/main/resources/spring-cloud-zipkin.sql ================================================ CREATE TABLE IF NOT EXISTS zipkin_spans ( `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64 bit', `trace_id` BIGINT NOT NULL, `id` BIGINT NOT NULL, `name` VARCHAR(255) NOT NULL, `parent_id` BIGINT, `debug` BIT(1), `start_ts` BIGINT COMMENT 'Span.timestamp(): epoch micros used for endTs query and to implement TTL', `duration` BIGINT COMMENT 'Span.duration(): micros used for minDuration and maxDuration query' ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci; ALTER TABLE zipkin_spans ADD UNIQUE KEY(`trace_id_high`, `trace_id`, `id`) COMMENT 'ignore insert on duplicate'; ALTER TABLE zipkin_spans ADD INDEX(`trace_id_high`, `trace_id`, `id`) COMMENT 'for joining with zipkin_annotations'; ALTER TABLE zipkin_spans ADD INDEX(`trace_id_high`, `trace_id`) COMMENT 'for getTracesByIds'; ALTER TABLE zipkin_spans ADD INDEX(`name`) COMMENT 'for getTraces and getSpanNames'; ALTER TABLE zipkin_spans ADD INDEX(`start_ts`) COMMENT 'for getTraces ordering and range'; CREATE TABLE IF NOT EXISTS zipkin_annotations ( `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64 bit', `trace_id` BIGINT NOT NULL COMMENT 'coincides with zipkin_spans.trace_id', `span_id` BIGINT NOT NULL COMMENT 'coincides with zipkin_spans.id', `a_key` VARCHAR(255) NOT NULL COMMENT 'BinaryAnnotation.key or Annotation.value if type == -1', `a_value` BLOB COMMENT 'BinaryAnnotation.value(), which must be smaller than 64KB', `a_type` INT NOT NULL COMMENT 'BinaryAnnotation.type() or -1 if Annotation', `a_timestamp` BIGINT COMMENT 'Used to implement TTL; Annotation.timestamp or zipkin_spans.timestamp', `endpoint_ipv4` INT COMMENT 'Null when Binary/Annotation.endpoint is null', `endpoint_ipv6` BINARY(16) COMMENT 'Null when Binary/Annotation.endpoint is null, or no IPv6 address', `endpoint_port` SMALLINT COMMENT 'Null when Binary/Annotation.endpoint is null', `endpoint_service_name` VARCHAR(255) COMMENT 'Null when Binary/Annotation.endpoint is null' ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci; ALTER TABLE zipkin_annotations ADD UNIQUE KEY(`trace_id_high`, `trace_id`, `span_id`, `a_key`, `a_timestamp`) COMMENT 'Ignore insert on duplicate'; ALTER TABLE zipkin_annotations ADD INDEX(`trace_id_high`, `trace_id`, `span_id`) COMMENT 'for joining with zipkin_spans'; ALTER TABLE zipkin_annotations ADD INDEX(`trace_id_high`, `trace_id`) COMMENT 'for getTraces/ByIds'; ALTER TABLE zipkin_annotations ADD INDEX(`endpoint_service_name`) COMMENT 'for getTraces and getServiceNames'; ALTER TABLE zipkin_annotations ADD INDEX(`a_type`) COMMENT 'for getTraces'; ALTER TABLE zipkin_annotations ADD INDEX(`a_key`) COMMENT 'for getTraces'; ALTER TABLE zipkin_annotations ADD INDEX(`trace_id`, `span_id`, `a_key`) COMMENT 'for dependencies job'; CREATE TABLE IF NOT EXISTS zipkin_dependencies ( `day` DATE NOT NULL, `parent` VARCHAR(255) NOT NULL, `child` VARCHAR(255) NOT NULL, `call_count` BIGINT, `error_count` BIGINT ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci; ALTER TABLE zipkin_dependencies ADD UNIQUE KEY(`day`, `parent`, `child`); ================================================ FILE: chapter-sleuth-stream-mysql/zipkin-server/src/test/java/com/forezp/ZipkinServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ZipkinServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter1/.idea/compiler.xml ================================================ ================================================ FILE: chapter1/.idea/encodings.xml ================================================ ================================================ FILE: chapter1/.idea/kotlinc.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__antlr_antlr_2_7_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_classmate_1_3_3.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_code_gson_gson_2_8_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_guava_guava_18_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_inject_extensions_guice_grapher_4_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_inject_extensions_guice_multibindings_4_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_4.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_6_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_6_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_governator_governator_1_12_10.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_governator_governator_api_1_12_10.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_governator_governator_core_1_12_10.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_servo_servo_core_0_10_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_netflix_servo_servo_internal_0_10_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_19_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_sun_jersey_jersey_servlet_1_19_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_9.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_buffer_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_codec_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_codec_http_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_common_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_handler_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_transport_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_reactivex_rxjava_1_1_10.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__javax_inject_javax_inject_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__joda_time_joda_time_2_9_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__junit_junit_4_12.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_3.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_6.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_freemarker_freemarker_2_3_25_incubating.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_objenesis_objenesis_2_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_24.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_24.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_context_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_core_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_test_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_web_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__stax_stax_api_1_0_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml ================================================ ================================================ FILE: chapter1/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml ================================================ ================================================ FILE: chapter1/.idea/misc.xml ================================================ ================================================ FILE: chapter1/.idea/modules.xml ================================================ ================================================ FILE: chapter1/.idea/workspace.xml ================================================ true DEFINITION_ORDER project 1491458505949 Spring 1.8 eureka-server 1.8 Maven: antlr:antlr:2.7.7 ================================================ FILE: chapter1/chapter1.iml ================================================ ================================================ FILE: chapter1/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter1/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip ================================================ FILE: chapter1/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # # Look for the Apple JDKs first to preserve the existing behaviour, and then look # for the new JDKs provided by Oracle. # if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home fi if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then # # Oracle JDKs # export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then # # Apple JDKs # export JAVA_HOME=`/usr/libexec/java_home` fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` fi # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { local basedir=$(pwd) local wdir=$(pwd) while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi wdir=$(cd "$wdir/.."; pwd) done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} "$@" ================================================ FILE: chapter1/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init set MAVEN_CMD_LINE_ARGS=%* @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar"" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS% if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter1/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies Dalston.RC1 pom import org.springframework.boot spring-boot-maven-plugin spring-milestones Spring Milestones https://repo.spring.io/milestone false ================================================ FILE: chapter1/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter1/eureka-server/src/main/resources/application.yml ================================================ server: port: 8761 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ================================================ FILE: chapter1/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter1/pom.xml ================================================ 4.0.0 com.forezp chapter1 1.0-SNAPSHOT ================================================ FILE: chapter1/service-hi/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter1/service-hi/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip ================================================ FILE: chapter1/service-hi/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # # Look for the Apple JDKs first to preserve the existing behaviour, and then look # for the new JDKs provided by Oracle. # if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home fi if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then # # Oracle JDKs # export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then # # Apple JDKs # export JAVA_HOME=`/usr/libexec/java_home` fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` fi # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { local basedir=$(pwd) local wdir=$(pwd) while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi wdir=$(cd "$wdir/.."; pwd) done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} "$@" ================================================ FILE: chapter1/service-hi/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init set MAVEN_CMD_LINE_ARGS=%* @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar"" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS% if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter1/service-hi/pom.xml ================================================ 4.0.0 com.forezp service-hi 0.0.1-SNAPSHOT jar service-hi Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies Dalston.RC1 pom import org.springframework.boot spring-boot-maven-plugin spring-milestones Spring Milestones https://repo.spring.io/milestone false ================================================ FILE: chapter1/service-hi/src/main/java/com/forezp/ServiceHiApplication.java ================================================ package com.forezp; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @EnableEurekaClient @RestController public class ServiceHiApplication { public static void main(String[] args) { SpringApplication.run(ServiceHiApplication.class, args); } @Value("${server.port}") String port; @RequestMapping("/hi") public String home(@RequestParam String name) { return "hi "+name+",i am from port:" +port; } } ================================================ FILE: chapter1/service-hi/src/main/resources/bootstrap.yml ================================================ eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server: port: 8762 spring: application: name: service-hi ================================================ FILE: chapter1/service-hi/src/test/java/com/forezp/ServiceHiApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ServiceHiApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter10/.idea/compiler.xml ================================================ ================================================ FILE: chapter10/.idea/encodings.xml ================================================ ================================================ FILE: chapter10/.idea/kotlinc.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__antlr_antlr_2_7_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_1_11.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__ch_qos_logback_logback_core_1_1_11.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_classmate_1_3_3.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_8_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_8_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_code_gson_gson_2_8_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_guava_guava_18_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_inject_extensions_guice_assistedinject_4_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_inject_extensions_guice_grapher_4_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_inject_extensions_guice_multibindings_4_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_2_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_4.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_6_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_6_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_governator_governator_1_12_10.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_governator_governator_api_1_12_10.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_governator_governator_core_1_12_10.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_10.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_1_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_servo_servo_core_0_10_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_netflix_servo_servo_internal_0_10_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_sun_jersey_jersey_server_1_19_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_sun_jersey_jersey_servlet_1_19_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_9.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__commons_codec_commons_codec_1_10.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_buffer_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_codec_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_codec_http_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_common_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_handler_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_transport_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_4_0_27_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_reactivex_rxjava_1_1_10.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__javax_inject_javax_inject_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__javax_validation_validation_api_1_1_0_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__joda_time_joda_time_2_9_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__junit_junit_4_12.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__net_minidev_accessors_smart_1_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__net_minidev_json_smart_2_2_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_3.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_6.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_8_5_11.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_8_5_11.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_8_5_11.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_assertj_assertj_core_2_6_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_55.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_55.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_freemarker_freemarker_2_3_25_incubating.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_hibernate_hibernate_validator_5_3_4_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_0_Final.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_mockito_mockito_core_1_10_19.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_objenesis_objenesis_2_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_4_0.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_24.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_24.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_slf4j_log4j_over_slf4j_1_7_24.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_24.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_1_5_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_1_2_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_1_2_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_core_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_1_2_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_archaius_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_eureka_server_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_ribbon_1_3_0_RC1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_4_2_2_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_3_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_aop_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_beans_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_context_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_context_support_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_core_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_expression_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_test_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_web_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_7_RELEASE.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__org_yaml_snakeyaml_1_17.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__stax_stax_api_1_0_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml ================================================ ================================================ FILE: chapter10/.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml ================================================ ================================================ FILE: chapter10/.idea/misc.xml ================================================ ================================================ FILE: chapter10/.idea/modules.xml ================================================ ================================================ FILE: chapter10/.idea/workspace.xml ================================================ true DEFINITION_ORDER project 1491458505949 Spring 1.8 eureka-server 1.8 Maven: antlr:antlr:2.7.7 ================================================ FILE: chapter10/chapter1.iml ================================================ ================================================ FILE: chapter10/eureka-server/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter10/eureka-server/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip ================================================ FILE: chapter10/eureka-server/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # # Look for the Apple JDKs first to preserve the existing behaviour, and then look # for the new JDKs provided by Oracle. # if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home fi if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then # # Oracle JDKs # export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then # # Apple JDKs # export JAVA_HOME=`/usr/libexec/java_home` fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` fi # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { local basedir=$(pwd) local wdir=$(pwd) while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi wdir=$(cd "$wdir/.."; pwd) done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} "$@" ================================================ FILE: chapter10/eureka-server/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init set MAVEN_CMD_LINE_ARGS=%* @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar"" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS% if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter10/eureka-server/pom.xml ================================================ 4.0.0 com.forezp eureka-server 0.0.1-SNAPSHOT jar eureka-server Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.cloud spring-cloud-starter-eureka-server org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies Dalston.RC1 pom import org.springframework.boot spring-boot-maven-plugin spring-milestones Spring Milestones https://repo.spring.io/milestone false ================================================ FILE: chapter10/eureka-server/src/main/java/com/forezp/EurekaServerApplication.java ================================================ package com.forezp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } } ================================================ FILE: chapter10/eureka-server/src/main/resources/application-peer1.yml ================================================ server: port: 8761 spring: profiles: peer1 eureka: instance: hostname: peer1 client: serviceUrl: defaultZone: http://peer2:8769/eureka/ ================================================ FILE: chapter10/eureka-server/src/main/resources/application-peer2.yml ================================================ server: port: 8769 spring: profiles: peer2 eureka: instance: hostname: peer2 client: serviceUrl: defaultZone: http://peer1:8761/eureka/ ================================================ FILE: chapter10/eureka-server/src/test/java/com/forezp/EurekaServerApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class EurekaServerApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter10/pom.xml ================================================ 4.0.0 com.forezp chapter1 1.0-SNAPSHOT ================================================ FILE: chapter10/service-hi/.gitignore ================================================ target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### nbproject/private/ build/ nbbuild/ dist/ nbdist/ .nb-gradle/ ================================================ FILE: chapter10/service-hi/.mvn/wrapper/maven-wrapper.properties ================================================ distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip ================================================ FILE: chapter10/service-hi/mvnw ================================================ #!/bin/sh # ---------------------------------------------------------------------------- # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- # Maven2 Start Up Batch script # # Required ENV vars: # ------------------ # JAVA_HOME - location of a JDK home dir # # Optional ENV vars # ----------------- # M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- if [ -z "$MAVEN_SKIP_RC" ] ; then if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi if [ -f "$HOME/.mavenrc" ] ; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. cygwin=false; darwin=false; mingw=false case "`uname`" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true # # Look for the Apple JDKs first to preserve the existing behaviour, and then look # for the new JDKs provided by Oracle. # if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home fi if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then # # Apple JDKs # export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then # # Oracle JDKs # export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home fi if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then # # Apple JDKs # export JAVA_HOME=`/usr/libexec/java_home` fi ;; esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then JAVA_HOME=`java-config --jre-home` fi fi if [ -z "$M2_HOME" ] ; then ## resolve links - $0 may be a link to maven's home PRG="$0" # need this for relative symlinks while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG="`dirname "$PRG"`/$link" fi done saveddir=`pwd` M2_HOME=`dirname "$PRG"`/.. # make it fully qualified M2_HOME=`cd "$M2_HOME" && pwd` cd "$saveddir" # echo Using m2 at $M2_HOME fi # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` fi # For Migwn, ensure paths are in UNIX format before anything is touched if $mingw ; then [ -n "$M2_HOME" ] && M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then javaExecutable="`which javac`" if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=`which readlink` if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then if $darwin ; then javaHome="`dirname \"$javaExecutable\"`" javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" else javaExecutable="`readlink -f \"$javaExecutable\"`" fi javaHome="`dirname \"$javaExecutable\"`" javaHome=`expr "$javaHome" : '\(.*\)/bin'` JAVA_HOME="$javaHome" export JAVA_HOME fi fi fi if [ -z "$JAVACMD" ] ; then if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else JAVACMD="`which java`" fi fi if [ ! -x "$JAVACMD" ] ; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher # For Cygwin, switch paths to Windows format before running java if $cygwin; then [ -n "$M2_HOME" ] && M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` fi # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { local basedir=$(pwd) local wdir=$(pwd) while [ "$wdir" != '/' ] ; do if [ -d "$wdir"/.mvn ] ; then basedir=$wdir break fi wdir=$(cd "$wdir/.."; pwd) done echo "${basedir}" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then echo "$(tr -s '\n' ' ' < "$1")" fi } export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)} MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} "$@" ================================================ FILE: chapter10/service-hi/mvnw.cmd ================================================ @REM ---------------------------------------------------------------------------- @REM Licensed to the Apache Software Foundation (ASF) under one @REM or more contributor license agreements. See the NOTICE file @REM distributed with this work for additional information @REM regarding copyright ownership. The ASF licenses this file @REM to you under the Apache License, Version 2.0 (the @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM @REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @REM KIND, either express or implied. See the License for the @REM specific language governing permissions and limitations @REM under the License. @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files @REM ---------------------------------------------------------------------------- @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' @echo off @REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" :skipRcPre @setlocal set ERROR_CODE=0 @REM To isolate internal variables from possible post scripts, we use another setlocal @setlocal @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome echo. echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init echo. echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 echo. goto error @REM ==== END VALIDATION ==== :init set MAVEN_CMD_LINE_ARGS=%* @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". @REM Fallback to current working directory if not found. set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir set EXEC_DIR=%CD% set WDIR=%EXEC_DIR% :findBaseDir IF EXIST "%WDIR%"\.mvn goto baseDirFound cd .. IF "%WDIR%"=="%CD%" goto baseDirNotFound set WDIR=%CD% goto findBaseDir :baseDirFound set MAVEN_PROJECTBASEDIR=%WDIR% cd "%EXEC_DIR%" goto endDetectBaseDir :baseDirNotFound set MAVEN_PROJECTBASEDIR=%EXEC_DIR% cd "%EXEC_DIR%" :endDetectBaseDir IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig @setlocal EnableExtensions EnableDelayedExpansion for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% :endReadAdditionalConfig SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="".\.mvn\wrapper\maven-wrapper.jar"" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CMD_LINE_ARGS% if ERRORLEVEL 1 goto error goto end :error set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' if "%MAVEN_BATCH_PAUSE%" == "on" pause if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% exit /B %ERROR_CODE% ================================================ FILE: chapter10/service-hi/pom.xml ================================================ 4.0.0 com.forezp service-hi 0.0.1-SNAPSHOT jar service-hi Demo project for Spring Boot org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASE UTF-8 UTF-8 1.8 org.springframework.cloud spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies Dalston.RC1 pom import org.springframework.boot spring-boot-maven-plugin spring-milestones Spring Milestones https://repo.spring.io/milestone false ================================================ FILE: chapter10/service-hi/src/main/java/com/forezp/ServiceHiApplication.java ================================================ package com.forezp; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @EnableEurekaClient @RestController public class ServiceHiApplication { public static void main(String[] args) { SpringApplication.run(ServiceHiApplication.class, args); } @Value("${server.port}") String port; @RequestMapping("/hi") public String home(@RequestParam String name) { return "hi "+name+",i am from port:" +port; } } ================================================ FILE: chapter10/service-hi/src/main/resources/bootstrap.yml ================================================ eureka: client: serviceUrl: defaultZone: http://peer2:8769/eureka/,http://peer1:8761/eureka/ server: port: 8762 spring: application: name: service-hi ================================================ FILE: chapter10/service-hi/src/test/java/com/forezp/ServiceHiApplicationTests.java ================================================ package com.forezp; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class ServiceHiApplicationTests { @Test public void contextLoads() { } } ================================================ FILE: chapter10-5-jdbc/.idea/compiler.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/encodings.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/inspectionProfiles/Project_Default.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/kotlinc.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_googlecode_javaewah_JavaEWAH_1_1_6.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_jcraft_jsch_0_1_54.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_jcraft_jzlib_1_1_1.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__com_zaxxer_HikariCP_3_2_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__io_micrometer_micrometer_core_1_1_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__junit_junit_4_12.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_13.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_9_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_6.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_10.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_12.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_12.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_12.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_assertj_assertj_core_3_11_1.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_eclipse_jgit_org_eclipse_jgit_5_1_3_201810200350_r.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_eclipse_jgit_org_eclipse_jgit_http_apache_5_1_3_201810200350_r.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_hamcrest_hamcrest_library_1_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_mockito_mockito_core_2_23_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_config_client_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_config_server_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_config_2_1_0_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_1_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_context_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_core_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_jdbc_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_test_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_tx_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_web_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_2.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/misc.xml ================================================ Android ================================================ FILE: chapter10-5-jdbc/.idea/modules.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/vcs.xml ================================================ ================================================ FILE: chapter10-5-jdbc/.idea/workspace.xml ================================================ true DEFINITION_ORDER