zoukankan      html  css  js  c++  java
  • Spring Cloud

    Features
    原文链接:https://www.zybuluo.com/Seymour/note/1229242
    I. Cloud Native Applications
    2. Spring Cloud Context: Application Context Services
    2.1. The Bootstrap Application Context
    2.2. Application Context Hierarchies
    2.3. Changing the Location of Bootstrap Properties
    2.4. Overriding the Values of Remote Properties
    2.5. Customizing the Bootstrap Configuration
    2.6. Customizing the Bootstrap Property Sources
    2.7. Logging Configuration
    2.8. Environment Changes
    2.9. Refresh Scope
    2.10. Encryption and Decryption
    2.11. Endpoints
    3. Spring Cloud Commons: Common Abstractions
    3.1. @EnableDiscoveryClient
    3.1.1. Health Indicator
    3.2. ServiceRegistry
    3.2.1. ServiceRegistry Auto-Registration
    3.2.2. Service Registry Actuator Endpoint
    3.3. Spring RestTemplate as a Load Balancer Client
    3.4. Spring WebClient as a Load Balancer Client
    3.4.1. Retrying Failed Requests
    3.5. Multiple RestTemplate objects
    3.6. Spring WebFlux WebClient as a Load Balancer Client
    3.7. Ignore Network Interfaces
    3.8. HTTP Client Factories
    3.9. Enabled Features
    3.9.1. Feature types
    3.9.2. Declaring features
    II. Spring Cloud Config
    4. Quick Start
    4.1. Client Side Usage
    5. Spring Cloud Config Server
    5.1. Environment Repository
    5.1.1. Git Backend
    Skipping SSL Certificate Validation
    Setting HTTP Connection Timeout
    Placeholders in Git URI
    Pattern Matching and Multiple Repositories
    Authentication
    Authentication with AWS CodeCommit
    Git SSH configuration using properties
    Placeholders in Git Search Paths
    Force pull in Git Repositories
    Deleting untracked branches in Git Repositories
    5.1.2. Version Control Backend Filesystem Use
    5.1.3. File System Backend
    5.1.4. Vault Backend
    Multiple Properties Sources
    5.1.5. Accessing Backends Through a Proxy
    5.1.6. Sharing Configuration With All Applications
    File Based Repositories
    Vault Server
    5.1.7. JDBC Backend
    5.1.8. Composite Environment Repositories
    Custom Composite Environment Repositories
    5.1.9. Property Overrides
    5.2. Health Indicator
    5.3. Security
    5.4. Encryption and Decryption
    5.5. Key Management
    5.6. Creating a Key Store for Testing
    5.7. Using Multiple Keys and Key Rotation
    5.8. Serving Encrypted Properties
    6. Serving Alternative Formats
    7. Serving Plain Text
    8. Embedding the Config Server
    9. Push Notifications and Spring Cloud Bus
    10. Spring Cloud Config Client
    10.1. Config First Bootstrap
    10.2. Discovery First Bootstrap
    10.3. Config Client Fail Fast
    10.4. Config Client Retry
    10.5. Locating Remote Configuration Resources
    10.6. Specifying Multiple Urls for the Config Server
    10.7. Configuring Read Timeouts
    10.8. Security
    10.8.1. Health Indicator
    10.8.2. Providing A Custom RestTemplate
    10.8.3. Vault
    10.9. Nested Keys In Vault
    III. Spring Cloud Netflix
    11. Service Discovery: Eureka Clients
    11.1. How to Include Eureka Client
    11.2. Registering with Eureka
    11.3. Authenticating with the Eureka Server
    11.4. Status Page and Health Indicator
    11.5. Registering a Secure Application
    11.6. Eureka’s Health Checks
    11.7. Eureka Metadata for Instances and Clients
    11.7.1. Using Eureka on Cloud Foundry
    11.7.2. Using Eureka on AWS
    11.7.3. Changing the Eureka Instance ID
    11.8. Using the EurekaClient
    11.8.1. EurekaClient without Jersey
    11.9. Alternatives to the Native Netflix EurekaClient
    11.10. Why Is It so Slow to Register a Service?
    11.11. Zones
    12. Service Discovery: Eureka Server
    12.1. How to Include Eureka Server
    12.2. How to Run a Eureka Server
    12.3. High Availability, Zones and Regions
    12.4. Standalone Mode
    12.5. Peer Awareness
    12.6. When to Prefer IP Address
    12.7. Securing The Eureka Server
    13. Circuit Breaker: Hystrix Clients
    13.1. How to Include Hystrix
    13.2. Propagating the Security Context or Using Spring Scopes
    13.3. Health Indicator
    13.4. Hystrix Metrics Stream
    14. Circuit Breaker: Hystrix Dashboard
    15. Hystrix Timeouts And Ribbon Clients
    15.1. How to Include the Hystrix Dashboard
    15.2. Turbine
    15.2.1. Clusters Endpoint
    15.3. Turbine Stream
    16. Client Side Load Balancer: Ribbon
    16.1. How to Include Ribbon
    16.2. Customizing the Ribbon Client
    16.3. Customizing the Default for All Ribbon Clients
    16.4. Customizing the Ribbon Client by Setting Properties
    16.5. Using Ribbon with Eureka
    16.6. Example: How to Use Ribbon Without Eureka
    16.7. Example: Disable Eureka Use in Ribbon
    16.8. Using the Ribbon API Directly
    16.9. Caching of Ribbon Configuration
    16.10. How to Configure Hystrix Thread Pools
    16.11. How to Provide a Key to Ribbon’s IRule
    17. External Configuration: Archaius
    18. Router and Filter: Zuul
    18.1. How to Include Zuul
    18.2. Embedded Zuul Reverse Proxy
    18.3. Zuul Http Client
    18.4. Cookies and Sensitive Headers
    18.5. Ignored Headers
    18.6. Management Endpoints
    18.6.1. Routes Endpoint
    18.6.2. Filters Endpoint
    18.7. Strangulation Patterns and Local Forwards
    18.8. Uploading Files through Zuul
    18.9. Query String Encoding
    18.10. Plain Embedded Zuul
    18.11. Disable Zuul Filters
    18.12. Providing Hystrix Fallbacks For Routes
    18.13. Zuul Timeouts
    18.14. Rewriting the Location header
    18.15. Metrics
    18.16. Zuul Developer Guide
    18.16.1. The Zuul Servlet
    18.16.2. Zuul RequestContext
    18.16.3. @EnableZuulProxy vs. @EnableZuulServer
    18.16.4. @EnableZuulServer Filters
    18.16.5. @EnableZuulProxy Filters
    18.16.6. Custom Zuul Filter Examples
    How to Write a Pre Filter
    How to Write a Route Filter
    How to Write a Post Filter
    18.16.7. How Zuul Errors Work
    18.16.8. Zuul Eager Application Context Loading
    19. Polyglot support with Sidecar
    20. Retrying Failed Requests
    20.1. BackOff Policies
    20.2. Configuration
    20.2.1. Zuul
    21. HTTP Clients
    IV. Spring Cloud OpenFeign
    22. Declarative REST Client: Feign
    22.1. How to Include Feign
    22.2. Overriding Feign Defaults
    22.3. Creating Feign Clients Manually
    22.4. Feign Hystrix Support
    22.5. Feign Hystrix Fallbacks
    22.6. Feign and @Primary
    22.7. Feign Inheritance Support
    22.8. Feign request/response compression
    22.9. Feign logging
    V. Spring Cloud Stream
    23. Quick Start
    23.1. Creating a Sample Application by Using Spring Initializr
    23.2. Importing the Project into Your IDE
    23.3. Adding a Message Handler, Building, and Running
    24. What’s New in 2.0?
    24.1. New Features and Components
    24.2. Notable Enhancements
    24.2.1. Both Actuator and Web Dependencies Are Now Optional
    24.2.2. Content-type Negotiation Improvements
    24.3. Notable Deprecations
    24.3.1. Java Serialization (Java Native and Kryo)
    24.3.2. Deprecated Classes and Methods
    25. Introducing Spring Cloud Stream
    26. Main Concepts
    26.1. Application Model
    26.1.1. Fat JAR
    26.2. The Binder Abstraction
    26.3. Persistent Publish-Subscribe Support
    26.4. Consumer Groups
    26.5. Consumer Types
    26.5.1. Durability
    26.6. Partitioning Support
    27. Programming Model
    27.1. Destination Binders
    27.2. Destination Bindings
    27.3. Producing and Consuming Messages
    27.3.1. Spring Integration Support
    27.3.2. Using @StreamListener Annotation
    27.3.3. Using @StreamListener for Content-based routing
    27.3.4. Using Polled Consumers
    27.4. Error Handling
    27.4.1. Application Error Handling
    27.4.2. System Error Handling
    Drop Failed Messages
    DLQ - Dead Letter Queue
    Re-queue Failed Messages
    27.4.3. Retry Template
    27.5. Reactive Programming Support
    27.5.1. Reactor-based Handlers
    27.5.2. Reactive Sources
    28. Binders
    28.1. Producers and Consumers
    28.2. Binder SPI
    28.3. Binder Detection
    28.3.1. Classpath Detection
    28.4. Multiple Binders on the Classpath
    28.5. Connecting to Multiple Systems
    28.6. Binding visualization and control
    28.7. Binder Configuration Properties
    29. Configuration Options
    29.1. Binding Service Properties
    29.2. Binding Properties
    29.2.1. Common Binding Properties
    29.2.2. Consumer Properties
    29.2.3. Producer Properties
    29.3. Using Dynamically Bound Destinations
    30. Content Type Negotiation
    30.1. Mechanics
    30.1.1. Content Type versus Argument Type
    30.1.2. Message Converters
    30.2. Provided MessageConverters
    30.3. User-defined Message Converters
    31. Schema Evolution Support
    31.1. Schema Registry Client
    31.1.1. Schema Registry Client Properties
    31.2. Avro Schema Registry Client Message Converters
    31.2.1. Avro Schema Registry Message Converter Properties
    31.3. Apache Avro Message Converters
    31.4. Converters with Schema Support
    31.5. Schema Registry Server
    31.5.1. Schema Registry Server API
    Registering a New Schema
    Retrieving an Existing Schema by Subject, Format, and Version
    Retrieving an Existing Schema by Subject and Format
    Retrieving an Existing Schema by ID
    Deleting a Schema by Subject, Format, and Version
    Deleting a Schema by ID
    Deleting a Schema by Subject
    31.5.2. Using Confluent’s Schema Registry
    31.6. Schema Registration and Resolution
    31.6.1. Schema Registration Process (Serialization)
    31.6.2. Schema Resolution Process (Deserialization)
    32. Inter-Application Communication
    32.1. Connecting Multiple Application Instances
    32.2. Instance Index and Instance Count
    32.3. Partitioning
    32.3.1. Configuring Output Bindings for Partitioning
    32.3.2. Configuring Input Bindings for Partitioning
    33. Testing
    33.1. Disabling the Test Binder Autoconfiguration
    34. Health Indicator
    35. Metrics Emitter
    36. Samples
    36.1. Deploying Stream Applications on CloudFoundry
    VI. Binder Implementations
    37. Apache Kafka Binder
    37.1. Usage
    37.2. Apache Kafka Binder Overview
    37.3. Configuration Options
    37.3.1. Kafka Binder Properties
    37.3.2. Kafka Consumer Properties
    37.3.3. Kafka Producer Properties
    37.3.4. Usage examples
    Example: Setting autoCommitOffset to false and Relying on Manual Acking
    Example: Security Configuration
    Example: Pausing and Resuming the Consumer
    37.4. Error Channels
    37.5. Kafka Metrics
    37.6. Dead-Letter Topic Processing
    37.7. Partitioning with the Kafka Binder
    38. Apache Kafka Streams Binder
    38.1. Usage
    38.2. Kafka Streams Binder Overview
    38.2.1. Streams DSL
    38.3. Configuration Options
    38.3.1. Kafka Streams Properties
    38.3.2. TimeWindow properties:
    38.4. Multiple Input Bindings
    38.4.1. Multiple Input Bindings as a Sink
    38.4.2. Multiple Input Bindings as a Processor
    38.5. Multiple Output Bindings (aka Branching)
    38.6. Message Conversion
    38.6.1. Outbound serialization
    38.6.2. Inbound Deserialization
    38.7. Error Handling
    38.7.1. Handling Deserialization Exceptions
    38.7.2. Handling Non-Deserialization Exceptions
    38.8. Interactive Queries
    39. RabbitMQ Binder
    39.1. Usage
    39.2. RabbitMQ Binder Overview
    39.3. Configuration Options
    39.3.1. RabbitMQ Binder Properties
    39.3.2. RabbitMQ Consumer Properties
    39.3.3. Rabbit Producer Properties
    39.4. Retry With the RabbitMQ Binder
    39.4.1. Putting it All Together
    39.5. Error Channels
    39.6. Dead-Letter Queue Processing
    39.6.1. Non-Partitioned Destinations
    39.6.2. Partitioned Destinations
    republishToDlq=false
    republishToDlq=true
    39.7. Partitioning with the RabbitMQ Binder
    VII. Spring Cloud Bus
    40. Quick Start
    41. Bus Endpoints
    41.1. Bus Refresh Endpoint
    41.2. Bus Env Endpoint
    42. Addressing an Instance
    43. Addressing All Instances of a Service
    44. Service ID Must Be Unique
    45. Customizing the Message Broker
    46. Tracing Bus Events
    47. Broadcasting Your Own Events
    47.1. Registering events in custom packages
    VIII. Spring Cloud Sleuth
    48. Introduction
    48.1. Terminology
    48.2. Purpose
    48.2.1. Distributed Tracing with Zipkin
    48.2.2. Visualizing errors
    48.2.3. Distributed Tracing with Brave
    48.2.4. Live examples
    48.2.5. Log correlation
    JSON Logback with Logstash
    48.2.6. Propagating Span Context
    Baggage versus Span Tags
    48.3. Adding Sleuth to the Project
    48.3.1. Only Sleuth (log correlation)
    48.3.2. Sleuth with Zipkin via HTTP
    48.3.3. Sleuth with Zipkin over RabbitMQ or Kafka
    49. Additional Resources
    50. Features
    50.1. Introduction to Brave
    50.1.1. Tracing
    50.1.2. Local Tracing
    50.1.3. Customizing Spans
    50.1.4. Implicitly Looking up the Current Span
    50.1.5. RPC tracing
    One-Way tracing
    51. Sampling
    51.1. Declarative sampling
    51.2. Custom sampling
    51.3. Sampling in Spring Cloud Sleuth
    52. Propagation
    52.1. Propagating extra fields
    52.1.1. Prefixed fields
    52.1.2. Extracting a Propagated Context
    52.1.3. Sharing span IDs between Client and Server
    52.1.4. Implementing Propagation
    53. Current Tracing Component
    54. Current Span
    54.1. Setting a span in scope manually
    55. Instrumentation
    56. Span lifecycle
    56.1. Creating and finishing spans
    56.2. Continuing Spans
    56.3. Creating a Span with an explicit Parent
    57. Naming spans
    57.1. @SpanName Annotation
    57.2. toString() method
    58. Managing Spans with Annotations
    58.1. Rationale
    58.2. Creating New Spans
    58.3. Continuing Spans
    58.4. Advanced Tag Setting
    58.4.1. Custom extractor
    58.4.2. Resolving Expressions for a Value
    58.4.3. Using the toString() method
    59. Customizations
    59.1. HTTP
    59.2. TracingFilter
    59.3. Custom service name
    59.4. Customization of Reported Spans
    59.5. Host Locator
    60. Sending Spans to Zipkin
    61. Zipkin Stream Span Consumer
    62. Integrations
    62.1. OpenTracing
    62.2. Runnable and Callable
    62.3. Hystrix
    62.3.1. Custom Concurrency Strategy
    62.3.2. Manual Command setting
    62.4. RxJava
    62.5. HTTP integration
    62.5.1. HTTP Filter
    62.5.2. HandlerInterceptor
    62.5.3. Async Servlet support
    62.5.4. WebFlux support
    62.5.5. Dubbo RPC support
    62.6. HTTP Client Integration
    62.6.1. Synchronous Rest Template
    62.6.2. Asynchronous Rest Template
    Multiple Asynchronous Rest Templates
    62.6.3. WebClient
    62.6.4. Traverson
    62.6.5. Apache HttpClientBuilder and HttpAsyncClientBuilder
    62.6.6. Netty HttpClient
    62.6.7. UserInfoRestTemplateCustomizer
    62.7. Feign
    62.8. Asynchronous Communication
    62.8.1. @Async Annotated methods
    62.8.2. @Scheduled Annotated Methods
    62.8.3. Executor, ExecutorService, and ScheduledExecutorService
    Customization of Executors
    62.9. Messaging
    62.9.1. Spring Integration and Spring Cloud Stream
    62.9.2. Spring RabbitMq
    62.9.3. Spring Kafka
    62.10. Zuul
    63. Running examples
    IX. Spring Cloud Consul
    64. Install Consul
    65. Consul Agent
    66. Service Discovery with Consul
    66.1. How to activate
    66.2. Registering with Consul
    66.3. HTTP Health Check
    66.3.1. Metadata and Consul tags
    66.3.2. Making the Consul Instance ID Unique
    66.4. Looking up services
    66.4.1. Using Ribbon
    66.4.2. Using the DiscoveryClient
    66.5. Consul Catalog Watch
    67. Distributed Configuration with Consul
    67.1. How to activate
    67.2. Customizing
    67.3. Config Watch
    67.4. YAML or Properties with Config
    67.5. git2consul with Config
    67.6. Fail Fast
    68. Consul Retry
    69. Spring Cloud Bus with Consul
    69.1. How to activate
    70. Circuit Breaker with Hystrix
    71. Hystrix metrics aggregation with Turbine and Consul
    X. Spring Cloud Zookeeper
    72. Install Zookeeper
    73. Service Discovery with Zookeeper
    73.1. Activating
    73.2. Registering with Zookeeper
    73.3. Using the DiscoveryClient
    74. Using Spring Cloud Zookeeper with Spring Cloud Netflix Components
    74.1. Ribbon with Zookeeper
    75. Spring Cloud Zookeeper and Service Registry
    75.1. Instance Status
    76. Zookeeper Dependencies
    76.1. Using the Zookeeper Dependencies
    76.2. Activating Zookeeper Dependencies
    76.3. Setting up Zookeeper Dependencies
    76.3.1. Aliases
    76.3.2. Path
    76.3.3. Load Balancer Type
    76.3.4. Content-Type Template and Version
    76.3.5. Default Headers
    76.3.6. Required Dependencies
    76.3.7. Stubs
    76.4. Configuring Spring Cloud Zookeeper Dependencies
    77. Spring Cloud Zookeeper Dependency Watcher
    77.1. Activating
    77.2. Registering a Listener
    77.3. Using the Presence Checker
    78. Distributed Configuration with Zookeeper
    78.1. Activating
    78.2. Customizing
    78.3. Access Control Lists (ACLs)
    XI. Spring Cloud Security
    79. Quickstart
    79.1. OAuth2 Single Sign On
    79.2. OAuth2 Protected Resource
    80. More Detail
    80.1. Single Sign On
    80.2. Token Relay
    80.2.1. Client Token Relay
    80.2.2. Client Token Relay in Zuul Proxy
    80.2.3. Resource Server Token Relay
    81. Configuring Authentication Downstream of a Zuul Proxy
    XII. Spring Cloud for Cloud Foundry
    82. Discovery
    83. Single Sign On
    XIII. Spring Cloud Contract
    84. Spring Cloud Contract
    85. Spring Cloud Contract Verifier Introduction
    85.1. Why a Contract Verifier?
    85.1.1. Testing issues
    85.2. Purposes
    85.3. How It Works
    85.3.1. A Three-second Tour
    On the Producer Side
    On the Consumer Side
    85.3.2. A Three-minute Tour
    On the Producer Side
    On the Consumer Side
    85.3.3. Defining the Contract
    85.3.4. Client Side
    85.3.5. Server Side
    85.4. Step-by-step Guide to Consumer Driven Contracts (CDC)
    85.4.1. Technical note
    85.4.2. Consumer side (Loan Issuance)
    85.4.3. Producer side (Fraud Detection server)
    85.4.4. Consumer Side (Loan Issuance) Final Step
    85.5. Dependencies
    85.6. Additional Links
    85.6.1. Spring Cloud Contract video
    85.6.2. Readings
    85.7. Samples
    86. Spring Cloud Contract FAQ
    86.1. Why use Spring Cloud Contract Verifier and not X ?
    86.2. I don’t want to write a contract in Groovy!
    86.3. What is this value(consumer(), producer()) ?
    86.4. How to do Stubs versioning?
    86.4.1. API Versioning
    86.4.2. JAR versioning
    86.4.3. Dev or prod stubs
    86.5. Common repo with contracts
    86.5.1. Repo structure
    86.5.2. Workflow
    86.5.3. Consumer
    86.5.4. Producer
    86.5.5. How can I define messaging contracts per topic not per producer?
    For Maven Project
    For Gradle Project
    86.6. Do I need a Binary Storage? Can’t I use Git?
    86.6.1. Protocol convention
    86.6.2. Producer
    86.6.3. Consumer
    86.7. Can I use the Pact Broker?
    86.7.1. Pact Consumer
    86.7.2. Producer
    86.7.3. Pact Consumer (Producer Contract approach)
    86.8. How can I debug the request/response being sent by the generated tests client?
    86.8.1. How can I debug the mapping/request/response being sent by WireMock?
    86.8.2. How can I see what got registered in the HTTP server stub?
    86.8.3. Can I reference text from file?
    87. Spring Cloud Contract Verifier Setup
    87.1. Gradle Project
    87.1.1. Prerequisites
    87.1.2. Add Gradle Plugin with Dependencies
    87.1.3. Gradle and Rest Assured 2.0
    87.1.4. Snapshot Versions for Gradle
    87.1.5. Add stubs
    87.1.6. Run the Plugin
    87.1.7. Default Setup
    87.1.8. Configure Plugin
    87.1.9. Configuration Options
    87.1.10. Single Base Class for All Tests
    87.1.11. Different Base Classes for Contracts
    87.1.12. Invoking Generated Tests
    87.1.13. Pushing stubs to SCM
    87.1.14. Spring Cloud Contract Verifier on the Consumer Side
    87.2. Maven Project
    87.2.1. Add maven plugin
    87.2.2. Maven and Rest Assured 2.0
    87.2.3. Snapshot versions for Maven
    87.2.4. Add stubs
    87.2.5. Run plugin
    87.2.6. Configure plugin
    87.2.7. Configuration Options
    87.2.8. Single Base Class for All Tests
    87.2.9. Different base classes for contracts
    87.2.10. Invoking generated tests
    87.2.11. Pushing stubs to SCM
    87.2.12. Maven Plugin and STS
    87.3. Stubs and Transitive Dependencies
    87.4. CI Server setup
    87.5. Scenarios
    87.6. Docker Project
    87.6.1. Short intro to Maven, JARs and Binary storage
    87.6.2. How it works
    Environment Variables
    87.6.3. Example of usage
    87.6.4. Server side (nodejs)
    88. Spring Cloud Contract Verifier Messaging
    88.1. Integrations
    88.2. Manual Integration Testing
    88.3. Publisher-Side Test Generation
    88.3.1. Scenario 1: No Input Message
    88.3.2. Scenario 2: Output Triggered by Input
    88.3.3. Scenario 3: No Output Message
    88.4. Consumer Stub Generation
    89. Spring Cloud Contract Stub Runner
    89.1. Snapshot versions
    89.2. Publishing Stubs as JARs
    89.3. Stub Runner Core
    89.3.1. Retrieving stubs
    Stub downloading
    Classpath scanning
    89.3.2. Running stubs
    Limitations
    Running using main app
    HTTP Stubs
    Viewing registered mappings
    Messaging Stubs
    89.4. Stub Runner JUnit Rule
    89.4.1. Maven settings
    89.4.2. Providing fixed ports
    89.4.3. Fluent API
    89.4.4. Stub Runner with Spring
    89.5. Stub Runner Spring Cloud
    89.5.1. Stubbing Service Discovery
    Test profiles and service discovery
    89.5.2. Additional Configuration
    89.6. Stub Runner Boot Application
    89.6.1. How to use it?
    Stub Runner Server
    Stub Runner Server Fat Jar
    Spring Cloud CLI
    89.6.2. Endpoints
    HTTP
    Messaging
    89.6.3. Example
    89.6.4. Stub Runner Boot with Service Discovery
    89.7. Stubs Per Consumer
    89.8. Common
    89.8.1. Common Properties for JUnit and Spring
    89.8.2. Stub Runner Stubs IDs
    89.9. Stub Runner Docker
    89.9.1. How to use it
    89.9.2. Example of client side usage in a non JVM project
    90. Stub Runner for Messaging
    90.1. Stub triggering
    90.1.1. Trigger by Label
    90.1.2. Trigger by Group and Artifact Ids
    90.1.3. Trigger by Artifact Ids
    90.1.4. Trigger All Messages
    90.2. Stub Runner Integration
    90.2.1. Adding the Runner to the Project
    90.2.2. Disabling the functionality
    Scenario 1 (no input message)
    Scenario 2 (output triggered by input)
    Scenario 3 (input with no output)
    90.3. Stub Runner Stream
    90.3.1. Adding the Runner to the Project
    90.3.2. Disabling the functionality
    Scenario 1 (no input message)
    Scenario 2 (output triggered by input)
    Scenario 3 (input with no output)
    90.4. Stub Runner Spring AMQP
    90.4.1. Adding the Runner to the Project
    Triggering the message
    Spring AMQP Test Configuration
    91. Contract DSL
    91.1. Limitations
    91.2. Common Top-Level elements
    91.2.1. Description
    91.2.2. Name
    91.2.3. Ignoring Contracts
    91.2.4. Passing Values from Files
    91.2.5. HTTP Top-Level Elements
    91.3. Request
    91.4. Response
    91.5. Dynamic properties
    91.5.1. Dynamic properties inside the body
    91.5.2. Regular expressions
    91.5.3. Passing Optional Parameters
    91.5.4. Executing Custom Methods on the Server Side
    91.5.5. Referencing the Request from the Response
    91.5.6. Registering Your Own WireMock Extension
    91.5.7. Dynamic Properties in the Matchers Sections
    91.6. JAX-RS Support
    91.7. Async Support
    91.8. Working with Context Paths
    91.9. Messaging Top-Level Elements
    91.9.1. Output Triggered by a Method
    91.9.2. Output Triggered by a Message
    91.9.3. Consumer/Producer
    91.9.4. Common
    91.10. Multiple Contracts in One File
    91.11. Generating Spring REST Docs snippets from the contracts
    92. Customization
    92.1. Extending the DSL
    92.1.1. Common JAR
    92.1.2. Adding the Dependency to the Project
    92.1.3. Test the Dependency in the Project’s Dependencies
    92.1.4. Test a Dependency in the Plugin’s Dependencies
    92.1.5. Referencing classes in DSLs
    93. Using the Pluggable Architecture
    93.1. Custom Contract Converter
    93.1.1. Pact Converter
    93.1.2. Pact Contract
    93.1.3. Pact for Producers
    93.1.4. Pact for Consumers
    93.2. Using the Custom Test Generator
    93.3. Using the Custom Stub Generator
    93.4. Using the Custom Stub Runner
    93.5. Using the Custom Stub Downloader
    93.6. Using the SCM Stub Downloader
    93.7. Using the Pact Stub Downloader
    94. Spring Cloud Contract WireMock
    94.1. Registering Stubs Automatically
    94.2. Using Files to Specify the Stub Bodies
    94.3. Alternative: Using JUnit Rules
    94.4. Relaxed SSL Validation for Rest Template
    94.5. WireMock and Spring MVC Mocks
    94.6. Customization of WireMock configuration
    94.7. Generating Stubs using REST Docs
    94.8. Generating Contracts by Using REST Docs
    95. Migrations
    95.1. 1.0.x → 1.1.x
    95.1.1. New structure of generated stubs
    95.2. 1.1.x → 1.2.x
    95.2.1. Custom HttpServerStub
    95.2.2. New packages for generated tests
    95.2.3. New Methods in TemplateProcessor
    95.2.4. RestAssured 3.0
    95.3. 1.2.x → 2.0.x
    95.3.1. No Camel support
    96. Links
    XIV. Spring Cloud Vault
    97. Quick Start
    98. Client Side Usage
    98.1. Authentication
    99. Authentication methods
    99.1. Token authentication
    99.2. AppId authentication
    99.2.1. Custom UserId
    99.3. AppRole authentication
    99.4. AWS-EC2 authentication
    99.5. AWS-IAM authentication
    99.6. TLS certificate authentication
    99.7. Cubbyhole authentication
    99.8. Kubernetes authentication
    100. Secret Backends
    100.1. Generic Backend
    100.2. Versioned Key-Value Backend
    100.3. Consul
    100.4. RabbitMQ
    100.5. AWS
    101. Database backends
    101.1. Database
    101.2. Apache Cassandra
    101.3. MongoDB
    101.4. MySQL
    101.5. PostgreSQL
    102. Configure PropertySourceLocator behavior
    103. Service Registry Configuration
    104. Vault Client Fail Fast
    105. Vault Client SSL configuration
    106. Lease lifecycle management (renewal and revocation)
    XV. Spring Cloud Gateway
    107. How to Include Spring Cloud Gateway
    108. Glossary
    109. How It Works
    110. Route Predicate Factories
    110.1. After Route Predicate Factory
    110.2. Before Route Predicate Factory
    110.3. Between Route Predicate Factory
    110.4. Cookie Route Predicate Factory
    110.5. Header Route Predicate Factory
    110.6. Host Route Predicate Factory
    110.7. Method Route Predicate Factory
    110.8. Path Route Predicate Factory
    110.9. Query Route Predicate Factory
    110.10. RemoteAddr Route Predicate Factory
    110.10.1. Modifying the way remote addresses are resolved
    111. GatewayFilter Factories
    111.1. AddRequestHeader GatewayFilter Factory
    111.2. AddRequestParameter GatewayFilter Factory
    111.3. AddResponseHeader GatewayFilter Factory
    111.4. Hystrix GatewayFilter Factory
    111.5. PrefixPath GatewayFilter Factory
    111.6. PreserveHostHeader GatewayFilter Factory
    111.7. RequestRateLimiter GatewayFilter Factory
    111.7.1. Redis RateLimiter
    111.8. RedirectTo GatewayFilter Factory
    111.9. RemoveNonProxyHeaders GatewayFilter Factory
    111.10. RemoveRequestHeader GatewayFilter Factory
    111.11. RemoveResponseHeader GatewayFilter Factory
    111.12. RewritePath GatewayFilter Factory
    111.13. SaveSession GatewayFilter Factory
    111.14. SecureHeaders GatewayFilter Factory
    111.15. SetPath GatewayFilter Factory
    111.16. SetResponseHeader GatewayFilter Factory
    111.17. SetStatus GatewayFilter Factory
    111.18. StripPrefix GatewayFilter Factory
    111.19. Retry GatewayFilter Factory
    112. Global Filters
    112.1. Combined Global Filter and GatewayFilter Ordering
    112.2. Forward Routing Filter
    112.3. LoadBalancerClient Filter
    112.4. Netty Routing Filter
    112.5. Netty Write Response Filter
    112.6. RouteToRequestUrl Filter
    112.7. Websocket Routing Filter
    112.8. Making An Exchange As Routed
    113. Configuration
    113.1. Fluent Java Routes API
    113.2. DiscoveryClient Route Definition Locator
    114. Actuator API
    115. Developer Guide
    115.1. Writing Custom Route Predicate Factories
    115.2. Writing Custom GatewayFilter Factories
    115.3. Writing Custom Global Filters
    115.4. Writing Custom Route Locators and Writers
    116. Building a Simple Gateway Using Spring MVC or Webflux
    XVI. Spring Cloud Function
    117. Introduction
    118. Getting Started
    119. Building and Running a Function
    120. Function Catalog and Flexible Function Signatures
    121. Standalone Web Applications
    122. Standalone Streaming Applications
    123. Deploying a Packaged Function
    124. Dynamic Compilation
    125. Serverless Platform Adapters
    125.1. AWS Lambda
    125.1.1. Introduction
    125.1.2. Notes on JAR Layout
    125.1.3. Upload
    125.1.4. Platfom Specific Features
    HTTP and API Gateway
    125.2. Azure Functions
    125.2.1. Notes on JAR Layout
    125.2.2. JSON Configuration
    125.2.3. Build
    125.2.4. Running the sample
    125.3. Apache Openwhisk
    125.3.1. Quick Start
    XVII. Appendix: Compendium of Configuration Properties

    宁鸣默笙
  • 相关阅读:
    HDU 2001 计算亮点间的距离
    HDU 1003 Max Sum
    HDU 2091 空心三角形
    HDU 2021 发工资咯:)
    HDU 2028Lowest Common Multiple Plus
    asp.net面试题
    BSD socket
    循环添加textbox的数据
    总结一下网站注入与防范的方法
    net生成12位随机数
  • 原文地址:https://www.cnblogs.com/Solomon-xm/p/9379144.html
Copyright © 2011-2022 走看看