gitextract_c_qmn9s_/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation_issue.yml │ │ ├── feature_request.yml │ │ └── question.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── checkstyle.yml │ ├── linelint.yml │ ├── maven.yml │ ├── rat_check.yml │ └── typo_check.yml ├── .gitignore ├── .typos.toml ├── LICENSE ├── NOTICE ├── README.md ├── README_ZH.md ├── ci/ │ ├── README.md │ ├── checkstyle/ │ │ ├── checkstyle.xml │ │ └── suppressions.xml │ └── spotbugs/ │ └── exclude.xml ├── clients/ │ ├── README.md │ ├── config-center-client/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── config/ │ │ └── center/ │ │ └── client/ │ │ ├── ConfigCenterAddressManager.java │ │ ├── ConfigCenterClient.java │ │ ├── ConfigCenterConfigurationChangedEvent.java │ │ ├── ConfigCenterManager.java │ │ ├── ConfigCenterOperation.java │ │ └── model/ │ │ ├── ConfigCenterConfiguration.java │ │ ├── QueryConfigurationsRequest.java │ │ └── QueryConfigurationsResponse.java │ ├── config-common/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── config/ │ │ └── common/ │ │ ├── ConfigConverter.java │ │ └── exception/ │ │ └── OperationException.java │ ├── config-kie-client/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ └── kie/ │ │ │ └── client/ │ │ │ ├── KieClient.java │ │ │ ├── KieConfigManager.java │ │ │ ├── KieConfigOperation.java │ │ │ ├── KieConfigurationChangedEvent.java │ │ │ └── model/ │ │ │ ├── ConfigConstants.java │ │ │ ├── ConfigurationsRequest.java │ │ │ ├── ConfigurationsRequestFactory.java │ │ │ ├── ConfigurationsResponse.java │ │ │ ├── KVDoc.java │ │ │ ├── KVResponse.java │ │ │ ├── KieAddressManager.java │ │ │ ├── KieConfiguration.java │ │ │ ├── LabelDocResponse.java │ │ │ └── ValueType.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── config/ │ │ └── kie/ │ │ └── client/ │ │ └── model/ │ │ ├── ConfigurationsRequestTest.java │ │ └── KieAddressManagerTest.java │ ├── dashboard-client/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── dashboard/ │ │ │ └── client/ │ │ │ ├── DashboardAddressManager.java │ │ │ ├── DashboardClient.java │ │ │ ├── DashboardOperation.java │ │ │ └── model/ │ │ │ ├── InterfaceInfo.java │ │ │ └── MonitorData.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── dashboard/ │ │ └── client/ │ │ └── AddressManagerTest.java │ ├── http-client-common/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── http/ │ │ │ └── client/ │ │ │ ├── auth/ │ │ │ │ ├── DefaultRequestAuthHeaderProvider.java │ │ │ │ └── RequestAuthHeaderProvider.java │ │ │ ├── common/ │ │ │ │ ├── AbstractAddressManager.java │ │ │ │ ├── HttpConfiguration.java │ │ │ │ ├── HttpRequest.java │ │ │ │ ├── HttpResponse.java │ │ │ │ ├── HttpTransport.java │ │ │ │ ├── HttpTransportFactory.java │ │ │ │ ├── HttpTransportImpl.java │ │ │ │ ├── HttpUtils.java │ │ │ │ ├── MessageObjectMapper.java │ │ │ │ ├── SSLSocketFactoryExt.java │ │ │ │ ├── URLEndPoint.java │ │ │ │ ├── WebSocketListener.java │ │ │ │ └── WebSocketTransport.java │ │ │ ├── event/ │ │ │ │ ├── EngineConnectChangedEvent.java │ │ │ │ ├── OperationEvents.java │ │ │ │ └── RefreshEndpointEvent.java │ │ │ ├── task/ │ │ │ │ ├── AbstractTask.java │ │ │ │ └── Task.java │ │ │ └── utils/ │ │ │ └── ServiceCombServiceAvailableUtils.java │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── http/ │ │ │ └── client/ │ │ │ └── common/ │ │ │ ├── AbstractAddressManagerTest.java │ │ │ └── HttpTransportImplTest.java │ │ └── resources/ │ │ └── tls/ │ │ ├── client.p12 │ │ └── server.jks │ ├── pom.xml │ └── service-center-client/ │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── service/ │ │ └── center/ │ │ └── client/ │ │ ├── CacheableServiceCenterOperation.java │ │ ├── DiscoveryEvents.java │ │ ├── RegistrationEvents.java │ │ ├── ServiceCenterAddressManager.java │ │ ├── ServiceCenterClient.java │ │ ├── ServiceCenterDiscovery.java │ │ ├── ServiceCenterOperation.java │ │ ├── ServiceCenterRawClient.java │ │ ├── ServiceCenterRegistration.java │ │ ├── ServiceCenterWatch.java │ │ ├── exception/ │ │ │ └── OperationException.java │ │ └── model/ │ │ ├── BasePath.java │ │ ├── CreateMicroserviceInstanceRequest.java │ │ ├── CreateMicroserviceRequest.java │ │ ├── CreateSchemaRequest.java │ │ ├── DataCenterInfo.java │ │ ├── ErrorMessage.java │ │ ├── FindMicroserviceInstancesResponse.java │ │ ├── Framework.java │ │ ├── GetSchemaListResponse.java │ │ ├── GetSchemaResponse.java │ │ ├── HealthCheck.java │ │ ├── HealthCheckMode.java │ │ ├── HeartbeatsRequest.java │ │ ├── InstancesRequest.java │ │ ├── Microservice.java │ │ ├── MicroserviceInstance.java │ │ ├── MicroserviceInstanceResponse.java │ │ ├── MicroserviceInstanceStatus.java │ │ ├── MicroserviceInstancesResponse.java │ │ ├── MicroserviceResponse.java │ │ ├── MicroserviceStatus.java │ │ ├── MicroservicesResponse.java │ │ ├── ModifySchemasRequest.java │ │ ├── RbacTokenRequest.java │ │ ├── RbacTokenResponse.java │ │ ├── RegisteredMicroserviceInstanceResponse.java │ │ ├── RegisteredMicroserviceResponse.java │ │ ├── SchemaInfo.java │ │ ├── ServiceCenterConfiguration.java │ │ └── UpdatePropertiesRequest.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── service/ │ │ └── center/ │ │ └── client/ │ │ ├── ServiceCenterAddressManagerTest.java │ │ ├── ServiceCenterClientTest.java │ │ └── ServiceCenterRawClientTest.java │ └── resources/ │ └── tls/ │ ├── client.p12 │ └── server.jks ├── common/ │ ├── common-access-log/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── common/ │ │ │ │ └── accessLog/ │ │ │ │ ├── AccessLogBootListener.java │ │ │ │ ├── AccessLogBootstrap.java │ │ │ │ ├── AccessLogConfig.java │ │ │ │ ├── AccessLogConfiguration.java │ │ │ │ ├── AccessLogInitializer.java │ │ │ │ ├── client/ │ │ │ │ │ └── ClientDefaultInitializer.java │ │ │ │ ├── core/ │ │ │ │ │ ├── AccessLogGenerator.java │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── AccessLogItem.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── ConfigurableDatetimeAccessItem.java │ │ │ │ │ │ ├── CookieAccessItem.java │ │ │ │ │ │ ├── DurationMillisecondAccessItem.java │ │ │ │ │ │ ├── DurationSecondAccessItem.java │ │ │ │ │ │ ├── FirstLineOfRequestAccessItem.java │ │ │ │ │ │ ├── HttpMethodAccessItem.java │ │ │ │ │ │ ├── HttpStatusAccessItem.java │ │ │ │ │ │ ├── InvocationContextAccessItem.java │ │ │ │ │ │ ├── LocalHostAccessItem.java │ │ │ │ │ │ ├── LocalPortAccessItem.java │ │ │ │ │ │ ├── PlainTextAccessItem.java │ │ │ │ │ │ ├── QueryStringAccessItem.java │ │ │ │ │ │ ├── RemoteHostAccessItem.java │ │ │ │ │ │ ├── RequestHeaderAccessItem.java │ │ │ │ │ │ ├── RequestProtocolAccessItem.java │ │ │ │ │ │ ├── ResponseHeaderAccessItem.java │ │ │ │ │ │ ├── ResponseSizeAccessItem.java │ │ │ │ │ │ ├── TraceIdAccessItem.java │ │ │ │ │ │ ├── TransportAccessItem.java │ │ │ │ │ │ ├── UrlPathAccessItem.java │ │ │ │ │ │ └── UrlPathWithQueryAccessItem.java │ │ │ │ │ ├── parser/ │ │ │ │ │ │ ├── AccessLogItemCreator.java │ │ │ │ │ │ ├── AccessLogItemMeta.java │ │ │ │ │ │ ├── AccessLogPatternParser.java │ │ │ │ │ │ ├── CompositeVertxRestAccessLogItemMeta.java │ │ │ │ │ │ ├── VertxRestAccessLogItemMeta.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── DefaultCompositeVertxRestAccessLogItemMeta.java │ │ │ │ │ │ └── VertxRestAccessLogPatternParser.java │ │ │ │ │ └── placeholder/ │ │ │ │ │ └── AccessLogItemTypeEnum.java │ │ │ │ └── server/ │ │ │ │ └── ServerDefaultInitializer.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ ├── org.apache.servicecomb.common.accessLog.AccessLogInitializer │ │ │ │ └── org.apache.servicecomb.common.accessLog.core.parser.VertxRestAccessLogItemMeta │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── common/ │ │ │ └── accessLog/ │ │ │ └── core/ │ │ │ ├── AccessLogGeneratorTest.java │ │ │ ├── element/ │ │ │ │ └── impl/ │ │ │ │ ├── CookieItemTest.java │ │ │ │ ├── DatetimeConfigurableItemTest.java │ │ │ │ ├── DurationMillisecondItemTest.java │ │ │ │ ├── DurationSecondItemTest.java │ │ │ │ ├── FirstLineOfRequestItemTest.java │ │ │ │ ├── HttpMethodItemTest.java │ │ │ │ ├── HttpStatusItemTest.java │ │ │ │ ├── InvocationContextItemTest.java │ │ │ │ ├── LocalHostItemTest.java │ │ │ │ ├── LocalPortItemTest.java │ │ │ │ ├── PlainTextItemTest.java │ │ │ │ ├── QueryStringItemTest.java │ │ │ │ ├── RemoteHostItemTest.java │ │ │ │ ├── RequestHeaderItemTest.java │ │ │ │ ├── RequestProtocolItemTest.java │ │ │ │ ├── ResponseHeaderItemTest.java │ │ │ │ ├── ResponseSizeItemTest.java │ │ │ │ ├── TraceIdItemTest.java │ │ │ │ ├── TransportItemTest.java │ │ │ │ ├── UrlPathItemTest.java │ │ │ │ ├── UrlPathWithQueryItemTest.java │ │ │ │ ├── UserDefinedAccessLogItem.java │ │ │ │ └── UserDefinedAccessLogItemLowPriority.java │ │ │ └── parser/ │ │ │ └── impl/ │ │ │ ├── TestCompositeExtendedAccessLogItemMeta.java │ │ │ ├── TestSingleExtendedAccessLogItemMeta.java │ │ │ └── VertxRestAccessLogPatternParserTest.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.common.accessLog.core.parser.VertxRestAccessLogItemMeta │ ├── common-protobuf/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── codec/ │ │ │ └── protobuf/ │ │ │ ├── definition/ │ │ │ │ ├── HighwayJsonUtils.java │ │ │ │ ├── OperationProtobuf.java │ │ │ │ ├── ProtobufManager.java │ │ │ │ ├── RequestRootDeserializer.java │ │ │ │ ├── RequestRootSerializer.java │ │ │ │ ├── ResponseRootDeserializer.java │ │ │ │ └── ResponseRootSerializer.java │ │ │ ├── internal/ │ │ │ │ └── converter/ │ │ │ │ ├── ProtoMethod.java │ │ │ │ ├── ProtoResponse.java │ │ │ │ ├── ProtoToStringGenerator.java │ │ │ │ ├── SchemaSwaggerTypeAdapter.java │ │ │ │ ├── SwaggerToProtoGenerator.java │ │ │ │ └── SwaggerTypeAdapter.java │ │ │ ├── schema/ │ │ │ │ └── SchemaToProtoGenerator.java │ │ │ └── utils/ │ │ │ └── ScopedProtobufSchemaManager.java │ │ └── test/ │ │ ├── java/ │ │ │ ├── io/ │ │ │ │ └── protostuff/ │ │ │ │ └── runtime/ │ │ │ │ └── model/ │ │ │ │ ├── ModelProtostuff.java │ │ │ │ └── User.java │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── codec/ │ │ │ └── protobuf/ │ │ │ ├── definition/ │ │ │ │ └── TestResponseRootDeserializer.java │ │ │ ├── internal/ │ │ │ │ └── converter/ │ │ │ │ ├── TestProtoToStringGenerator.java │ │ │ │ ├── TestSchemaMetaCodec.java │ │ │ │ ├── TestSchemaMetaCodecRestTemplate.java │ │ │ │ ├── TestSwaggerToProtoGenerator.java │ │ │ │ └── model/ │ │ │ │ ├── FieldNeedWrap.java │ │ │ │ ├── ProtoSchema.java │ │ │ │ ├── ProtoSchemaIntf.java │ │ │ │ ├── ProtoSchemaPojo.java │ │ │ │ ├── Ref1.java │ │ │ │ └── Ref2.java │ │ │ └── schema/ │ │ │ ├── TestSchemaCodec.java │ │ │ ├── TestSchemaToProtoGenerator.java │ │ │ └── model/ │ │ │ ├── CyclicInfo.java │ │ │ ├── DeptInfo.java │ │ │ ├── SchemaService.java │ │ │ ├── ScoreInfo.java │ │ │ └── UserInfo.java │ │ ├── proto/ │ │ │ └── ModelProtobuf.proto │ │ └── resources/ │ │ └── ProtoSchema.proto │ ├── common-rest/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── common/ │ │ │ │ └── rest/ │ │ │ │ ├── CommonRestConfiguration.java │ │ │ │ ├── EdgeServerWebSocketInvocationCreator.java │ │ │ │ ├── HttpTransportContext.java │ │ │ │ ├── ProviderServerWebSocketInvocationCreator.java │ │ │ │ ├── RestConst.java │ │ │ │ ├── RestEngineSchemaListener.java │ │ │ │ ├── RestProducerInvocationCreator.java │ │ │ │ ├── RestProducerInvocationFlow.java │ │ │ │ ├── RestVertxProducerInvocationCreator.java │ │ │ │ ├── ServerWebSocketInvocationCreator.java │ │ │ │ ├── UploadConfig.java │ │ │ │ ├── VertxHttpTransportContext.java │ │ │ │ ├── WebSocketTransportContext.java │ │ │ │ ├── codec/ │ │ │ │ │ ├── RestClientRequest.java │ │ │ │ │ ├── RestCodec.java │ │ │ │ │ ├── RestObjectMapperFactory.java │ │ │ │ │ ├── header/ │ │ │ │ │ │ ├── HeaderCodec.java │ │ │ │ │ │ ├── HeaderCodecCsv.java │ │ │ │ │ │ ├── HeaderCodecMulti.java │ │ │ │ │ │ ├── HeaderCodecPipes.java │ │ │ │ │ │ ├── HeaderCodecSimple.java │ │ │ │ │ │ ├── HeaderCodecSsv.java │ │ │ │ │ │ ├── HeaderCodecWithDelimiter.java │ │ │ │ │ │ └── HeaderCodecsUtils.java │ │ │ │ │ ├── param/ │ │ │ │ │ │ ├── AbstractParamProcessor.java │ │ │ │ │ │ ├── BodyProcessorCreator.java │ │ │ │ │ │ ├── CookieProcessorCreator.java │ │ │ │ │ │ ├── FormProcessorCreator.java │ │ │ │ │ │ ├── HeaderProcessorCreator.java │ │ │ │ │ │ ├── ParamValueProcessor.java │ │ │ │ │ │ ├── ParamValueProcessorCreator.java │ │ │ │ │ │ ├── ParamValueProcessorCreatorManager.java │ │ │ │ │ │ ├── PathProcessorCreator.java │ │ │ │ │ │ └── QueryProcessorCreator.java │ │ │ │ │ ├── produce/ │ │ │ │ │ │ ├── ProduceEventStreamProcessor.java │ │ │ │ │ │ ├── ProduceJsonProcessor.java │ │ │ │ │ │ ├── ProduceProcessor.java │ │ │ │ │ │ ├── ProduceProcessorManager.java │ │ │ │ │ │ ├── ProduceProtoBufferProcessor.java │ │ │ │ │ │ └── ProduceTextPlainProcessor.java │ │ │ │ │ └── query/ │ │ │ │ │ ├── AbstractQueryCodec.java │ │ │ │ │ ├── QueryCodec.java │ │ │ │ │ ├── QueryCodecCsv.java │ │ │ │ │ ├── QueryCodecMulti.java │ │ │ │ │ ├── QueryCodecPipes.java │ │ │ │ │ ├── QueryCodecSsv.java │ │ │ │ │ ├── QueryCodecWithDelimiter.java │ │ │ │ │ ├── QueryCodecs.java │ │ │ │ │ └── QueryCodecsUtils.java │ │ │ │ ├── definition/ │ │ │ │ │ ├── RestMetaUtils.java │ │ │ │ │ ├── RestOperationComparator.java │ │ │ │ │ ├── RestOperationMeta.java │ │ │ │ │ ├── RestParam.java │ │ │ │ │ └── path/ │ │ │ │ │ ├── AbstractUrlParamWriter.java │ │ │ │ │ ├── PathRegExp.java │ │ │ │ │ ├── PathVarParamWriter.java │ │ │ │ │ ├── QueryVarParamWriter.java │ │ │ │ │ ├── StaticUrlParamWriter.java │ │ │ │ │ ├── URLPathBuilder.java │ │ │ │ │ └── UrlParamWriter.java │ │ │ │ ├── filter/ │ │ │ │ │ └── inner/ │ │ │ │ │ ├── RestServerCodecFilter.java │ │ │ │ │ └── WebSocketServerCodecFilter.java │ │ │ │ ├── locator/ │ │ │ │ │ ├── MicroservicePaths.java │ │ │ │ │ ├── OperationGroup.java │ │ │ │ │ ├── OperationLocator.java │ │ │ │ │ └── ServicePathManager.java │ │ │ │ ├── resource/ │ │ │ │ │ ├── ClassPathStaticResourceHandler.java │ │ │ │ │ └── StaticResourceHandler.java │ │ │ │ └── route/ │ │ │ │ ├── URLMappedConfigurationItem.java │ │ │ │ ├── URLMappedConfigurationLoader.java │ │ │ │ └── Utils.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ ├── com.fasterxml.jackson.databind.Module │ │ │ │ ├── org.apache.servicecomb.common.rest.codec.produce.ProduceProcessor │ │ │ │ └── org.apache.servicecomb.core.filter.FilterProvider │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── common/ │ │ │ └── rest/ │ │ │ ├── RestProducerInvocationCreatorTest.java │ │ │ ├── TestDefPath.java │ │ │ ├── TestRestEngineSchemaListener.java │ │ │ ├── codec/ │ │ │ │ ├── PojoModel.java │ │ │ │ ├── TestRestCodec.java │ │ │ │ ├── TestRestObjectMapper.java │ │ │ │ ├── fix/ │ │ │ │ │ └── TestDoSFix.java │ │ │ │ ├── param/ │ │ │ │ │ ├── TestBodyProcessor.java │ │ │ │ │ ├── TestBodyProcessorCreator.java │ │ │ │ │ ├── TestCookieProcessor.java │ │ │ │ │ ├── TestCookieProcessorCreator.java │ │ │ │ │ ├── TestFormProcessor.java │ │ │ │ │ ├── TestFormProcessorCreator.java │ │ │ │ │ ├── TestHeaderProcessor.java │ │ │ │ │ ├── TestHeaderProcessorCreator.java │ │ │ │ │ ├── TestPathProcessor.java │ │ │ │ │ ├── TestPathProcessorCreator.java │ │ │ │ │ ├── TestQueryProcessor.java │ │ │ │ │ └── TestQueryProcessorCreator.java │ │ │ │ ├── produce/ │ │ │ │ │ ├── TestProduceJsonProcessor.java │ │ │ │ │ ├── TestProduceProcessorManager.java │ │ │ │ │ └── TestProduceTextPlainProcessor.java │ │ │ │ └── query/ │ │ │ │ ├── QueryCodecCsvTest.java │ │ │ │ ├── QueryCodecMultiTest.java │ │ │ │ ├── QueryCodecPipesTest.java │ │ │ │ ├── QueryCodecSsvTest.java │ │ │ │ ├── QueryCodecTestBase.java │ │ │ │ └── QueryCodecsTest.java │ │ │ ├── definition/ │ │ │ │ ├── TestPath.java │ │ │ │ ├── TestRestOperationComparator.java │ │ │ │ ├── TestRestOperationMeta.java │ │ │ │ └── path/ │ │ │ │ ├── PathVarParamWriterTest.java │ │ │ │ ├── QueryVarParamWriterTest.java │ │ │ │ ├── URLPathBuilderTest.java │ │ │ │ └── URLPathStringBuilderTest.java │ │ │ ├── filter/ │ │ │ │ └── inner/ │ │ │ │ └── RestServerCodecFilterTest.java │ │ │ ├── locator/ │ │ │ │ ├── TestMicroservicePaths.java │ │ │ │ ├── TestPathSchema.java │ │ │ │ └── TestServicePathManager.java │ │ │ └── resource/ │ │ │ └── TestClassPathStaticResourceHandler.java │ │ └── resources/ │ │ ├── log4j2.xml │ │ ├── microservice.yaml │ │ └── web-root/ │ │ └── index.html │ └── pom.xml ├── core/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── core/ │ │ │ ├── BootListener.java │ │ │ ├── CoreConst.java │ │ │ ├── Endpoint.java │ │ │ ├── Invocation.java │ │ │ ├── NonSwaggerInvocation.java │ │ │ ├── ProducerProvider.java │ │ │ ├── SCBApplicationListener.java │ │ │ ├── SCBEngine.java │ │ │ ├── SCBStatus.java │ │ │ ├── ServiceCombCoreConfiguration.java │ │ │ ├── Transport.java │ │ │ ├── annotation/ │ │ │ │ └── Transport.java │ │ │ ├── bootstrap/ │ │ │ │ ├── SCBBootstrap.java │ │ │ │ └── SCBEngineForTest.java │ │ │ ├── bootup/ │ │ │ │ ├── BootUpInformationCollector.java │ │ │ │ ├── ConfigurationProblemsAlarmEvent.java │ │ │ │ ├── ConfigurationProblemsCollector.java │ │ │ │ ├── FilterChainCollector.java │ │ │ │ └── ServiceInformationCollector.java │ │ │ ├── definition/ │ │ │ │ ├── ConsumerMicroserviceVersionsMeta.java │ │ │ │ ├── CoreMetaUtils.java │ │ │ │ ├── InvocationRuntimeType.java │ │ │ │ ├── MicroserviceMeta.java │ │ │ │ ├── MicroserviceVersionsMeta.java │ │ │ │ ├── OperationConfig.java │ │ │ │ ├── OperationMeta.java │ │ │ │ └── SchemaMeta.java │ │ │ ├── event/ │ │ │ │ ├── InvocationBaseEvent.java │ │ │ │ ├── InvocationBusinessFinishEvent.java │ │ │ │ ├── InvocationBusinessMethodFinishEvent.java │ │ │ │ ├── InvocationBusinessMethodStartEvent.java │ │ │ │ ├── InvocationEncodeResponseStartEvent.java │ │ │ │ ├── InvocationFinishEvent.java │ │ │ │ ├── InvocationStartEvent.java │ │ │ │ ├── InvocationStartSendRequestEvent.java │ │ │ │ ├── InvocationTimeoutCheckEvent.java │ │ │ │ ├── InvocationWithResponseEvent.java │ │ │ │ └── ServerAccessLogEvent.java │ │ │ ├── exception/ │ │ │ │ ├── CoreExceptionConfiguration.java │ │ │ │ ├── CseException.java │ │ │ │ ├── DefaultExceptionProcessor.java │ │ │ │ ├── ExceptionCodes.java │ │ │ │ ├── ExceptionConverter.java │ │ │ │ ├── ExceptionProcessor.java │ │ │ │ ├── ExceptionUtils.java │ │ │ │ ├── Exceptions.java │ │ │ │ └── converter/ │ │ │ │ ├── ConnectTimeoutExceptionConverter.java │ │ │ │ ├── ConstraintViolationExceptionConverter.java │ │ │ │ ├── DefaultExceptionConverter.java │ │ │ │ ├── IllegalArgumentExceptionConverter.java │ │ │ │ ├── InvocationExceptionConverter.java │ │ │ │ ├── ServiceCombExceptionConverter.java │ │ │ │ ├── TimeoutExceptionConverter.java │ │ │ │ └── ValidateDetail.java │ │ │ ├── executor/ │ │ │ │ ├── ExecutorManager.java │ │ │ │ ├── GroupExecutor.java │ │ │ │ ├── GroupThreadFactory.java │ │ │ │ ├── LinkedBlockingQueueEx.java │ │ │ │ ├── ReactiveExecutor.java │ │ │ │ └── ThreadPoolExecutorEx.java │ │ │ ├── filter/ │ │ │ │ ├── AbstractFilter.java │ │ │ │ ├── ConsumerFilter.java │ │ │ │ ├── CoreFilterConfiguration.java │ │ │ │ ├── EdgeFilter.java │ │ │ │ ├── Filter.java │ │ │ │ ├── FilterChainsManager.java │ │ │ │ ├── FilterNode.java │ │ │ │ ├── InvocationFilterChains.java │ │ │ │ ├── ProviderFilter.java │ │ │ │ └── impl/ │ │ │ │ ├── ContextMapperFilter.java │ │ │ │ ├── EmptyFilter.java │ │ │ │ ├── JacksonPropertyNodeNameProvider.java │ │ │ │ ├── ParameterValidatorFilter.java │ │ │ │ ├── ProviderOperationFilter.java │ │ │ │ ├── RetryFilter.java │ │ │ │ └── ScheduleFilter.java │ │ │ ├── governance/ │ │ │ │ ├── CoreGovernanceConfiguration.java │ │ │ │ ├── GovernanceConfiguration.java │ │ │ │ ├── MatchType.java │ │ │ │ ├── RetryContext.java │ │ │ │ ├── ServiceCombCircuitBreakerExtension.java │ │ │ │ ├── ServiceCombConfigurationEventAdapter.java │ │ │ │ ├── ServiceCombInstanceIsolationExtension.java │ │ │ │ ├── ServiceCombMicroserviceMeta.java │ │ │ │ └── ServiceCombRetryExtension.java │ │ │ ├── invocation/ │ │ │ │ ├── CoreInvocationConfiguration.java │ │ │ │ ├── InvocationCreator.java │ │ │ │ ├── InvocationFactory.java │ │ │ │ ├── InvocationStageTrace.java │ │ │ │ ├── InvocationTimeoutBootListener.java │ │ │ │ ├── InvocationTimeoutStrategy.java │ │ │ │ ├── ProducerInvocationFlow.java │ │ │ │ ├── endpoint/ │ │ │ │ │ ├── EndpointCacheUtils.java │ │ │ │ │ ├── EndpointContextRegister.java │ │ │ │ │ ├── EndpointMapper.java │ │ │ │ │ ├── EndpointMapperFactory.java │ │ │ │ │ └── EndpointUtils.java │ │ │ │ └── timeout/ │ │ │ │ ├── PassingTimeStrategy.java │ │ │ │ └── ProcessingTimeStrategy.java │ │ │ ├── provider/ │ │ │ │ ├── LocalOpenAPIRegistry.java │ │ │ │ ├── OpenAPIRegistry.java │ │ │ │ ├── OpenAPIRegistryManager.java │ │ │ │ ├── RegistryOpenAPIRegistry.java │ │ │ │ ├── consumer/ │ │ │ │ │ ├── ConsumerProviderManager.java │ │ │ │ │ ├── InvokerUtils.java │ │ │ │ │ ├── MicroserviceReferenceConfig.java │ │ │ │ │ ├── ReactiveResponseExecutor.java │ │ │ │ │ ├── ReferenceConfig.java │ │ │ │ │ ├── ReferenceConfigManager.java │ │ │ │ │ └── SyncResponseExecutor.java │ │ │ │ └── producer/ │ │ │ │ ├── AbstractProducerProvider.java │ │ │ │ ├── ProducerBootListener.java │ │ │ │ ├── ProducerMeta.java │ │ │ │ └── ProducerProviderManager.java │ │ │ ├── registry/ │ │ │ │ └── discovery/ │ │ │ │ └── EndpointDiscoveryFilter.java │ │ │ ├── tracing/ │ │ │ │ ├── BraveTraceIdGenerator.java │ │ │ │ ├── ScbMarker.java │ │ │ │ ├── TraceIdGenerator.java │ │ │ │ └── TraceIdLogger.java │ │ │ └── transport/ │ │ │ ├── AbstractTransport.java │ │ │ ├── TransportClassAnnotationProcessor.java │ │ │ ├── TransportManager.java │ │ │ └── TransportMethodAnnotationProcessor.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ ├── services/ │ │ │ │ ├── org.apache.servicecomb.core.exception.ExceptionConverter │ │ │ │ ├── org.apache.servicecomb.core.filter.FilterProvider │ │ │ │ ├── org.apache.servicecomb.core.tracing.TraceIdGenerator │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ClassAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.MethodAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.SwaggerContextRegister │ │ │ │ └── org.apache.servicecomb.swagger.invocation.arguments.consumer.ConsumerContextArgumentMapperFactory │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── microservice.yaml │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── core/ │ │ ├── Config.java │ │ ├── TestConfig.java │ │ ├── TestConfigurationSpringInitializer.java │ │ ├── TestEndpoint.java │ │ ├── TestException.java │ │ ├── TestInvocation.java │ │ ├── TestSCBApplicationListener.java │ │ ├── TestTransport.java │ │ ├── consumer/ │ │ │ ├── TestReactiveResponseExecutor.java │ │ │ └── TestSyncResponseExecutor.java │ │ ├── definition/ │ │ │ ├── MicroServicePropertyExtendedStub.java │ │ │ ├── OperationConfigTest.java │ │ │ └── TestMicroserviceMetaManager.java │ │ ├── event/ │ │ │ └── TestInvocationStartEvent.java │ │ ├── exception/ │ │ │ ├── ExceptionsTest.java │ │ │ └── converter/ │ │ │ └── TimeoutExceptionConverterTest.java │ │ ├── executor/ │ │ │ ├── TestExecutorManager.java │ │ │ ├── TestGroupExecutor.java │ │ │ └── TestThreadPoolExecutorEx.java │ │ ├── filter/ │ │ │ ├── FilterChainTest.java │ │ │ └── impl/ │ │ │ ├── ParameterValidatorFilterTest.java │ │ │ └── ProducerOperationFilterTest.java │ │ ├── invocation/ │ │ │ ├── ProducerInvocationFlowTest.java │ │ │ ├── TestInvocationStageTrace.java │ │ │ ├── endpoint/ │ │ │ │ ├── EndpointTest.java │ │ │ │ └── EndpointUtilsTest.java │ │ │ └── timeout/ │ │ │ ├── PassingTimeStrategyTest.java │ │ │ └── ProcessingTimeStrategyTest.java │ │ ├── provider/ │ │ │ ├── Person.java │ │ │ ├── consumer/ │ │ │ │ └── TestInvokerUtils.java │ │ │ └── producer/ │ │ │ ├── TestProducerBootListener.java │ │ │ ├── TestProducerMeta.java │ │ │ └── TestProducerProviderManager.java │ │ ├── registry/ │ │ │ └── discovery/ │ │ │ └── TestEndpointDiscoveryFilter.java │ │ ├── tracing/ │ │ │ └── BraveTraceIdGeneratorTest.java │ │ └── transport/ │ │ ├── TestAbstractTransport.java │ │ └── TestTransportManager.java │ └── resources/ │ ├── META-INF/ │ │ └── spring/ │ │ └── cse.bean.xml │ ├── log4j2.xml │ ├── microservice.yaml │ └── test/ │ └── test/ │ ├── microservice.yaml │ └── schema.yaml ├── coverage-reports/ │ └── pom.xml ├── demo/ │ ├── README.md │ ├── assembly/ │ │ └── assembly.xml │ ├── demo-consul/ │ │ ├── README.md │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ClientWebsocketController.java │ │ │ │ ├── ConsulConsumerApplication.java │ │ │ │ ├── ConsumerController.java │ │ │ │ ├── ConsumerHeaderParamWithListSchema.java │ │ │ │ ├── ConsumerReactiveStreamController.java │ │ │ │ ├── ProviderService.java │ │ │ │ └── User.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── gateway/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── pom.xml │ │ ├── provider/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ConsulProviderApplication.java │ │ │ │ ├── HeaderParamWithListSchema.java │ │ │ │ ├── ProviderController.java │ │ │ │ ├── ReactiveStreamController.java │ │ │ │ ├── User.java │ │ │ │ └── WebsocketController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test-client/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── Config.java │ │ │ │ ├── ConsulConfigIT.java │ │ │ │ ├── HeaderParamWithListSchemaIT.java │ │ │ │ ├── HelloWorldIT.java │ │ │ │ ├── ProviderIT.java │ │ │ │ ├── ReactiveStreamIT.java │ │ │ │ ├── TestClientApplication.java │ │ │ │ ├── ThirdSvcConfiguration.java │ │ │ │ ├── User.java │ │ │ │ └── WebsocketIT.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── samples/ │ │ └── ConsulIT.java │ ├── demo-crossapp/ │ │ ├── crossapp-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── crossapp/ │ │ │ │ │ ├── CrossappClient.java │ │ │ │ │ └── HelloWorld.java │ │ │ │ └── resources/ │ │ │ │ ├── log4j2.xml │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── crossapp/ │ │ │ └── CrossAppIT.java │ │ ├── crossapp-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── crossapp/ │ │ │ │ ├── CrossappServer.java │ │ │ │ └── HelloWorldImpl.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ └── pom.xml │ ├── demo-cse-v1/ │ │ ├── README.md │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── ConsumerConfigController.java │ │ │ │ ├── ConsumerConfigurationProperties.java │ │ │ │ ├── ConsumerController.java │ │ │ │ └── ProviderService.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── gateway/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── pom.xml │ │ ├── provider/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ProviderApplication.java │ │ │ │ └── ProviderController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── provider-canary/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ProviderApplication.java │ │ │ │ └── ProviderController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test-client/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── samples/ │ │ │ ├── Config.java │ │ │ ├── ConsumerConfigIT.java │ │ │ ├── HelloWorldIT.java │ │ │ └── TestClientApplication.java │ │ └── resources/ │ │ ├── application.yml │ │ └── log4j2.xml │ ├── demo-cse-v2/ │ │ ├── README.md │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── ConsumerConfigController.java │ │ │ │ ├── ConsumerConfigurationProperties.java │ │ │ │ ├── ConsumerController.java │ │ │ │ └── ProviderService.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── gateway/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── pom.xml │ │ ├── provider/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ProviderApplication.java │ │ │ │ └── ProviderController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test-client/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── samples/ │ │ │ ├── Config.java │ │ │ ├── ConsumerConfigIT.java │ │ │ ├── HelloWorldIT.java │ │ │ └── TestClientApplication.java │ │ └── resources/ │ │ ├── application.yml │ │ └── log4j2.xml │ ├── demo-edge/ │ │ ├── README.md │ │ ├── authentication/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── edge/ │ │ │ │ └── authentication/ │ │ │ │ ├── AuthImpl.java │ │ │ │ ├── AuthMain.java │ │ │ │ └── encrypt/ │ │ │ │ ├── EncryptImpl.java │ │ │ │ └── Hcr.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── business-1-1-0/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── edge/ │ │ │ │ └── business/ │ │ │ │ ├── BusinessMain_V1_1_0.java │ │ │ │ └── Impl.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── business-1.0.0/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── edge/ │ │ │ │ └── business/ │ │ │ │ ├── BusinessMain_V1_0_0.java │ │ │ │ └── Impl.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── business-2.0.0/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── edge/ │ │ │ │ └── business/ │ │ │ │ ├── BusinessMain_V2_0_0.java │ │ │ │ ├── EdgeServiceGovernanceService.java │ │ │ │ ├── Impl.java │ │ │ │ ├── ImplV2.java │ │ │ │ └── error/ │ │ │ │ ├── CustomExceptionToProducerResponseConverter.java │ │ │ │ ├── ErrorData.java │ │ │ │ ├── ErrorService.java │ │ │ │ └── IllegalStateErrorData.java │ │ │ └── resources/ │ │ │ ├── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.apache.servicecomb.core.exception.ExceptionConverter │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── edge/ │ │ │ │ │ └── consumer/ │ │ │ │ │ ├── Consumer.java │ │ │ │ │ ├── ConsumerMain.java │ │ │ │ │ └── EdgeServiceGovernanceTest.java │ │ │ │ └── resources/ │ │ │ │ ├── log4j2.xml │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── edge/ │ │ │ └── consumer/ │ │ │ └── EdgeDemoIT.java │ │ ├── edge-service/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── edge/ │ │ │ │ ├── EdgeMain.java │ │ │ │ ├── authentication/ │ │ │ │ │ └── encrypt/ │ │ │ │ │ └── Hcr.java │ │ │ │ └── service/ │ │ │ │ ├── CustomResponseMetaMapper.java │ │ │ │ ├── EdgeConst.java │ │ │ │ ├── EdgeDispatcher.java │ │ │ │ ├── IllegalStateErrorData.java │ │ │ │ ├── encrypt/ │ │ │ │ │ ├── Encrypt.java │ │ │ │ │ ├── EncryptContext.java │ │ │ │ │ ├── EncryptEdgeDispatcher.java │ │ │ │ │ └── filter/ │ │ │ │ │ ├── DecodeBodyFilter.java │ │ │ │ │ ├── EdgeSignatureRequestFilter.java │ │ │ │ │ ├── EdgeSignatureResponseFilter.java │ │ │ │ │ └── UserIdFilter.java │ │ │ │ └── handler/ │ │ │ │ ├── Auth.java │ │ │ │ └── AuthHandler.java │ │ │ └── resources/ │ │ │ ├── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── org.apache.servicecomb.swagger.invocation.response.ResponseMetaMapper │ │ │ │ └── org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── model/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── edge/ │ │ │ └── model/ │ │ │ ├── AppClientDataRsp.java │ │ │ ├── ChannelRequestBase.java │ │ │ ├── DependTypeA.java │ │ │ ├── DependTypeB.java │ │ │ ├── RecursiveSelfType.java │ │ │ ├── ResultWithInstance.java │ │ │ └── User.java │ │ └── pom.xml │ ├── demo-etcd/ │ │ ├── README.md │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ClientWebsocketController.java │ │ │ │ ├── ConsumerController.java │ │ │ │ ├── ConsumerHeaderParamWithListSchema.java │ │ │ │ ├── ConsumerReactiveStreamController.java │ │ │ │ ├── EtcdConsumerApplication.java │ │ │ │ ├── ProviderService.java │ │ │ │ └── User.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── gateway/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── pom.xml │ │ ├── provider/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── EtcdProviderApplication.java │ │ │ │ ├── HeaderParamWithListSchema.java │ │ │ │ ├── ProviderController.java │ │ │ │ ├── ReactiveStreamController.java │ │ │ │ ├── User.java │ │ │ │ └── WebsocketController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test-client/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── Config.java │ │ │ │ ├── EtcdConfigIT.java │ │ │ │ ├── HeaderParamWithListSchemaIT.java │ │ │ │ ├── HelloWorldIT.java │ │ │ │ ├── ProviderIT.java │ │ │ │ ├── ReactiveStreamIT.java │ │ │ │ ├── TestClientApplication.java │ │ │ │ ├── ThirdSvcConfiguration.java │ │ │ │ ├── User.java │ │ │ │ └── WebsocketIT.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── samples/ │ │ └── EtcdIT.java │ ├── demo-filter/ │ │ ├── filter-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── filter/ │ │ │ │ ├── FilterClient.java │ │ │ │ └── client/ │ │ │ │ ├── ClientExceptionSchema.java │ │ │ │ ├── GovernanceConsumerSchema.java │ │ │ │ └── RetryClientSchema.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── filter-edge/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── filter/ │ │ │ │ └── FilterEdge.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── filter-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── filter/ │ │ │ │ ├── FilterServer.java │ │ │ │ └── server/ │ │ │ │ ├── ExceptionSchema.java │ │ │ │ ├── GovernanceProviderSchema.java │ │ │ │ └── RetrySchema.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── filter-tests/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── filter/ │ │ │ │ │ ├── FilterTests.java │ │ │ │ │ └── tests/ │ │ │ │ │ ├── TestExceptionSchemaFromClient.java │ │ │ │ │ ├── TestGovernanceSchemaFromEdge.java │ │ │ │ │ ├── TestRetrySchemaFromClient.java │ │ │ │ │ └── TestRetrySchemaFromEdge.java │ │ │ │ └── resources/ │ │ │ │ ├── log4j2.xml │ │ │ │ ├── microservice.yaml │ │ │ │ ├── microservices/ │ │ │ │ │ └── com.servicecomb.filterEdge/ │ │ │ │ │ ├── GovernanceConsumerSchema.yaml │ │ │ │ │ └── RetryClientSchema.yaml │ │ │ │ └── registry.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── filter/ │ │ │ └── retry/ │ │ │ └── FilterTestsIT.java │ │ └── pom.xml │ ├── demo-jaxrs/ │ │ ├── jaxrs-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── jaxrs/ │ │ │ │ │ ├── JaxrsClient.java │ │ │ │ │ ├── client/ │ │ │ │ │ │ ├── CodeFirstRestTemplateJaxrs.java │ │ │ │ │ │ ├── CustomLoadbalanceExtensionsFactory.java │ │ │ │ │ │ ├── MultiErrorCodeServiceClient.java │ │ │ │ │ │ ├── SchemeInterfaceJaxrs.java │ │ │ │ │ │ ├── TestClientTimeout.java │ │ │ │ │ │ ├── TestCodeFirstJaxrs.java │ │ │ │ │ │ ├── TestCodeFirstJaxrsReactive.java │ │ │ │ │ │ ├── TestDynamicConfig.java │ │ │ │ │ │ ├── TestFileUploadSchema.java │ │ │ │ │ │ ├── TestFormRequestSchema.java │ │ │ │ │ │ ├── TestQueryParamSchema.java │ │ │ │ │ │ ├── TestQueryParamWithListSchema.java │ │ │ │ │ │ ├── TestReactiveSchema.java │ │ │ │ │ │ ├── TestSchemeInterfaceJaxrs.java │ │ │ │ │ │ ├── beanParam/ │ │ │ │ │ │ │ ├── BeanParamPojoClient.java │ │ │ │ │ │ │ ├── BeanParamRestTemplateClient.java │ │ │ │ │ │ │ └── BeanParamTestServiceIntf.java │ │ │ │ │ │ ├── injectBean/ │ │ │ │ │ │ │ └── TestInjectBeanSchema.java │ │ │ │ │ │ ├── pojoDefault/ │ │ │ │ │ │ │ ├── DefaultModel.java │ │ │ │ │ │ │ └── DefaultModelServiceClient.java │ │ │ │ │ │ └── validation/ │ │ │ │ │ │ └── ValidationServiceClient.java │ │ │ │ │ └── server/ │ │ │ │ │ └── pojoDefault/ │ │ │ │ │ └── DefaultResponseModel.java │ │ │ │ └── resources/ │ │ │ │ ├── log4j2.xml │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── jaxrs/ │ │ │ └── JaxrsIT.java │ │ ├── jaxrs-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── jaxrs/ │ │ │ │ ├── JaxrsServer.java │ │ │ │ └── server/ │ │ │ │ ├── CodeFirstJaxrs.java │ │ │ │ ├── ComputeImpl.java │ │ │ │ ├── FileUploadSchema.java │ │ │ │ ├── FormRequestSchema.java │ │ │ │ ├── JaxRSDefaultValues.java │ │ │ │ ├── QueryParamSchema.java │ │ │ │ ├── QueryParamWithListSchema.java │ │ │ │ ├── ReactiveSchema.java │ │ │ │ ├── RequestClientTimeOut.java │ │ │ │ ├── SchemeInterfaceJaxrs.java │ │ │ │ ├── SchemeInterfaceJaxrsImpl.java │ │ │ │ ├── Validator.java │ │ │ │ ├── beanParam/ │ │ │ │ │ ├── BeanParamTestService.java │ │ │ │ │ ├── TestBeanParameter.java │ │ │ │ │ └── TestBeanParameterWithUpload.java │ │ │ │ ├── injectBean/ │ │ │ │ │ ├── InjectBean.java │ │ │ │ │ ├── InjectBeanSchema.java │ │ │ │ │ └── InjectBeanVertxHttpDispatcher.java │ │ │ │ ├── multiErrorCode/ │ │ │ │ │ ├── MultiErrorCodeService.java │ │ │ │ │ ├── NoClientErrorCode200.java │ │ │ │ │ └── NoClientErrorCode400.java │ │ │ │ ├── pojoDefault/ │ │ │ │ │ ├── DefaultModelService.java │ │ │ │ │ ├── DefaultRequestModel.java │ │ │ │ │ └── DefaultResponseModel.java │ │ │ │ └── validation/ │ │ │ │ └── ValidationService.java │ │ │ └── resources/ │ │ │ ├── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ └── pom.xml │ ├── demo-local-registry/ │ │ ├── README.md │ │ ├── demo-local-registry-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── localRegistryClient/ │ │ │ │ │ ├── CodeFirstService.java │ │ │ │ │ ├── LocalRegistryClientApplication.java │ │ │ │ │ ├── LocalRegistryServerTest.java │ │ │ │ │ ├── RegistryBeansConfiguration.java │ │ │ │ │ └── ServerService.java │ │ │ │ └── resources/ │ │ │ │ ├── application.yml │ │ │ │ ├── log4j2.xml │ │ │ │ ├── microservices/ │ │ │ │ │ ├── demo-local-registry-server/ │ │ │ │ │ │ └── ServerEndpoint.yaml │ │ │ │ │ ├── demo-local-registry-server-bean/ │ │ │ │ │ │ └── ServerEndpoint.yaml │ │ │ │ │ └── demo-local-registry-server-bean2/ │ │ │ │ │ └── ServerEndpoint.yaml │ │ │ │ └── registry.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── localRegistryClient/ │ │ │ └── LocalRegistryIT.java │ │ ├── demo-local-registry-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── localRegistryServer/ │ │ │ │ ├── CodeFirstEndpoint.java │ │ │ │ ├── LocalRegistryServerApplication.java │ │ │ │ ├── SelfServiceInvoker.java │ │ │ │ └── ServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── pom.xml │ ├── demo-multi-registries/ │ │ ├── README.md │ │ ├── demo-multi-registries-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── registry/ │ │ │ │ │ ├── IServerEndpoint.java │ │ │ │ │ ├── IServiceCenterEndpoint.java │ │ │ │ │ ├── MultiRegistriesClientApplication.java │ │ │ │ │ ├── MultiRegistriesServerTestCase.java │ │ │ │ │ ├── SchemaDiscoveryTestCase.java │ │ │ │ │ ├── ServiceCenterEndpoint.java │ │ │ │ │ └── ServiceCenterTestCase.java │ │ │ │ └── resources/ │ │ │ │ ├── application.yml │ │ │ │ ├── log4j2.xml │ │ │ │ ├── microservices/ │ │ │ │ │ └── thirdParty-service-center/ │ │ │ │ │ └── ServiceCenterEndpoint.yaml │ │ │ │ └── registry.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── registry/ │ │ │ └── MultiRegistriesIT.java │ │ ├── demo-multi-registries-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── registry/ │ │ │ │ ├── MultiRegistriesServerApplication.java │ │ │ │ ├── SelfServiceInvoker.java │ │ │ │ └── ServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── pom.xml │ ├── demo-multi-service-center/ │ │ ├── demo-multi-service-center-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── multiServiceCenterClient/ │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── IConfigurationEndpoint.java │ │ │ │ │ ├── IServerEndpoint.java │ │ │ │ │ ├── RegistryClientTest.java │ │ │ │ │ ├── SC2Configuration.java │ │ │ │ │ ├── SC2Discovery.java │ │ │ │ │ ├── SC2Registration.java │ │ │ │ │ ├── ServerATest.java │ │ │ │ │ └── ServerBTest.java │ │ │ │ └── resources/ │ │ │ │ ├── application.yml │ │ │ │ └── log4j2.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── multiServiceCenterClient/ │ │ │ └── MultiServiceCenterIT.java │ │ ├── demo-multi-service-center-serverA/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiServiceCenter/ │ │ │ │ ├── ServerApplication.java │ │ │ │ └── ServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── demo-multi-service-center-serverB/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiServiceCenterServerB/ │ │ │ │ ├── ConfigurationEndpoint.java │ │ │ │ ├── ServerApplication.java │ │ │ │ └── ServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.properties │ │ │ ├── application.yml │ │ │ ├── log4j2.xml │ │ │ ├── mapping.yaml │ │ │ └── microservice.yaml │ │ └── pom.xml │ ├── demo-multiple/ │ │ ├── a-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiple/ │ │ │ │ └── a/ │ │ │ │ └── client/ │ │ │ │ ├── AClient.java │ │ │ │ ├── AClientMain.java │ │ │ │ └── AIntf.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── a-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiple/ │ │ │ │ └── a/ │ │ │ │ └── server/ │ │ │ │ ├── AImpl.java │ │ │ │ └── AServerMain.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── b-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiple/ │ │ │ │ └── b/ │ │ │ │ └── client/ │ │ │ │ ├── BClient.java │ │ │ │ ├── BClientMain.java │ │ │ │ └── BIntf.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── b-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiple/ │ │ │ │ └── b/ │ │ │ │ └── server/ │ │ │ │ ├── BImpl.java │ │ │ │ └── BServerMain.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ ├── multiple-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── multiple/ │ │ │ │ │ └── client/ │ │ │ │ │ └── MultipleClient.java │ │ │ │ └── resources/ │ │ │ │ ├── log4j2.xml │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── multiple/ │ │ │ └── client/ │ │ │ └── MultipleIT.java │ │ ├── multiple-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── multiple/ │ │ │ │ └── server/ │ │ │ │ └── MultipleServer.java │ │ │ └── resources/ │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ └── pom.xml │ ├── demo-nacos/ │ │ ├── README.md │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── ConsumerController.java │ │ │ │ ├── ConsumerHeaderParamWithListSchema.java │ │ │ │ └── ProviderService.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── gateway/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── pom.xml │ │ ├── provider/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── HeaderParamWithListSchema.java │ │ │ │ ├── ProviderApplication.java │ │ │ │ └── ProviderController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test-client/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── Config.java │ │ │ │ ├── HeaderParamWithListSchemaIT.java │ │ │ │ ├── HelloWorldIT.java │ │ │ │ └── TestClientApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── samples/ │ │ └── NocasIT.java │ ├── demo-pojo/ │ │ ├── pojo-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── pojo/ │ │ │ │ │ └── client/ │ │ │ │ │ ├── BeanRpcTest.java │ │ │ │ │ ├── ClientInterfaceForServerTest.java │ │ │ │ │ ├── CodeFirstPojoClient.java │ │ │ │ │ ├── CodeFirstPojoClientIntf.java │ │ │ │ │ ├── PojoClient.java │ │ │ │ │ ├── SchemaInterface.java │ │ │ │ │ ├── SchemeInterfacePojo.java │ │ │ │ │ ├── TestFlowControl.java │ │ │ │ │ ├── TestNotRecommendedService.java │ │ │ │ │ ├── TestRpcReferenceMethodInjection.java │ │ │ │ │ ├── TestSameService.java │ │ │ │ │ ├── TestSchemeInterface.java │ │ │ │ │ ├── TestSchemeInterfacePojo.java │ │ │ │ │ ├── TestTestImpl.java │ │ │ │ │ ├── TestWeakPojo.java │ │ │ │ │ └── invoker/ │ │ │ │ │ ├── ClientModel.java │ │ │ │ │ └── TestInvokerEndpoint.java │ │ │ │ └── resources/ │ │ │ │ ├── META-INF/ │ │ │ │ │ └── spring/ │ │ │ │ │ └── pojo.client.bean.xml │ │ │ │ ├── log4j2.xml │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── pojo/ │ │ │ └── PojoIT.java │ │ ├── pojo-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── pojo/ │ │ │ │ └── server/ │ │ │ │ ├── CodeFirstPojo.java │ │ │ │ ├── FlowControlClientSchema.java │ │ │ │ ├── FlowControlSchema.java │ │ │ │ ├── HelloImpl.java │ │ │ │ ├── NotRecommendedService.java │ │ │ │ ├── PojoProducersCustomized.java │ │ │ │ ├── PojoServer.java │ │ │ │ ├── SchemaInterface.java │ │ │ │ ├── SchemaInterfaceImpl.java │ │ │ │ ├── SchemeInterfacePojo.java │ │ │ │ ├── SchemeInterfacePojoImpl.java │ │ │ │ ├── SmartCareImpl.java │ │ │ │ ├── TestImpl.java │ │ │ │ ├── WeakPojo.java │ │ │ │ ├── invoker/ │ │ │ │ │ ├── InvokerEndpoint.java │ │ │ │ │ └── ServerModel.java │ │ │ │ └── same/ │ │ │ │ ├── pk1/ │ │ │ │ │ ├── SameInterface.java │ │ │ │ │ ├── SameInterfaceImpl.java │ │ │ │ │ └── SameService.java │ │ │ │ └── pk2/ │ │ │ │ ├── SameInterface.java │ │ │ │ ├── SameInterfaceImpl.java │ │ │ │ └── SameService.java │ │ │ └── resources/ │ │ │ ├── META-INF/ │ │ │ │ └── spring/ │ │ │ │ └── pojo.server.bean.xml │ │ │ ├── log4j2.xml │ │ │ └── microservice.yaml │ │ └── pom.xml │ ├── demo-register-url-prefix/ │ │ ├── README.md │ │ ├── demo-register-url-prefix-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── prefix/ │ │ │ │ │ └── Application.java │ │ │ │ └── resources/ │ │ │ │ ├── application.yml │ │ │ │ └── log4j2.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── prefix/ │ │ │ └── RegisterUrlPrefixIT.java │ │ ├── demo-register-url-prefix-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── prefix/ │ │ │ │ ├── PrefixApplication.java │ │ │ │ └── RegisterUrlPrefixEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ ├── log4j2.xml │ │ │ └── logback.xml │ │ └── pom.xml │ ├── demo-schema/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ ├── CategorizedTestCase.java │ │ │ ├── CategorizedTestCaseRunner.java │ │ │ ├── CodeFirstPojoIntf.java │ │ │ ├── CodeFirstRestTemplate.java │ │ │ ├── CommonSchemaInterface.java │ │ │ ├── DemoConst.java │ │ │ ├── DemoSSLCustom.java │ │ │ ├── EmptyObject.java │ │ │ ├── Generic.java │ │ │ ├── RestObjectMapperWithStringMapper.java │ │ │ ├── RestObjectMapperWithStringMapperNotWriteNull.java │ │ │ ├── TestMgr.java │ │ │ ├── api/ │ │ │ │ ├── IHeaderParamWithListSchema.java │ │ │ │ └── IHeaderParamWithListSchemaSpringMvc.java │ │ │ ├── compute/ │ │ │ │ ├── Compute.java │ │ │ │ ├── GenericParam.java │ │ │ │ ├── GenericParamExtended.java │ │ │ │ ├── GenericParamWithJsonIgnore.java │ │ │ │ └── Person.java │ │ │ ├── controller/ │ │ │ │ ├── Controller.java │ │ │ │ ├── Person.java │ │ │ │ └── PersonAlias.java │ │ │ ├── helloworld/ │ │ │ │ └── greeter/ │ │ │ │ └── Hello.java │ │ │ ├── ignore/ │ │ │ │ ├── IgnoreInterface.java │ │ │ │ ├── InputModelForTestIgnore.java │ │ │ │ └── OutputModelForTestIgnore.java │ │ │ ├── jaxbbean/ │ │ │ │ ├── JAXBJob.java │ │ │ │ └── JAXBPerson.java │ │ │ ├── jaxrs/ │ │ │ │ └── server/ │ │ │ │ └── validation/ │ │ │ │ └── ValidationModel.java │ │ │ ├── mapnull/ │ │ │ │ ├── ParseRequest.java │ │ │ │ └── ParseResponse.java │ │ │ ├── model/ │ │ │ │ └── SpecialNameModel.java │ │ │ ├── multiErrorCode/ │ │ │ │ ├── MultiRequest.java │ │ │ │ ├── MultiResponse200.java │ │ │ │ ├── MultiResponse400.java │ │ │ │ └── MultiResponse500.java │ │ │ ├── produceprocessor/ │ │ │ │ ├── ProduceAppXmlProcessor.java │ │ │ │ └── override/ │ │ │ │ └── ProduceAppXmlProcessor.java │ │ │ ├── server/ │ │ │ │ ├── AbstractModel.java │ │ │ │ ├── DefaultAbstractModel.java │ │ │ │ ├── GenericsModel.java │ │ │ │ ├── MapModel.java │ │ │ │ ├── NotRecommendedServiceInf.java │ │ │ │ ├── SecondAbstractModel.java │ │ │ │ ├── Test.java │ │ │ │ ├── TestRequest.java │ │ │ │ ├── TestResponse.java │ │ │ │ ├── User.java │ │ │ │ └── WrappedAbstractModel.java │ │ │ ├── smartcare/ │ │ │ │ ├── Application.java │ │ │ │ ├── Group.java │ │ │ │ ├── Response.java │ │ │ │ └── SmartCare.java │ │ │ ├── utils/ │ │ │ │ └── JAXBUtils.java │ │ │ └── validator/ │ │ │ ├── Student.java │ │ │ └── Teacher.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ └── org.apache.servicecomb.common.rest.codec.produce.ProduceProcessor │ │ └── microservice.yaml │ ├── demo-spring-boot-transport/ │ │ ├── demo-spring-boot-pojo-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── springboot/ │ │ │ │ │ └── pojo/ │ │ │ │ │ ├── client/ │ │ │ │ │ │ ├── DemoConst.java │ │ │ │ │ │ ├── PojoClient.java │ │ │ │ │ │ ├── PojoClientTest.java │ │ │ │ │ │ └── TestMgr.java │ │ │ │ │ └── server/ │ │ │ │ │ └── schema/ │ │ │ │ │ └── server/ │ │ │ │ │ ├── Test.java │ │ │ │ │ ├── TestRequest.java │ │ │ │ │ ├── TestResponse.java │ │ │ │ │ └── User.java │ │ │ │ └── resources/ │ │ │ │ ├── META-INF/ │ │ │ │ │ └── spring/ │ │ │ │ │ └── pojo.client.bean.xml │ │ │ │ └── application.yml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── springboot/ │ │ │ └── pojo/ │ │ │ └── client/ │ │ │ └── PojoClientIT.java │ │ ├── demo-spring-boot-pojo-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── springboot/ │ │ │ │ └── pojo/ │ │ │ │ └── server/ │ │ │ │ ├── PojoServer.java │ │ │ │ ├── handler/ │ │ │ │ │ └── MyHandler.java │ │ │ │ └── schema/ │ │ │ │ ├── greeter/ │ │ │ │ │ └── Hello.java │ │ │ │ └── server/ │ │ │ │ ├── HelloImpl.java │ │ │ │ ├── Test.java │ │ │ │ ├── TestImpl.java │ │ │ │ ├── TestRequest.java │ │ │ │ ├── TestResponse.java │ │ │ │ └── User.java │ │ │ └── resources/ │ │ │ └── application.yml │ │ ├── demo-spring-boot-springmvc-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── springboot/ │ │ │ │ │ └── springmvc/ │ │ │ │ │ └── client/ │ │ │ │ │ ├── PlaceHolderSchemaTest.java │ │ │ │ │ ├── ReactiveStreamIT.java │ │ │ │ │ ├── SpringMvcClient.java │ │ │ │ │ ├── TestAnnotationsSchema.java │ │ │ │ │ ├── ThirdSvcConfiguration.java │ │ │ │ │ └── UploadDownloadSchemaTest.java │ │ │ │ └── resources/ │ │ │ │ ├── application.yml │ │ │ │ ├── certificates/ │ │ │ │ │ ├── server.p12 │ │ │ │ │ └── trust.jks │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── springboot/ │ │ │ └── springmvc/ │ │ │ └── client/ │ │ │ └── SpringMvcClientIT.java │ │ ├── demo-spring-boot-springmvc-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── springboot/ │ │ │ │ └── springmvc/ │ │ │ │ └── server/ │ │ │ │ ├── AnnotationsSchema.java │ │ │ │ ├── PlaceHolderSchema.java │ │ │ │ ├── ReactiveStreamController.java │ │ │ │ ├── SpringmvcServer.java │ │ │ │ └── UploadDownloadSchema.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ ├── certificates/ │ │ │ │ ├── server.p12 │ │ │ │ └── trust.jks │ │ │ └── microservice.yaml │ │ └── pom.xml │ ├── demo-springmvc/ │ │ ├── pom.xml │ │ ├── springmvc-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── springmvc/ │ │ │ │ │ ├── SpringmvcClient.java │ │ │ │ │ ├── client/ │ │ │ │ │ │ ├── CodeFirstRestTemplateSpringmvc.java │ │ │ │ │ │ ├── CodeFirstSpringmvcIntf.java │ │ │ │ │ │ ├── CustomEndpointDiscoveryFilter.java │ │ │ │ │ │ ├── ICompatible1xTestSchema.java │ │ │ │ │ │ ├── ResponseOKData.java │ │ │ │ │ │ ├── SchemeInterfaceSpringmvc.java │ │ │ │ │ │ ├── SpringMVCSchema.java │ │ │ │ │ │ ├── TestAnnotationsSchema.java │ │ │ │ │ │ ├── TestBigNumberSchema.java │ │ │ │ │ │ ├── TestContentType.java │ │ │ │ │ │ ├── TestControllerImpl.java │ │ │ │ │ │ ├── TestDataTypesAnnotationsSchema.java │ │ │ │ │ │ ├── TestDateTimeSchema.java │ │ │ │ │ │ ├── TestDownloadSchema.java │ │ │ │ │ │ ├── TestFactoryBean.java │ │ │ │ │ │ ├── TestGeneric.java │ │ │ │ │ │ ├── TestInvokeWhenServerNotReady.java │ │ │ │ │ │ ├── TestManagementEndpoint.java │ │ │ │ │ │ ├── TestMaxHttpUrlLength.java │ │ │ │ │ │ ├── TestObject.java │ │ │ │ │ │ ├── TestResponse.java │ │ │ │ │ │ ├── TestRestTemplate.java │ │ │ │ │ │ ├── TestRetrySchema.java │ │ │ │ │ │ ├── TestSchemeInterfaceSpringmvc.java │ │ │ │ │ │ ├── TestSpringMVCCommonSchemaInterface.java │ │ │ │ │ │ ├── TestThirdPartyRegistration.java │ │ │ │ │ │ ├── TestThirdSvc.java │ │ │ │ │ │ ├── TestTransportSchema.java │ │ │ │ │ │ ├── TestUploadSchema.java │ │ │ │ │ │ ├── TestWeakSpringmvc.java │ │ │ │ │ │ ├── ThirdPartyService.java │ │ │ │ │ │ ├── ThirdSvc.java │ │ │ │ │ │ └── factory/ │ │ │ │ │ │ ├── ServiceBean.java │ │ │ │ │ │ ├── ServiceFactoryBean.java │ │ │ │ │ │ ├── ServiceWithReference.java │ │ │ │ │ │ └── ServiceWithReferenceImpl.java │ │ │ │ │ └── decoderesponse/ │ │ │ │ │ └── DecodeTestResponse.java │ │ │ │ └── resources/ │ │ │ │ ├── META-INF/ │ │ │ │ │ └── spring/ │ │ │ │ │ └── springmvc.client.bean.xml │ │ │ │ ├── SpringMVCSchema.yaml │ │ │ │ ├── certificates/ │ │ │ │ │ ├── server.p12 │ │ │ │ │ └── trust.jks │ │ │ │ ├── log4j2.xml │ │ │ │ └── microservice.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── springmvc/ │ │ │ └── SpringMvcIT.java │ │ └── springmvc-server/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── springmvc/ │ │ │ ├── SpringmvcServer.java │ │ │ ├── decoderesponse/ │ │ │ │ └── DecodeTestResponse.java │ │ │ ├── filter/ │ │ │ │ └── ProviderTestFilter.java │ │ │ ├── server/ │ │ │ │ ├── AnnotationsSchema.java │ │ │ │ ├── BigNumberSchema.java │ │ │ │ ├── BizkeeperTest.java │ │ │ │ ├── CodeFirstSpringmvc.java │ │ │ │ ├── CodeFirstSpringmvcForSchema.java │ │ │ │ ├── Compatible1xTestSchema.java │ │ │ │ ├── CompatibleQueryBean.java │ │ │ │ ├── ConfigurationProblemsCollectorTest.java │ │ │ │ ├── ContentTypeSpringmvc.java │ │ │ │ ├── ContentTypeSpringmvcOverwrite.java │ │ │ │ ├── ControllerImpl.java │ │ │ │ ├── DataTypesAnnotationsSchema.java │ │ │ │ ├── DateTimeSchema.java │ │ │ │ ├── DownloadSchema.java │ │ │ │ ├── MyStrategy.java │ │ │ │ ├── MyStrategyFactory.java │ │ │ │ ├── ProducerTestsAfterBootup.java │ │ │ │ ├── ReadFileSource.java │ │ │ │ ├── ResponseOKData.java │ │ │ │ ├── ResponseOKException.java │ │ │ │ ├── ResponseOKExceptionConverter.java │ │ │ │ ├── RestProducersCustomized.java │ │ │ │ ├── RetrySchema.java │ │ │ │ ├── SchemeInterfaceSpringmvc.java │ │ │ │ ├── SchemeInterfaceSpringmvcImpl.java │ │ │ │ ├── SpringMVCCommonSchemaInterface.java │ │ │ │ ├── SpringMvcDefaultValues.java │ │ │ │ ├── TransportSchema.java │ │ │ │ ├── UploadSchema.java │ │ │ │ └── WeakSpringmvc.java │ │ │ └── third/ │ │ │ ├── EarlyConsumer.java │ │ │ ├── HealthSchema.java │ │ │ ├── HeartBeatService.java │ │ │ ├── NormalConsumer.java │ │ │ └── Register.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ ├── org.apache.servicecomb.core.exception.ExceptionConverter │ │ │ └── org.apache.servicecomb.qps.strategy.IStrategyFactory │ │ ├── certificates/ │ │ │ ├── server.p12 │ │ │ └── trust.jks │ │ ├── log4j2.xml │ │ ├── microservice.yaml │ │ └── schemas/ │ │ └── CodeFirstSpringmvcForSchema.yaml │ ├── demo-zeroconfig-registry/ │ │ ├── README.md │ │ ├── demo-zeroconfig-registry-client/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── zeroconfig/ │ │ │ │ └── client/ │ │ │ │ ├── ClientApplication.java │ │ │ │ ├── ClientModel.java │ │ │ │ ├── ClientServerEndpoint.java │ │ │ │ ├── GovernanceEndpoint.java │ │ │ │ ├── IRpcEndpoint.java │ │ │ │ └── IServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── demo-zeroconfig-registry-edge/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── zeroconfig/ │ │ │ │ └── edge/ │ │ │ │ ├── EdgeApplication.java │ │ │ │ ├── SelfServiceInvoker.java │ │ │ │ └── ServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── demo-zeroconfig-registry-server/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── demo/ │ │ │ │ └── zeroconfig/ │ │ │ │ └── server/ │ │ │ │ ├── GovernanceEndpoint.java │ │ │ │ ├── GovernanceNoPrefixEndpoint.java │ │ │ │ ├── RpcEndpoint.java │ │ │ │ ├── SelfServiceInvoker.java │ │ │ │ ├── ServerApplication.java │ │ │ │ └── ServerEndpoint.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── demo-zeroconfig-registry-tests/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── demo/ │ │ │ │ │ └── zeroconfig/ │ │ │ │ │ └── tests/ │ │ │ │ │ ├── Application.java │ │ │ │ │ ├── ClientModel.java │ │ │ │ │ ├── GovernanceTest.java │ │ │ │ │ └── ServerTest.java │ │ │ │ └── resources/ │ │ │ │ ├── application.yml │ │ │ │ ├── logback.xml │ │ │ │ ├── microservices/ │ │ │ │ │ ├── demo-zeroconfig-registry-client/ │ │ │ │ │ │ ├── ClientServerEndpoint.yaml │ │ │ │ │ │ ├── GovernanceEndpoint.yaml │ │ │ │ │ │ └── SchemaDiscoveryEndpoint.yaml │ │ │ │ │ └── demo-zeroconfig-registry-edge/ │ │ │ │ │ ├── ClientServerEndpoint.yaml │ │ │ │ │ └── SchemaDiscoveryEndpoint.yaml │ │ │ │ └── registry.yaml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── demo/ │ │ │ └── zeroconfig/ │ │ │ └── tests/ │ │ │ └── ZeroConfigRegistryIT.java │ │ └── pom.xml │ ├── demo-zookeeper/ │ │ ├── README.md │ │ ├── consumer/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── ClientWebsocketController.java │ │ │ │ ├── ConsumerApplication.java │ │ │ │ ├── ConsumerController.java │ │ │ │ ├── ConsumerHeaderParamWithListSchema.java │ │ │ │ ├── ConsumerReactiveStreamController.java │ │ │ │ └── ProviderService.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── gateway/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ └── GatewayApplication.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ ├── pom.xml │ │ ├── provider/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── HeaderParamWithListSchema.java │ │ │ │ ├── ProviderApplication.java │ │ │ │ ├── ProviderController.java │ │ │ │ ├── ReactiveStreamController.java │ │ │ │ └── WebsocketController.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test-client/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── samples/ │ │ │ │ ├── Config.java │ │ │ │ ├── HeaderParamWithListSchemaIT.java │ │ │ │ ├── HelloWorldIT.java │ │ │ │ ├── ReactiveStreamIT.java │ │ │ │ ├── TestClientApplication.java │ │ │ │ ├── ThirdSvcConfiguration.java │ │ │ │ └── WebsocketIT.java │ │ │ └── resources/ │ │ │ ├── application.yml │ │ │ └── log4j2.xml │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── samples/ │ │ └── ZookeeperIT.java │ └── pom.xml ├── dependencies/ │ ├── bom/ │ │ └── pom.xml │ ├── default/ │ │ └── pom.xml │ └── pom.xml ├── distribution/ │ ├── pom.xml │ └── src/ │ ├── assembly/ │ │ ├── bin.xml │ │ └── src.xml │ └── release/ │ ├── LICENSE │ ├── NOTICE │ └── licenses/ │ ├── LICENSE-abego │ ├── LICENSE-animalsniffer │ ├── LICENSE-antlr │ ├── LICENSE-asm │ ├── LICENSE-bouncycastle │ ├── LICENSE-cc0 │ ├── LICENSE-cddl │ ├── LICENSE-checkerqual │ ├── LICENSE-edl-v10 │ ├── LICENSE-epl-v10 │ ├── LICENSE-epl-v20 │ ├── LICENSE-hamcrest │ ├── LICENSE-hdrhistogram │ ├── LICENSE-icu4j │ ├── LICENSE-jcodings │ ├── LICENSE-joni │ ├── LICENSE-jopt │ ├── LICENSE-jsonp │ ├── LICENSE-jsoup │ ├── LICENSE-jsr311-api │ ├── LICENSE-logback │ ├── LICENSE-mozilla-v20 │ ├── LICENSE-protobuf │ ├── LICENSE-slf4j │ ├── LICENSE-woodstox-stax2-api │ ├── NOTICE-apache-commons-codec │ ├── NOTICE-netty │ ├── NOTICE-prometheus │ ├── NOTICE-protostuff │ └── NOTICE-tomcat ├── dynamic-config/ │ ├── config-apollo/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── config/ │ │ │ │ └── apollo/ │ │ │ │ ├── ApolloClient.java │ │ │ │ ├── ApolloConfig.java │ │ │ │ ├── ApolloConfiguration.java │ │ │ │ ├── ApolloDynamicPropertiesSource.java │ │ │ │ └── ConfigurationAction.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.config.DynamicPropertiesSource │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ └── apollo/ │ │ │ └── ApolloClientTest.java │ │ └── resources/ │ │ └── microservice.yaml │ ├── config-cc/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── config/ │ │ │ │ └── cc/ │ │ │ │ ├── ConfigCenterConfig.java │ │ │ │ ├── ConfigCenterConfiguration.java │ │ │ │ ├── ConfigCenterDynamicPropertiesSource.java │ │ │ │ ├── ConfigCenterInformationCollector.java │ │ │ │ └── TransportUtils.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ ├── org.apache.servicecomb.config.DynamicPropertiesSource │ │ │ │ └── org.apache.servicecomb.core.bootup.BootUpInformationCollector │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ └── cc/ │ │ │ ├── ConfigCenterAddressManagerTest.java │ │ │ └── ConfigCenterConfigurationSourceImplTest.java │ │ └── resources/ │ │ └── microservice.yaml │ ├── config-consul/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ └── consul/ │ │ │ ├── ConsulConfig.java │ │ │ ├── ConsulConfigClient.java │ │ │ ├── ConsulConfigProperties.java │ │ │ └── ConsulDynamicPropertiesSource.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.config.DynamicPropertiesSource │ ├── config-etcd/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ └── etcd/ │ │ │ ├── EtcdClient.java │ │ │ ├── EtcdConfig.java │ │ │ └── EtcdDynamicPropertiesSource.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.config.DynamicPropertiesSource │ ├── config-kie/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── config/ │ │ │ │ └── kie/ │ │ │ │ ├── KieConfig.java │ │ │ │ ├── KieConfigConfiguration.java │ │ │ │ ├── KieDynamicPropertiesSource.java │ │ │ │ ├── TransportUtils.java │ │ │ │ └── collect/ │ │ │ │ └── KieClientInformationCollector.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ ├── org.apache.servicecomb.config.DynamicPropertiesSource │ │ │ │ └── org.apache.servicecomb.core.bootup.BootUpInformationCollector │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── resources/ │ │ └── microservice.yaml │ ├── config-nacos/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── config/ │ │ │ │ └── nacos/ │ │ │ │ ├── NacosClient.java │ │ │ │ ├── NacosConfig.java │ │ │ │ └── NacosDynamicPropertiesSource.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── org.apache.servicecomb.config.DynamicPropertiesSource │ │ └── test/ │ │ └── resources/ │ │ └── microservice.yaml │ ├── config-zookeeper/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ └── zookeeper/ │ │ │ ├── ZookeeperClient.java │ │ │ ├── ZookeeperConfig.java │ │ │ └── ZookeeperDynamicPropertiesSource.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.config.DynamicPropertiesSource │ └── pom.xml ├── edge/ │ ├── edge-core/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── edge/ │ │ │ │ └── core/ │ │ │ │ ├── AbstractEdgeDispatcher.java │ │ │ │ ├── CommonHttpEdgeDispatcher.java │ │ │ │ ├── DefaultEdgeDispatcher.java │ │ │ │ ├── EdgeAddHeaderFilter.java │ │ │ │ ├── EdgeBootListener.java │ │ │ │ ├── EdgeCoreConfiguration.java │ │ │ │ ├── EdgeInvocationCreator.java │ │ │ │ ├── EdgeRestServerVerticle.java │ │ │ │ └── URLMappedEdgeDispatcher.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── microservice.yaml │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── edge/ │ │ └── core/ │ │ ├── TestAbstractEdgeDispatcher.java │ │ ├── TestURLMappedEdgeDispatcher.java │ │ └── TestUtils.java │ └── pom.xml ├── etc/ │ ├── code-templates.xml │ ├── eclipse-java-google-style.xml │ └── intellij-java-google-style.xml ├── foundations/ │ ├── foundation-common/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── foundation/ │ │ │ │ ├── auth/ │ │ │ │ │ ├── Cipher.java │ │ │ │ │ ├── DefaultCipher.java │ │ │ │ │ ├── FoundationCommonAuthConfiguration.java │ │ │ │ │ └── ShaAKSKCipher.java │ │ │ │ ├── common/ │ │ │ │ │ ├── AbstractObjectManager.java │ │ │ │ │ ├── CommonThread.java │ │ │ │ │ ├── DynamicObject.java │ │ │ │ │ ├── Holder.java │ │ │ │ │ ├── LegacyPropertyFactory.java │ │ │ │ │ ├── NamedThreadFactory.java │ │ │ │ │ ├── ParameterizedTypeUtil.java │ │ │ │ │ ├── RegisterManager.java │ │ │ │ │ ├── VendorExtensions.java │ │ │ │ │ ├── Version.java │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── DescriptiveRunnable.java │ │ │ │ │ │ ├── DynamicEnum.java │ │ │ │ │ │ ├── DynamicEnumCache.java │ │ │ │ │ │ ├── EnumUtils.java │ │ │ │ │ │ └── ServiceCombConstants.java │ │ │ │ │ ├── cache/ │ │ │ │ │ │ └── VersionedCache.java │ │ │ │ │ ├── concurrency/ │ │ │ │ │ │ └── SuppressedRunnableWrapper.java │ │ │ │ │ ├── concurrent/ │ │ │ │ │ │ └── ConcurrentHashMapEx.java │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── ConfigLoader.java │ │ │ │ │ │ ├── PaaSResourceUtils.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── AbstractLoader.java │ │ │ │ │ │ ├── PaaSPropertiesLoaderUtils.java │ │ │ │ │ │ ├── PropertiesLoader.java │ │ │ │ │ │ └── XmlLoaderUtils.java │ │ │ │ │ ├── encrypt/ │ │ │ │ │ │ ├── Encryption.java │ │ │ │ │ │ ├── Encryptions.java │ │ │ │ │ │ └── NoEncryption.java │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── AlarmEvent.java │ │ │ │ │ │ ├── EnableExceptionPropagation.java │ │ │ │ │ │ ├── EventManager.java │ │ │ │ │ │ ├── SimpleEventBus.java │ │ │ │ │ │ ├── SimpleSubscriber.java │ │ │ │ │ │ └── SubscriberOrder.java │ │ │ │ │ ├── exceptions/ │ │ │ │ │ │ └── ServiceCombException.java │ │ │ │ │ ├── http/ │ │ │ │ │ │ ├── HttpStatus.java │ │ │ │ │ │ ├── HttpStatusManager.java │ │ │ │ │ │ ├── HttpStatusUtils.java │ │ │ │ │ │ └── HttpUtils.java │ │ │ │ │ ├── io/ │ │ │ │ │ │ └── AsyncCloseable.java │ │ │ │ │ ├── log/ │ │ │ │ │ │ └── AbstractMarker.java │ │ │ │ │ ├── net/ │ │ │ │ │ │ ├── IpPort.java │ │ │ │ │ │ ├── NetUtils.java │ │ │ │ │ │ └── URIEndpointObject.java │ │ │ │ │ ├── part/ │ │ │ │ │ │ ├── AbstractPart.java │ │ │ │ │ │ ├── FilePart.java │ │ │ │ │ │ ├── FilePartForSend.java │ │ │ │ │ │ ├── InputStreamPart.java │ │ │ │ │ │ └── ResourcePart.java │ │ │ │ │ ├── spring/ │ │ │ │ │ │ └── PaasNamespaceHandler.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── AbstractRestObjectMapper.java │ │ │ │ │ ├── AsyncUtils.java │ │ │ │ │ ├── BeanUtils.java │ │ │ │ │ ├── ClassLoaderScopeContext.java │ │ │ │ │ ├── ConditionWaiter.java │ │ │ │ │ ├── ExceptionUtils.java │ │ │ │ │ ├── FilePerm.java │ │ │ │ │ ├── FortifyUtils.java │ │ │ │ │ ├── GenericsUtils.java │ │ │ │ │ ├── IOUtils.java │ │ │ │ │ ├── JsonUtils.java │ │ │ │ │ ├── JvmUtils.java │ │ │ │ │ ├── KeyPairEntry.java │ │ │ │ │ ├── KeyPairUtils.java │ │ │ │ │ ├── LambdaMetafactoryUtils.java │ │ │ │ │ ├── LambdaUtils.java │ │ │ │ │ ├── MimeTypesUtils.java │ │ │ │ │ ├── MuteExceptionUtil.java │ │ │ │ │ ├── PartUtils.java │ │ │ │ │ ├── ReflectUtils.java │ │ │ │ │ ├── ResourceUtil.java │ │ │ │ │ ├── RestObjectMapper.java │ │ │ │ │ ├── StringBuilderUtils.java │ │ │ │ │ ├── TimeUtils.java │ │ │ │ │ ├── TypesUtil.java │ │ │ │ │ ├── bean/ │ │ │ │ │ │ ├── ArrayGetter.java │ │ │ │ │ │ ├── ArraySetter.java │ │ │ │ │ │ ├── BoolGetter.java │ │ │ │ │ │ ├── BoolSetter.java │ │ │ │ │ │ ├── ByteGetter.java │ │ │ │ │ │ ├── ByteSetter.java │ │ │ │ │ │ ├── CharGetter.java │ │ │ │ │ │ ├── CharSetter.java │ │ │ │ │ │ ├── DoubleGetter.java │ │ │ │ │ │ ├── DoubleSetter.java │ │ │ │ │ │ ├── FloatGetter.java │ │ │ │ │ │ ├── FloatSetter.java │ │ │ │ │ │ ├── Getter.java │ │ │ │ │ │ ├── IntGetter.java │ │ │ │ │ │ ├── IntSetter.java │ │ │ │ │ │ ├── LongGetter.java │ │ │ │ │ │ ├── LongSetter.java │ │ │ │ │ │ ├── MapGetter.java │ │ │ │ │ │ ├── MapSetter.java │ │ │ │ │ │ ├── Setter.java │ │ │ │ │ │ ├── ShortGetter.java │ │ │ │ │ │ └── ShortSetter.java │ │ │ │ │ └── json/ │ │ │ │ │ ├── JavaxServletPartDeserializer.java │ │ │ │ │ ├── JavaxServletPartSerializer.java │ │ │ │ │ └── PartModule.java │ │ │ │ └── token/ │ │ │ │ └── Keypair4Auth.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── mime.types │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.foundation.common.encrypt.Encryption │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── common/ │ │ │ ├── DynamicObjectTest.java │ │ │ ├── base/ │ │ │ │ └── DynamicEnumTest.java │ │ │ ├── cache/ │ │ │ │ └── TestVersionedCache.java │ │ │ ├── concurrency/ │ │ │ │ └── RunnableWrapperTest.java │ │ │ ├── config/ │ │ │ │ └── BeanProp.java │ │ │ ├── encrypt/ │ │ │ │ └── TestEncryptions.java │ │ │ ├── event/ │ │ │ │ ├── TestEventBus.java │ │ │ │ └── TestEventManager.java │ │ │ ├── http/ │ │ │ │ ├── TestHttpStatus.java │ │ │ │ ├── TestHttpStatusUtils.java │ │ │ │ └── TestHttpUtils.java │ │ │ ├── net/ │ │ │ │ ├── TestIpPort.java │ │ │ │ ├── TestNetUtils.java │ │ │ │ └── TestURIEndpointObject.java │ │ │ ├── part/ │ │ │ │ ├── TestAbstractPart.java │ │ │ │ ├── TestFilePart.java │ │ │ │ ├── TestInputStreamPart.java │ │ │ │ └── TestResourcePart.java │ │ │ ├── spring/ │ │ │ │ └── TestPaasNamespaceHandler.java │ │ │ └── utils/ │ │ │ ├── AsyncUtilsTest.java │ │ │ ├── JsonUtilsTest.java │ │ │ ├── ResourceUtilTest.java │ │ │ ├── TestExceptionUtils.java │ │ │ ├── TestFileNameTooLong.java │ │ │ ├── TestFortifyUtils.java │ │ │ ├── TestGenericsUtils.java │ │ │ ├── TestIOUtils.java │ │ │ ├── TestJvmUtils.java │ │ │ ├── TestLambdaMetafactoryUtils.java │ │ │ ├── TestLambdaPerformance.java │ │ │ ├── TestMimeTypesUtils.java │ │ │ ├── TestRSAUtil.java │ │ │ └── TestTypesUtil.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring/ │ │ │ └── config.bean.xml │ │ └── log4j2.xml │ ├── foundation-config/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── config/ │ │ │ │ ├── BootStrapProperties.java │ │ │ │ ├── ConfigEnvironmentPostProcessor.java │ │ │ │ ├── ConfigMapping.java │ │ │ │ ├── ConfigUtil.java │ │ │ │ ├── ConfigurationChangedEvent.java │ │ │ │ ├── DataCenterProperties.java │ │ │ │ ├── DynamicProperties.java │ │ │ │ ├── DynamicPropertiesImpl.java │ │ │ │ ├── DynamicPropertiesSource.java │ │ │ │ ├── FoundationConfigConfiguration.java │ │ │ │ ├── InMemoryDynamicPropertiesSource.java │ │ │ │ ├── YAMLUtil.java │ │ │ │ ├── file/ │ │ │ │ │ ├── AbstractConfigLoader.java │ │ │ │ │ ├── ConfigModel.java │ │ │ │ │ ├── MicroserviceConfigLoader.java │ │ │ │ │ └── YAMLConfigLoader.java │ │ │ │ ├── inject/ │ │ │ │ │ ├── InjectBeanPostProcessor.java │ │ │ │ │ ├── InjectProperties.java │ │ │ │ │ ├── InjectProperty.java │ │ │ │ │ └── PlaceholderResolver.java │ │ │ │ ├── parser/ │ │ │ │ │ ├── Parser.java │ │ │ │ │ ├── PropertiesParser.java │ │ │ │ │ ├── RawParser.java │ │ │ │ │ └── YamlParser.java │ │ │ │ └── priority/ │ │ │ │ ├── ConfigObject.java │ │ │ │ ├── ConfigObjectFactory.java │ │ │ │ ├── ConfigObjectProperty.java │ │ │ │ ├── DynamicProperty.java │ │ │ │ ├── PriorityProperty.java │ │ │ │ ├── PriorityPropertyFactory.java │ │ │ │ ├── PriorityPropertyManager.java │ │ │ │ └── PriorityPropertyType.java │ │ │ └── resources/ │ │ │ ├── META-INF/ │ │ │ │ ├── services/ │ │ │ │ │ └── org.apache.servicecomb.config.DynamicPropertiesSource │ │ │ │ ├── spring/ │ │ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ │ └── spring.factories │ │ │ └── mapping.yaml │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── config/ │ │ │ ├── BootStrapPropertiesTest.java │ │ │ ├── DynamicPropertiesTest.java │ │ │ ├── TestConfigMapping.java │ │ │ ├── TestYAMLUtil.java │ │ │ ├── file/ │ │ │ │ └── TestMicroserviceConfigLoader.java │ │ │ ├── inject/ │ │ │ │ ├── TestConfigObjectFactory.java │ │ │ │ └── TestPlaceholderResolver.java │ │ │ ├── parser/ │ │ │ │ └── TestParser.java │ │ │ └── priority/ │ │ │ ├── TestPriorityProperty.java │ │ │ ├── TestPriorityPropertyBase.java │ │ │ ├── TestPriorityPropertyFactory.java │ │ │ └── TestPriorityPropertyManager.java │ │ └── resources/ │ │ ├── empty.yaml │ │ ├── m1.yaml │ │ ├── mapping.yaml │ │ ├── microservice.yaml │ │ ├── test1.yaml │ │ └── test2.yaml │ ├── foundation-metrics/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── metrics/ │ │ │ ├── MetricsBootstrap.java │ │ │ ├── MetricsBootstrapConfig.java │ │ │ ├── MetricsInitializer.java │ │ │ ├── PolledEvent.java │ │ │ ├── health/ │ │ │ │ ├── HealthCheckResult.java │ │ │ │ ├── HealthChecker.java │ │ │ │ └── HealthCheckerManager.java │ │ │ ├── meter/ │ │ │ │ ├── LatencyDistributionConfig.java │ │ │ │ ├── LatencyScopeConfig.java │ │ │ │ └── PeriodMeter.java │ │ │ └── publish/ │ │ │ ├── DefaultTagFinder.java │ │ │ ├── MeasurementGroupConfig.java │ │ │ ├── MeasurementNode.java │ │ │ ├── MeasurementTree.java │ │ │ └── TagFinder.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── foundation/ │ │ └── metrics/ │ │ ├── TestMetricsBootstrap.java │ │ ├── health/ │ │ │ └── TestHealthCheckerManager.java │ │ ├── meter/ │ │ │ └── TestLatencyDistributionConfig.java │ │ └── publish/ │ │ └── spectator/ │ │ ├── TestDefaultTagFinder.java │ │ ├── TestMeasurementGroupConfig.java │ │ ├── TestMeasurementNode.java │ │ ├── TestMeasurementTree.java │ │ └── TestTagFinder.java │ ├── foundation-protobuf/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ ├── io/ │ │ │ │ │ └── protostuff/ │ │ │ │ │ ├── ByteArrayInputEx.java │ │ │ │ │ ├── InputEx.java │ │ │ │ │ ├── OutputEx.java │ │ │ │ │ ├── ProtobufOutputEx.java │ │ │ │ │ ├── SchemaEx.java │ │ │ │ │ ├── SchemaReader.java │ │ │ │ │ ├── SchemaWriter.java │ │ │ │ │ ├── package-info.java │ │ │ │ │ └── runtime/ │ │ │ │ │ ├── ArrayFieldMapEx.java │ │ │ │ │ ├── FieldMapEx.java │ │ │ │ │ ├── FieldSchema.java │ │ │ │ │ ├── FieldTypeUtils.java │ │ │ │ │ └── HashFieldMapEx.java │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── foundation/ │ │ │ │ └── protobuf/ │ │ │ │ ├── ProtoMapper.java │ │ │ │ ├── ProtoMapperFactory.java │ │ │ │ ├── RootDeserializer.java │ │ │ │ ├── RootSerializer.java │ │ │ │ ├── internal/ │ │ │ │ │ ├── ProtoConst.java │ │ │ │ │ ├── ProtoUtils.java │ │ │ │ │ ├── bean/ │ │ │ │ │ │ ├── BeanDescriptor.java │ │ │ │ │ │ ├── BeanDescriptorManager.java │ │ │ │ │ │ ├── PropertyDescriptor.java │ │ │ │ │ │ └── PropertyWrapper.java │ │ │ │ │ ├── parser/ │ │ │ │ │ │ ├── ContentFileReader.java │ │ │ │ │ │ └── ProtoParser.java │ │ │ │ │ └── schema/ │ │ │ │ │ ├── EnumMeta.java │ │ │ │ │ ├── MessageAsFieldSchema.java │ │ │ │ │ ├── PropertyWrapperAsFieldSchema.java │ │ │ │ │ ├── SchemaManager.java │ │ │ │ │ ├── any/ │ │ │ │ │ │ ├── AnyEntry.java │ │ │ │ │ │ ├── AnyEntrySchema.java │ │ │ │ │ │ └── AnySchema.java │ │ │ │ │ ├── deserializer/ │ │ │ │ │ │ ├── DeserializerSchemaManager.java │ │ │ │ │ │ ├── MessageReadSchema.java │ │ │ │ │ │ ├── repeated/ │ │ │ │ │ │ │ ├── AbstractPrimitiveReaders.java │ │ │ │ │ │ │ ├── AbstractReaders.java │ │ │ │ │ │ │ ├── PrimitiveArrayBuilderWrapper.java │ │ │ │ │ │ │ ├── RepeatedReadSchemas.java │ │ │ │ │ │ │ ├── RepeatedReader.java │ │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ │ ├── AnyRepeatedReadSchemas.java │ │ │ │ │ │ │ ├── BytesRepeatedReadSchemas.java │ │ │ │ │ │ │ ├── MessageRepeatedReadSchemas.java │ │ │ │ │ │ │ ├── PropertyWrapperRepeatedReadSchemas.java │ │ │ │ │ │ │ ├── StringRepeatedReadSchemas.java │ │ │ │ │ │ │ ├── bools/ │ │ │ │ │ │ │ │ ├── BoolRepeatedReadSchemas.java │ │ │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ │ │ ├── BoolNotPackedReadSchemas.java │ │ │ │ │ │ │ │ └── BoolPackedReadSchemas.java │ │ │ │ │ │ │ ├── doubles/ │ │ │ │ │ │ │ │ ├── DoubleRepeatedReadSchemas.java │ │ │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ │ │ ├── DoubleNotPackedReadSchemas.java │ │ │ │ │ │ │ │ └── DoublePackedReadSchemas.java │ │ │ │ │ │ │ ├── enums/ │ │ │ │ │ │ │ │ ├── EnumNotPackedReadSchemas.java │ │ │ │ │ │ │ │ ├── EnumPackedReadSchemas.java │ │ │ │ │ │ │ │ └── EnumSchemaUtils.java │ │ │ │ │ │ │ ├── floats/ │ │ │ │ │ │ │ │ ├── FloatRepeatedReadSchemas.java │ │ │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ │ │ ├── FloatNotPackedReadSchemas.java │ │ │ │ │ │ │ │ └── FloatPackedReadSchemas.java │ │ │ │ │ │ │ ├── ints/ │ │ │ │ │ │ │ │ ├── IntRepeatedReadSchemas.java │ │ │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ │ │ ├── Fixed32NotPackedReadSchemas.java │ │ │ │ │ │ │ │ ├── Fixed32PackedReadSchemas.java │ │ │ │ │ │ │ │ ├── Int32NotPackedReadSchemas.java │ │ │ │ │ │ │ │ ├── Int32PackedReadSchemas.java │ │ │ │ │ │ │ │ ├── SFixed32NotPackedReadSchemas.java │ │ │ │ │ │ │ │ ├── SFixed32PackedReadSchemas.java │ │ │ │ │ │ │ │ ├── SInt32NotPackedReadSchemas.java │ │ │ │ │ │ │ │ ├── SInt32PackedReadSchemas.java │ │ │ │ │ │ │ │ ├── UInt32NotPackedReadSchemas.java │ │ │ │ │ │ │ │ └── UInt32PackedReadSchemas.java │ │ │ │ │ │ │ └── longs/ │ │ │ │ │ │ │ ├── LongRepeatedReadSchemas.java │ │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ │ ├── Fixed64NotPackedReadSchemas.java │ │ │ │ │ │ │ ├── Fixed64PackedReadSchemas.java │ │ │ │ │ │ │ ├── Int64NotPackedReadSchemas.java │ │ │ │ │ │ │ ├── Int64PackedReadSchemas.java │ │ │ │ │ │ │ ├── SFixed64NotPackedReadSchemas.java │ │ │ │ │ │ │ ├── SFixed64PackedReadSchemas.java │ │ │ │ │ │ │ ├── SInt64NotPackedReadSchemas.java │ │ │ │ │ │ │ ├── SInt64PackedReadSchemas.java │ │ │ │ │ │ │ ├── UInt64NotPackedReadSchemas.java │ │ │ │ │ │ │ └── UInt64PackedReadSchemas.java │ │ │ │ │ │ └── scalar/ │ │ │ │ │ │ ├── AbstractScalarReadSchemas.java │ │ │ │ │ │ ├── BoolReadSchemas.java │ │ │ │ │ │ ├── BytesReadSchemas.java │ │ │ │ │ │ ├── DoubleReadSchemas.java │ │ │ │ │ │ ├── EnumsReadSchemas.java │ │ │ │ │ │ ├── Fixed32ReadSchemas.java │ │ │ │ │ │ ├── Fixed64ReadSchemas.java │ │ │ │ │ │ ├── FloatReadSchemas.java │ │ │ │ │ │ ├── Int32ReadSchemas.java │ │ │ │ │ │ ├── Int64ReadSchemas.java │ │ │ │ │ │ ├── SFixed32ReadSchemas.java │ │ │ │ │ │ ├── SFixed64ReadSchemas.java │ │ │ │ │ │ ├── SInt32ReadSchemas.java │ │ │ │ │ │ ├── SInt64ReadSchemas.java │ │ │ │ │ │ ├── StringReadSchemas.java │ │ │ │ │ │ ├── UInt32ReadSchemas.java │ │ │ │ │ │ └── UInt64ReadSchemas.java │ │ │ │ │ ├── map/ │ │ │ │ │ │ ├── MapEntry.java │ │ │ │ │ │ ├── MapEntrySchema.java │ │ │ │ │ │ └── MapSchema.java │ │ │ │ │ └── serializer/ │ │ │ │ │ ├── MessageWriteSchema.java │ │ │ │ │ ├── SerializerSchemaManager.java │ │ │ │ │ ├── repeated/ │ │ │ │ │ │ ├── AbstractPrimitiveWriters.java │ │ │ │ │ │ ├── AbstractWriters.java │ │ │ │ │ │ ├── RepeatedPrimitiveWriteSchemas.java │ │ │ │ │ │ ├── RepeatedWriteSchemas.java │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── AnyRepeatedWriteSchemas.java │ │ │ │ │ │ ├── BytesRepeatedWriteSchemas.java │ │ │ │ │ │ ├── MessagesRepeatedWriteSchemas.java │ │ │ │ │ │ ├── PropertyWrapperRepeatedWriteSchemas.java │ │ │ │ │ │ ├── StringsRepeatedWriteSchemas.java │ │ │ │ │ │ ├── bools/ │ │ │ │ │ │ │ ├── BoolNotPackedWriteSchemas.java │ │ │ │ │ │ │ └── BoolPackedWriteSchemas.java │ │ │ │ │ │ ├── doubles/ │ │ │ │ │ │ │ ├── DoubleNotPackedWriteSchemas.java │ │ │ │ │ │ │ └── DoublePackedWriteSchemas.java │ │ │ │ │ │ ├── enums/ │ │ │ │ │ │ │ ├── EnumNotPackedWriteSchemas.java │ │ │ │ │ │ │ └── EnumPackedWriteSchemas.java │ │ │ │ │ │ ├── floats/ │ │ │ │ │ │ │ ├── FloatNotPackedWriteSchemas.java │ │ │ │ │ │ │ └── FloatPackedWriteSchemas.java │ │ │ │ │ │ ├── ints/ │ │ │ │ │ │ │ ├── Fixed32NotPackedWriteSchemas.java │ │ │ │ │ │ │ ├── Fixed32PackedWriteSchemas.java │ │ │ │ │ │ │ ├── Int32NotPackedWriteSchemas.java │ │ │ │ │ │ │ ├── Int32PackedWriteSchemas.java │ │ │ │ │ │ │ ├── SFixed32NotPackedWriteSchemas.java │ │ │ │ │ │ │ ├── SFixed32PackedWriteSchemas.java │ │ │ │ │ │ │ ├── SInt32NotPackedWriteSchemas.java │ │ │ │ │ │ │ ├── SInt32PackedWriteSchemas.java │ │ │ │ │ │ │ ├── UInt32NotPackedWriteSchemas.java │ │ │ │ │ │ │ └── UInt32PackedWriteSchemas.java │ │ │ │ │ │ └── longs/ │ │ │ │ │ │ ├── Fixed64NotPackedWriteSchemas.java │ │ │ │ │ │ ├── Fixed64PackedWriteSchemas.java │ │ │ │ │ │ ├── Int64NotPackedWriteSchemas.java │ │ │ │ │ │ ├── Int64PackedWriteSchemas.java │ │ │ │ │ │ ├── SFixed64NotPackedWriteSchemas.java │ │ │ │ │ │ ├── SFixed64PackedWriteSchemas.java │ │ │ │ │ │ ├── SInt64NotPackedWriteSchemas.java │ │ │ │ │ │ ├── SInt64PackedWriteSchemas.java │ │ │ │ │ │ ├── UInt64NotPackedWriteSchemas.java │ │ │ │ │ │ └── UInt64PackedWriteSchemas.java │ │ │ │ │ └── scalar/ │ │ │ │ │ ├── BoolWriteSchemas.java │ │ │ │ │ ├── BytesWriteSchemas.java │ │ │ │ │ ├── DoubleWriteSchemas.java │ │ │ │ │ ├── EnumWriteSchemas.java │ │ │ │ │ ├── Fixed32WriteSchemas.java │ │ │ │ │ ├── Fixed64WriteSchemas.java │ │ │ │ │ ├── FloatWriteSchemas.java │ │ │ │ │ ├── Int32WriteSchemas.java │ │ │ │ │ ├── Int64WriteSchemas.java │ │ │ │ │ ├── SFixed32WriteSchemas.java │ │ │ │ │ ├── SFixed64WriteSchemas.java │ │ │ │ │ ├── SInt32WriteSchemas.java │ │ │ │ │ ├── SInt64WriteSchemas.java │ │ │ │ │ ├── StringWriteSchemas.java │ │ │ │ │ ├── UInt32WriteSchemas.java │ │ │ │ │ └── UInt64WriteSchemas.java │ │ │ │ └── notice.txt │ │ │ └── resources/ │ │ │ └── google/ │ │ │ └── protobuf/ │ │ │ ├── any.proto │ │ │ └── empty.proto │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── protobuf/ │ │ │ ├── TestISODateTimeParsing.java │ │ │ ├── compatibility/ │ │ │ │ └── TestCompatibilityOfImplementations.java │ │ │ ├── internal/ │ │ │ │ ├── TestModelWrap.java │ │ │ │ ├── TestSchemaBase.java │ │ │ │ ├── bean/ │ │ │ │ │ └── TestBeanDescriptorManager.java │ │ │ │ ├── model/ │ │ │ │ │ ├── CustomGeneric.java │ │ │ │ │ ├── PrimitiveArrays.java │ │ │ │ │ ├── PrimitiveWrapperArrays.java │ │ │ │ │ ├── Root.java │ │ │ │ │ └── User.java │ │ │ │ ├── parser/ │ │ │ │ │ └── TestProtoParser.java │ │ │ │ └── schema/ │ │ │ │ ├── TestAnySchema.java │ │ │ │ ├── TestMapSchema.java │ │ │ │ ├── TestMessageSchema.java │ │ │ │ ├── TestRepeatedSchema.java │ │ │ │ └── scalar/ │ │ │ │ ├── TestBoolSchema.java │ │ │ │ ├── TestBytesSchema.java │ │ │ │ ├── TestDoubleSchema.java │ │ │ │ ├── TestEnumSchema.java │ │ │ │ ├── TestFixed32Schema.java │ │ │ │ ├── TestFixed64Schema.java │ │ │ │ ├── TestFloatSchema.java │ │ │ │ ├── TestInt32Schema.java │ │ │ │ ├── TestInt64Schema.java │ │ │ │ ├── TestNumberBaseSchema.java │ │ │ │ ├── TestSFixed32Schema.java │ │ │ │ ├── TestSFixed64Schema.java │ │ │ │ ├── TestSInt32Schema.java │ │ │ │ ├── TestSInt64Schema.java │ │ │ │ ├── TestStringSchema.java │ │ │ │ ├── TestUInt32Schema.java │ │ │ │ └── TestUInt64Schema.java │ │ │ └── performance/ │ │ │ ├── ProtubufCodecEngine.java │ │ │ ├── TestBase.java │ │ │ ├── TestEngineResult.java │ │ │ ├── TestProtoPerformance.java │ │ │ ├── TestResult.java │ │ │ ├── cases/ │ │ │ │ ├── Empty.java │ │ │ │ ├── Map.java │ │ │ │ ├── Mixed.java │ │ │ │ ├── Pojo.java │ │ │ │ ├── PojoList.java │ │ │ │ ├── Scalars.java │ │ │ │ └── SimpleList.java │ │ │ └── engine/ │ │ │ ├── Jackson.java │ │ │ ├── Protobuf.java │ │ │ ├── Protostuff.java │ │ │ ├── SCB.java │ │ │ ├── ScbStrong.java │ │ │ └── ScbWeak.java │ │ └── resources/ │ │ ├── jacksonRoot.proto │ │ ├── method.proto │ │ ├── model.proto │ │ └── protobufRoot.proto │ ├── foundation-registry/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── registry/ │ │ │ │ ├── DiscoveryManager.java │ │ │ │ ├── RegistrationId.java │ │ │ │ ├── RegistrationManager.java │ │ │ │ ├── RegistryConfiguration.java │ │ │ │ ├── api/ │ │ │ │ │ ├── AbstractDiscoveryInstance.java │ │ │ │ │ ├── DataCenterInfo.java │ │ │ │ │ ├── Discovery.java │ │ │ │ │ ├── DiscoveryInstance.java │ │ │ │ │ ├── LifeCycle.java │ │ │ │ │ ├── MicroserviceInstance.java │ │ │ │ │ ├── MicroserviceInstanceStatus.java │ │ │ │ │ ├── MicroserviceKey.java │ │ │ │ │ ├── PropertyExtended.java │ │ │ │ │ ├── Registration.java │ │ │ │ │ └── RegistrationInstance.java │ │ │ │ ├── definition/ │ │ │ │ │ ├── DefinitionConst.java │ │ │ │ │ └── MicroserviceNameParser.java │ │ │ │ └── discovery/ │ │ │ │ ├── AbstractDiscoveryFilter.java │ │ │ │ ├── AbstractEndpointDiscoveryFilter.java │ │ │ │ ├── AbstractGroupDiscoveryFilter.java │ │ │ │ ├── DiscoveryContext.java │ │ │ │ ├── DiscoveryFilter.java │ │ │ │ ├── DiscoveryTree.java │ │ │ │ ├── DiscoveryTreeNode.java │ │ │ │ ├── InstancePing.java │ │ │ │ ├── InstanceStatusDiscoveryFilter.java │ │ │ │ ├── MicroserviceInstanceCache.java │ │ │ │ ├── StatefulDiscoveryInstance.java │ │ │ │ └── TelnetInstancePing.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.registry.consumer.MicroserviceInstancePing │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── registry/ │ │ │ ├── TestDiscoveryManager.java │ │ │ └── discovery/ │ │ │ ├── TestAbstractDiscoveryFilter.java │ │ │ ├── TestAbstractTransportDiscoveryFilter.java │ │ │ ├── TestDiscoveryContext.java │ │ │ ├── TestDiscoveryTree.java │ │ │ ├── TestDiscoveryTreeNode.java │ │ │ └── TestInstanceStatusDiscoveryFilter.java │ │ └── resources/ │ │ └── log4j2.xml │ ├── foundation-spi/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ ├── auth/ │ │ │ │ ├── AuthHeaderLoader.java │ │ │ │ ├── AuthHeaderProvider.java │ │ │ │ └── SignRequest.java │ │ │ ├── bootstrap/ │ │ │ │ └── BootStrapService.java │ │ │ └── common/ │ │ │ └── utils/ │ │ │ ├── SPIEnabled.java │ │ │ ├── SPIOrder.java │ │ │ └── SPIServiceUtils.java │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── common/ │ │ │ └── utils/ │ │ │ ├── SPIServiceDef.java │ │ │ ├── SPIServiceDef0.java │ │ │ ├── SPIServiceDef0Impl.java │ │ │ ├── SPIServiceDefImpl.java │ │ │ └── TestSPIServiceUtils.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.foundation.common.utils.SPIServiceDef │ ├── foundation-ssl/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── ssl/ │ │ │ ├── CertificateUtil.java │ │ │ ├── ClientAuth.java │ │ │ ├── KeyStoreUtil.java │ │ │ ├── SSLCustom.java │ │ │ ├── SSLManager.java │ │ │ ├── SSLOption.java │ │ │ ├── SSLOptionFactory.java │ │ │ ├── SSLSocketFactoryExt.java │ │ │ ├── TrustAllManager.java │ │ │ └── TrustManagerExt.java │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── ssl/ │ │ │ ├── CertificateUtilTest.java │ │ │ ├── KeyStoreUtilTest.java │ │ │ ├── MyOptionFactory.java │ │ │ ├── SSLManagerTest.java │ │ │ ├── SSLOptionTest.java │ │ │ ├── TestSSLOptionFactory.java │ │ │ ├── TestSSLSocketFactoryExt.java │ │ │ ├── TestTrustAllManager.java │ │ │ └── TrustManagerExtTest.java │ │ └── resources/ │ │ ├── client.ssl.properties │ │ ├── microservice.yaml │ │ ├── server.ssl.properties │ │ ├── server.ssl.resource.properties │ │ └── ssl/ │ │ ├── server.cer │ │ ├── server.p12 │ │ ├── trust.cer │ │ ├── trust.jks │ │ └── white.list │ ├── foundation-test-scaffolding/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── foundation/ │ │ └── test/ │ │ └── scaffolding/ │ │ ├── AssertUtils.java │ │ ├── exception/ │ │ │ └── RuntimeExceptionWithoutStackTrace.java │ │ ├── log/ │ │ │ └── LogCollector.java │ │ ├── model/ │ │ │ ├── Color.java │ │ │ ├── Empty.java │ │ │ ├── Media.java │ │ │ ├── People.java │ │ │ └── User.java │ │ ├── spring/ │ │ │ └── SpringUtils.java │ │ └── time/ │ │ ├── MockClock.java │ │ ├── MockTicker.java │ │ └── MockValues.java │ ├── foundation-vertx/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── foundation/ │ │ │ └── vertx/ │ │ │ ├── AddressResolverConfig.java │ │ │ ├── AsyncResultCallback.java │ │ │ ├── ConnectionEvent.java │ │ │ ├── SharedVertxFactory.java │ │ │ ├── SimpleBodyHandler.java │ │ │ ├── SimpleJsonObject.java │ │ │ ├── TransportType.java │ │ │ ├── VertxConst.java │ │ │ ├── VertxTLSBuilder.java │ │ │ ├── VertxUtils.java │ │ │ ├── client/ │ │ │ │ ├── ClientPoolFactory.java │ │ │ │ ├── ClientPoolManager.java │ │ │ │ ├── ClientVerticle.java │ │ │ │ ├── http/ │ │ │ │ │ ├── HttpClientOptionsSPI.java │ │ │ │ │ ├── HttpClientPoolFactory.java │ │ │ │ │ ├── HttpClientWithContext.java │ │ │ │ │ └── HttpClients.java │ │ │ │ └── tcp/ │ │ │ │ ├── AbstractTcpClientConnectionPool.java │ │ │ │ ├── AbstractTcpClientPackage.java │ │ │ │ ├── AbstractTcpClientPoolFactory.java │ │ │ │ ├── NetClientWrapper.java │ │ │ │ ├── TcpClientConfig.java │ │ │ │ ├── TcpClientConnection.java │ │ │ │ ├── TcpClientConnectionPool.java │ │ │ │ ├── TcpClientPackage.java │ │ │ │ ├── TcpClientPoolFactory.java │ │ │ │ ├── TcpData.java │ │ │ │ ├── TcpRequest.java │ │ │ │ └── TcpResponseCallback.java │ │ │ ├── executor/ │ │ │ │ ├── SinglePoolBlockingExecutor.java │ │ │ │ ├── VertxContextExecutor.java │ │ │ │ └── VertxWorkerExecutor.java │ │ │ ├── http/ │ │ │ │ ├── AbstractHttpServletRequest.java │ │ │ │ ├── AbstractHttpServletResponse.java │ │ │ │ ├── BodyBufferSupport.java │ │ │ │ ├── BodyBufferSupportImpl.java │ │ │ │ ├── DownloadUtils.java │ │ │ │ ├── EmptyAsyncContext.java │ │ │ │ ├── FileUploadPart.java │ │ │ │ ├── HttpServletRequestEx.java │ │ │ │ ├── HttpServletResponseEx.java │ │ │ │ ├── ReadStreamPart.java │ │ │ │ ├── StandardHttpServletRequestEx.java │ │ │ │ ├── StandardHttpServletResponseEx.java │ │ │ │ ├── VertxClientRequestToHttpServletRequest.java │ │ │ │ ├── VertxClientResponseToHttpServletResponse.java │ │ │ │ ├── VertxServerRequestToHttpServletRequest.java │ │ │ │ └── VertxServerResponseToHttpServletResponse.java │ │ │ ├── metrics/ │ │ │ │ ├── DefaultClientMetrics.java │ │ │ │ ├── DefaultHttpClientMetrics.java │ │ │ │ ├── DefaultHttpServerMetrics.java │ │ │ │ ├── DefaultTcpClientMetrics.java │ │ │ │ ├── DefaultTcpServerMetrics.java │ │ │ │ ├── DefaultVertxMetrics.java │ │ │ │ ├── DefaultVertxMetricsFactory.java │ │ │ │ ├── MetricsOptionsEx.java │ │ │ │ └── metric/ │ │ │ │ ├── DefaultClientEndpointMetric.java │ │ │ │ ├── DefaultClientEndpointMetricManager.java │ │ │ │ ├── DefaultClientTaskMetric.java │ │ │ │ ├── DefaultEndpointMetric.java │ │ │ │ ├── DefaultRequestMetric.java │ │ │ │ ├── DefaultServerEndpointMetric.java │ │ │ │ └── DefaultTcpSocketMetric.java │ │ │ ├── server/ │ │ │ │ ├── TcpBufferHandler.java │ │ │ │ ├── TcpParser.java │ │ │ │ ├── TcpServer.java │ │ │ │ └── TcpServerConnection.java │ │ │ ├── stream/ │ │ │ │ ├── BufferInputStream.java │ │ │ │ ├── BufferOutputStream.java │ │ │ │ ├── InputStreamToReadStream.java │ │ │ │ ├── OutputStreamToWriteStream.java │ │ │ │ ├── PumpCommon.java │ │ │ │ └── PumpFromPart.java │ │ │ └── tcp/ │ │ │ ├── TcpConnection.java │ │ │ ├── TcpConst.java │ │ │ └── TcpOutputStream.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── foundation/ │ │ └── vertx/ │ │ ├── TestSharedVertxFactory.java │ │ ├── TestSimpleBodyHandler.java │ │ ├── TestSimpleJsonObject.java │ │ ├── TestStream.java │ │ ├── TestVertxTLSBuilder.java │ │ ├── TestVertxUtils.java │ │ ├── client/ │ │ │ ├── TestClientPoolManager.java │ │ │ ├── TestClientVerticle.java │ │ │ └── tcp/ │ │ │ ├── TestAbstractTcpClientPoolFactory.java │ │ │ ├── TestTcpClientConfig.java │ │ │ └── TestTcpClientConnection.java │ │ ├── http/ │ │ │ ├── TestAbstractHttpServletRequest.java │ │ │ ├── TestAbstractHttpServletResponse.java │ │ │ ├── TestBodyBufferSupportImpl.java │ │ │ ├── TestFileUploadPart.java │ │ │ ├── TestStandardHttpServletRequestEx.java │ │ │ ├── TestStandardHttpServletResponseEx.java │ │ │ ├── TestVertxClientRequestToHttpServletRequest.java │ │ │ ├── TestVertxClientResponseToHttpServletResponse.java │ │ │ └── TestVertxServerRequestToHttpServletRequest.java │ │ ├── metrics/ │ │ │ ├── TestDefaultHttpClientMetrics.java │ │ │ ├── TestDefaultHttpServerMetrics.java │ │ │ ├── TestDefaultTcpClientMetrics.java │ │ │ ├── TestDefaultTcpServerMetrics.java │ │ │ ├── TestDefaultVertxMetricsFactory.java │ │ │ └── TestMetricsOptionsEx.java │ │ ├── server/ │ │ │ ├── TestTcpParser.java │ │ │ └── TestTcpServerConnection.java │ │ └── stream/ │ │ └── TestBufferInputStream.java │ └── pom.xml ├── governance/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ ├── governance/ │ │ │ │ ├── GovernanceCommonConfiguration.java │ │ │ │ ├── MatchersManager.java │ │ │ │ ├── MicroserviceMeta.java │ │ │ │ ├── entity/ │ │ │ │ │ └── Configurable.java │ │ │ │ ├── event/ │ │ │ │ │ ├── GovernanceConfigurationChangedEvent.java │ │ │ │ │ └── GovernanceEventManager.java │ │ │ │ ├── exception/ │ │ │ │ │ └── IllegalArgsOperatorException.java │ │ │ │ ├── handler/ │ │ │ │ │ ├── AbstractGovernanceHandler.java │ │ │ │ │ ├── BulkheadHandler.java │ │ │ │ │ ├── CircuitBreakerHandler.java │ │ │ │ │ ├── Disposable.java │ │ │ │ │ ├── DisposableBulkhead.java │ │ │ │ │ ├── DisposableCircuitBreaker.java │ │ │ │ │ ├── DisposableHolder.java │ │ │ │ │ ├── DisposableMap.java │ │ │ │ │ ├── DisposableRateLimiter.java │ │ │ │ │ ├── DisposableRetry.java │ │ │ │ │ ├── DisposableTimeLimiter.java │ │ │ │ │ ├── FaultInjectionHandler.java │ │ │ │ │ ├── GovernanceCacheHandler.java │ │ │ │ │ ├── IdentifierRateLimitingHandler.java │ │ │ │ │ ├── InstanceBulkheadHandler.java │ │ │ │ │ ├── InstanceIsolationHandler.java │ │ │ │ │ ├── LoadBalanceHandler.java │ │ │ │ │ ├── MapperHandler.java │ │ │ │ │ ├── RateLimitingHandler.java │ │ │ │ │ ├── RetryHandler.java │ │ │ │ │ ├── TimeLimiterHandler.java │ │ │ │ │ └── ext/ │ │ │ │ │ ├── AbstractCircuitBreakerExtension.java │ │ │ │ │ ├── AbstractFailurePredictor.java │ │ │ │ │ ├── AbstractInstanceIsolationExtension.java │ │ │ │ │ ├── AbstractRetryExtension.java │ │ │ │ │ ├── ClientRecoverPolicy.java │ │ │ │ │ ├── FailurePredictor.java │ │ │ │ │ └── ServerRecoverPolicy.java │ │ │ │ ├── marker/ │ │ │ │ │ ├── CustomMatcher.java │ │ │ │ │ ├── GovernanceRequest.java │ │ │ │ │ ├── GovernanceRequestExtractor.java │ │ │ │ │ ├── Matcher.java │ │ │ │ │ ├── RequestProcessor.java │ │ │ │ │ ├── TrafficMarker.java │ │ │ │ │ └── operator/ │ │ │ │ │ ├── CompareOperator.java │ │ │ │ │ ├── ContainsOperator.java │ │ │ │ │ ├── ExactOperator.java │ │ │ │ │ ├── MatchOperator.java │ │ │ │ │ ├── PrefixOperator.java │ │ │ │ │ ├── RawOperator.java │ │ │ │ │ └── SuffixOperator.java │ │ │ │ ├── policy/ │ │ │ │ │ ├── AbstractPolicy.java │ │ │ │ │ ├── BulkheadPolicy.java │ │ │ │ │ ├── CircuitBreakerPolicy.java │ │ │ │ │ ├── FaultInjectionPolicy.java │ │ │ │ │ ├── GovernanceCachePolicy.java │ │ │ │ │ ├── IdentifierRateLimitingPolicy.java │ │ │ │ │ ├── LoadBalancerPolicy.java │ │ │ │ │ ├── MapperPolicy.java │ │ │ │ │ ├── RateLimitingPolicy.java │ │ │ │ │ ├── RetryPolicy.java │ │ │ │ │ └── TimeLimiterPolicy.java │ │ │ │ ├── processor/ │ │ │ │ │ ├── injection/ │ │ │ │ │ │ ├── AbortFault.java │ │ │ │ │ │ ├── AbstractFault.java │ │ │ │ │ │ ├── DelayFault.java │ │ │ │ │ │ ├── Fault.java │ │ │ │ │ │ ├── FaultInjectionConst.java │ │ │ │ │ │ ├── FaultInjectionDecorators.java │ │ │ │ │ │ ├── FaultInjectionException.java │ │ │ │ │ │ ├── FaultInjectionUtil.java │ │ │ │ │ │ ├── FaultParam.java │ │ │ │ │ │ ├── FaultResponse.java │ │ │ │ │ │ └── Sleepable.java │ │ │ │ │ ├── loadbanlance/ │ │ │ │ │ │ ├── LoadBalance.java │ │ │ │ │ │ └── LoadBalanceImpl.java │ │ │ │ │ └── mapping/ │ │ │ │ │ └── Mapper.java │ │ │ │ ├── properties/ │ │ │ │ │ ├── BulkheadProperties.java │ │ │ │ │ ├── CircuitBreakerProperties.java │ │ │ │ │ ├── FaultInjectionProperties.java │ │ │ │ │ ├── GovernanceCacheProperties.java │ │ │ │ │ ├── GovernanceProperties.java │ │ │ │ │ ├── IdentifierRateLimitProperties.java │ │ │ │ │ ├── InstanceBulkheadProperties.java │ │ │ │ │ ├── InstanceIsolationProperties.java │ │ │ │ │ ├── LoadBalanceProperties.java │ │ │ │ │ ├── MapperProperties.java │ │ │ │ │ ├── MatchProperties.java │ │ │ │ │ ├── PolicyProperties.java │ │ │ │ │ ├── RateLimitProperties.java │ │ │ │ │ ├── RetryProperties.java │ │ │ │ │ └── TimeLimiterProperties.java │ │ │ │ ├── service/ │ │ │ │ │ ├── GovernanceCache.java │ │ │ │ │ ├── GovernanceCacheImpl.java │ │ │ │ │ ├── MatchersService.java │ │ │ │ │ └── MatchersServiceImpl.java │ │ │ │ └── utils/ │ │ │ │ ├── CustomMatch.java │ │ │ │ └── GovernanceUtils.java │ │ │ └── router/ │ │ │ ├── RouterCommonConfiguration.java │ │ │ ├── RouterFilter.java │ │ │ ├── cache/ │ │ │ │ └── RouterRuleCache.java │ │ │ ├── distribute/ │ │ │ │ ├── AbstractRouterDistributor.java │ │ │ │ └── RouterDistributor.java │ │ │ ├── exception/ │ │ │ │ └── RouterIllegalParamException.java │ │ │ ├── match/ │ │ │ │ └── RouterRuleMatcher.java │ │ │ ├── model/ │ │ │ │ ├── HeaderRule.java │ │ │ │ ├── PolicyRuleItem.java │ │ │ │ ├── RouteItem.java │ │ │ │ ├── ServiceInfoCache.java │ │ │ │ └── TagItem.java │ │ │ └── util/ │ │ │ └── VersionCompareUtil.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ ├── governance/ │ │ │ ├── AbstractFailurePredictorTest.java │ │ │ ├── BulkheadHandlerTest.java │ │ │ ├── CustomMatchTest.java │ │ │ ├── FaultInjectionTest.java │ │ │ ├── FlowControlTest.java │ │ │ ├── GovernanceCacheHandlerTest.java │ │ │ ├── GovernancePropertiesTest.java │ │ │ ├── IdentifierRateLimitingHandlerTest.java │ │ │ ├── InstanceBulkheadHandlerTest.java │ │ │ ├── InstanceIsolationTest.java │ │ │ ├── LoadBalancerTest.java │ │ │ ├── MapperTest.java │ │ │ ├── MockCircuitBreakerExtension.java │ │ │ ├── MockConfiguration.java │ │ │ ├── MockInstanceIsolationExtension.java │ │ │ ├── MockMicroserviceMeta.java │ │ │ ├── MockRetryExtension.java │ │ │ ├── OperatorTest.java │ │ │ ├── RetryHandlerTest.java │ │ │ ├── TimeLimiterHandlerTest.java │ │ │ ├── handler/ │ │ │ │ └── ext/ │ │ │ │ └── RetryExtensionTest.java │ │ │ └── mockclasses/ │ │ │ ├── ClassNotImplements.java │ │ │ ├── ClassWithAnnotation.java │ │ │ ├── CustomMatchDemo.java │ │ │ └── service/ │ │ │ ├── MockConfigurationForCustomMatcher.java │ │ │ └── MockProfileClassUserService.java │ │ └── router/ │ │ ├── ExampleDistributor.java │ │ ├── RouterDistributorDynamicConfig2Test.java │ │ ├── RouterDistributorDynamicConfigTest.java │ │ ├── RouterDistributorFileConfigTest.java │ │ ├── RouterDistributorFileWeightLessTest.java │ │ ├── RouterDistributorFileWithFallbackTest.java │ │ ├── RouterDistributorGlobalConfigTest.java │ │ ├── ServiceIns.java │ │ └── VersionCompareUtilTest.java │ └── resources/ │ ├── META-INF/ │ │ └── spring/ │ │ └── bean.xml │ └── application.yaml ├── handlers/ │ ├── handler-fault-injection/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── faultinjection/ │ │ │ │ ├── ConsumerAbortFaultFilter.java │ │ │ │ ├── ConsumerDelayFaultFilter.java │ │ │ │ ├── FaultInjectionConfiguration.java │ │ │ │ ├── FaultInjectionConst.java │ │ │ │ ├── FaultInjectionUtil.java │ │ │ │ └── FaultParam.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── faultinjection/ │ │ ├── TestConsumerAbortFaultFilter.java │ │ ├── TestConsumerDelayFaultFilter.java │ │ └── TestFaultInjectUtil.java │ ├── handler-flowcontrol-qps/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── qps/ │ │ │ │ ├── Config.java │ │ │ │ ├── ConsumerFlowControlFilter.java │ │ │ │ ├── FlowControlQpsConfiguration.java │ │ │ │ ├── ProviderFlowControlFilter.java │ │ │ │ ├── QpsConst.java │ │ │ │ ├── QpsControllerManager.java │ │ │ │ ├── QpsStrategy.java │ │ │ │ └── strategy/ │ │ │ │ ├── AbstractQpsStrategy.java │ │ │ │ ├── DefaultStrategyFactory.java │ │ │ │ ├── FixedWindowStrategy.java │ │ │ │ ├── IStrategyFactory.java │ │ │ │ ├── LeakyBucketStrategy.java │ │ │ │ └── TokenBucketStrategy.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.qps.strategy.IStrategyFactory │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── qps/ │ │ ├── QpsControllerManagerTest.java │ │ └── TestQpsStrategy.java │ ├── handler-governance/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── handler/ │ │ │ └── governance/ │ │ │ ├── ConsumerInstanceBulkheadFilter.java │ │ │ ├── ConsumerInstanceIsolationFilter.java │ │ │ ├── HandlerGovernanceConfiguration.java │ │ │ ├── ProviderBulkheadFilter.java │ │ │ ├── ProviderCircuitBreakerFilter.java │ │ │ └── ProviderRateLimitingFilter.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── handler-loadbalance/ │ │ ├── pom.xml │ │ ├── readme.MD │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── loadbalance/ │ │ │ │ ├── Configuration.java │ │ │ │ ├── ExtensionsFactory.java │ │ │ │ ├── ExtensionsManager.java │ │ │ │ ├── LoadBalanceConfiguration.java │ │ │ │ ├── LoadBalanceFilter.java │ │ │ │ ├── LoadBalancer.java │ │ │ │ ├── RandomRuleExt.java │ │ │ │ ├── RoundRobinRuleExt.java │ │ │ │ ├── RuleExt.java │ │ │ │ ├── RuleNameExtensionsFactory.java │ │ │ │ ├── ServerListFilterExt.java │ │ │ │ ├── ServerMetrics.java │ │ │ │ ├── ServiceCombServer.java │ │ │ │ ├── SessionStickinessRule.java │ │ │ │ ├── WeightedResponseTimeRuleExt.java │ │ │ │ ├── exception/ │ │ │ │ │ └── LoadbalanceExceptionUtils.java │ │ │ │ └── filter/ │ │ │ │ ├── InstancePropertyDiscoveryFilter.java │ │ │ │ ├── PriorityInstancePropertyDiscoveryFilter.java │ │ │ │ ├── ServerDiscoveryFilter.java │ │ │ │ └── ZoneAwareDiscoveryFilter.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── loadbalance/ │ │ │ ├── MyServerListFilterExt.java │ │ │ ├── TestConfiguration.java │ │ │ ├── TestExtensionsManager.java │ │ │ ├── TestLoadBalanceCreator.java │ │ │ ├── TestLoadBalanceFilter.java │ │ │ ├── TestLoadBalanceFilter2.java │ │ │ ├── TestLoadBalancer.java │ │ │ ├── TestRoundRobinRuleExt.java │ │ │ ├── TestServiceCombServer.java │ │ │ ├── TestSessionStickinessRule.java │ │ │ ├── TestWeightedResponseTimeRuleExt.java │ │ │ ├── exception/ │ │ │ │ └── TestLoadbalanceExceptionUtils.java │ │ │ └── filter/ │ │ │ ├── PriorityInstancePropertyDiscoveryFilterTest.java │ │ │ ├── TestInstancePropertyDiscoveryFilter.java │ │ │ ├── TestServerDiscoveryFilter.java │ │ │ └── TestZoneAwareDiscoveryFilter.java │ │ └── resources/ │ │ └── microservice.yaml │ ├── handler-publickey-auth/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── authentication/ │ │ │ │ ├── AuthenticationBootListener.java │ │ │ │ ├── AuthenticationConfiguration.java │ │ │ │ ├── RSAAuthenticationToken.java │ │ │ │ ├── consumer/ │ │ │ │ │ ├── ConsumerAuthFilter.java │ │ │ │ │ └── ConsumerTokenManager.java │ │ │ │ └── provider/ │ │ │ │ ├── AccessController.java │ │ │ │ ├── PathCheckUtils.java │ │ │ │ ├── ProviderAuthFilter.java │ │ │ │ └── ProviderTokenManager.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── authentication/ │ │ │ ├── TestAccessController.java │ │ │ ├── TestAuthenticationBootListener.java │ │ │ ├── TestRSAAuthenticationToken.java │ │ │ └── provider/ │ │ │ ├── TestPathCheckUtils.java │ │ │ └── TestProviderTokenManager.java │ │ └── resources/ │ │ └── microservice.yaml │ ├── handler-router/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── router/ │ │ │ └── custom/ │ │ │ ├── RouterServerListFilter.java │ │ │ ├── ServiceCombRouterConfiguration.java │ │ │ └── ServiceCombRouterDistributor.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── services/ │ │ │ └── org.apache.servicecomb.loadbalance.ServerListFilterExt │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── handler-tracing-zipkin/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── tracing/ │ │ │ └── zipkin/ │ │ │ ├── CustomHttpRequestParser.java │ │ │ ├── CustomHttpResponseParser.java │ │ │ ├── HttpClientRequestWrapper.java │ │ │ ├── HttpClientResponseWrapper.java │ │ │ ├── HttpServeRequestWrapper.java │ │ │ ├── HttpServerResponseWrapper.java │ │ │ ├── InvocationAware.java │ │ │ ├── LogSpanHandler.java │ │ │ ├── TracingConfiguration.java │ │ │ └── ZipkinTracingFilter.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── pom.xml ├── huawei-cloud/ │ ├── darklaunch/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── darklaunch/ │ │ │ ├── DarklaunchRule.java │ │ │ ├── DarklaunchRuleItem.java │ │ │ ├── DarklaunchRuleItemJson.java │ │ │ ├── DarklaunchRuleJson.java │ │ │ ├── DarklaunchServerListFilter.java │ │ │ ├── PolicyType.java │ │ │ └── oper/ │ │ │ ├── AbstractCondition.java │ │ │ ├── AndCondition.java │ │ │ ├── CaseInsensitiveCondition.java │ │ │ ├── Condition.java │ │ │ ├── ConditionFactory.java │ │ │ ├── EqualCondition.java │ │ │ ├── GreaterCondition.java │ │ │ ├── GreaterOrEqualCondition.java │ │ │ ├── LessCondition.java │ │ │ ├── LessOrEqualCondition.java │ │ │ ├── LikeCondition.java │ │ │ ├── NotEqualCondition.java │ │ │ ├── OrCondition.java │ │ │ └── SupportedType.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.loadbalance.ServerListFilterExt │ ├── dashboard/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── huaweicloud/ │ │ │ │ └── dashboard/ │ │ │ │ └── monitor/ │ │ │ │ ├── DashboardConfiguration.java │ │ │ │ ├── DataFactory.java │ │ │ │ ├── DefaultMonitorDataPublisher.java │ │ │ │ ├── MetricsMonitorDataProvider.java │ │ │ │ ├── MonitorBootListener.java │ │ │ │ ├── MonitorInformationCollector.java │ │ │ │ ├── TransportUtils.java │ │ │ │ ├── data/ │ │ │ │ │ ├── CPUMonitorCalc.java │ │ │ │ │ └── MonitorConstant.java │ │ │ │ └── model/ │ │ │ │ ├── MonitorDataProvider.java │ │ │ │ └── MonitorDataPublisher.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.core.bootup.BootUpInformationCollector │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── huaweicloud/ │ │ │ └── dashboard/ │ │ │ └── monitor/ │ │ │ └── MetricsMonitorDataProviderTest.java │ │ └── resources/ │ │ └── microservice.yaml │ ├── pom.xml │ └── servicestage/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── huaweicloud/ │ │ │ └── servicestage/ │ │ │ ├── AKSKAuthHeaderProvider.java │ │ │ ├── CasEnvConfig.java │ │ │ ├── CasEnvVariablesAdapter.java │ │ │ ├── RBACBootStrapService.java │ │ │ ├── ServiceStageConfiguration.java │ │ │ ├── TokenAuthHeaderProvider.java │ │ │ └── TokenCacheManager.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── services/ │ │ │ ├── org.apache.servicecomb.foundation.auth.AuthHeaderProvider │ │ │ ├── org.apache.servicecomb.foundation.auth.Cipher │ │ │ ├── org.apache.servicecomb.foundation.bootstrap.BootStrapService │ │ │ └── org.apache.servicecomb.serviceregistry.adapter.EnvAdapter │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── huaweicloud/ │ │ └── servicestage/ │ │ ├── TestAKSKAuthHeaderProvider.java │ │ └── TestEnvVariablesAdapter.java │ └── resources/ │ └── log4j2.xml ├── metrics/ │ ├── metrics-core/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── metrics/ │ │ │ │ └── core/ │ │ │ │ ├── InvocationMetersInitializer.java │ │ │ │ ├── MetricsBootListener.java │ │ │ │ ├── MetricsCoreConfiguration.java │ │ │ │ ├── OsMetersInitializer.java │ │ │ │ ├── SimpleMeterRegistryExt.java │ │ │ │ ├── StepDistributionSummaryExt.java │ │ │ │ ├── SystemMetrics.java │ │ │ │ ├── ThreadPoolMetersInitializer.java │ │ │ │ ├── VertxMetersInitializer.java │ │ │ │ ├── meter/ │ │ │ │ │ ├── ConsumerMeters.java │ │ │ │ │ ├── EdgeMeters.java │ │ │ │ │ ├── ProducerMeters.java │ │ │ │ │ ├── ThreadPoolMonitorPublishModelFactory.java │ │ │ │ │ ├── invocation/ │ │ │ │ │ │ ├── AbstractInvocationMeter.java │ │ │ │ │ │ ├── AbstractInvocationMeters.java │ │ │ │ │ │ ├── ConsumerInvocationMeter.java │ │ │ │ │ │ ├── ConsumerInvocationMeters.java │ │ │ │ │ │ ├── EdgeInvocationMeter.java │ │ │ │ │ │ ├── EdgeInvocationMeters.java │ │ │ │ │ │ ├── MeterInvocationConst.java │ │ │ │ │ │ ├── ProducerInvocationMeter.java │ │ │ │ │ │ └── ProducerInvocationMeters.java │ │ │ │ │ ├── os/ │ │ │ │ │ │ ├── NetMeter.java │ │ │ │ │ │ ├── OsMeter.java │ │ │ │ │ │ ├── SystemMeter.java │ │ │ │ │ │ └── net/ │ │ │ │ │ │ ├── InterfaceUsage.java │ │ │ │ │ │ └── NetStat.java │ │ │ │ │ ├── pool/ │ │ │ │ │ │ └── ThreadPoolMeter.java │ │ │ │ │ └── vertx/ │ │ │ │ │ ├── EndpointMeter.java │ │ │ │ │ ├── HttpClientEndpointMeter.java │ │ │ │ │ ├── HttpClientEndpointsMeter.java │ │ │ │ │ ├── ServerEndpointMeter.java │ │ │ │ │ ├── ServerEndpointsMeter.java │ │ │ │ │ └── VertxEndpointsMeter.java │ │ │ │ └── publish/ │ │ │ │ ├── AbstractMeasurementNodeLogPublisher.java │ │ │ │ ├── ClientEndpointsLogPublisher.java │ │ │ │ ├── DefaultLogPublisher.java │ │ │ │ ├── PublishModelFactory.java │ │ │ │ ├── PublishUtils.java │ │ │ │ ├── ServerEndpointsLogPublisher.java │ │ │ │ ├── SlowInvocationLogger.java │ │ │ │ └── model/ │ │ │ │ ├── ConsumerPublishModel.java │ │ │ │ ├── DefaultPublishModel.java │ │ │ │ ├── EdgePublishModel.java │ │ │ │ ├── ProducerPublishModel.java │ │ │ │ ├── ThreadPoolPublishModel.java │ │ │ │ └── invocation/ │ │ │ │ ├── OperationPerf.java │ │ │ │ ├── OperationPerfGroup.java │ │ │ │ ├── OperationPerfGroups.java │ │ │ │ └── PerfInfo.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── metrics/ │ │ │ └── core/ │ │ │ ├── AssertUtil.java │ │ │ ├── TestInvocationMetersInitializer.java │ │ │ ├── TestOsMeterInitializer.java │ │ │ ├── TestThreadPoolMetersInitializer.java │ │ │ ├── TestVertxMetersInitializer.java │ │ │ ├── meter/ │ │ │ │ └── os/ │ │ │ │ ├── TestNetMeter.java │ │ │ │ └── TestSystemMeter.java │ │ │ └── publish/ │ │ │ ├── TestDefaultLogPublisher.java │ │ │ ├── TestInvocationPublishModelFactory.java │ │ │ ├── TestPublishUtils.java │ │ │ ├── TestSlowInvocationLogger.java │ │ │ ├── TestThreadPoolPublishModelFactory.java │ │ │ └── model/ │ │ │ └── invocation/ │ │ │ ├── TestOperationPerf.java │ │ │ ├── TestOperationPerfGroup.java │ │ │ ├── TestPerfInfo.java │ │ │ └── Utils.java │ │ └── resources/ │ │ └── log4j2.xml │ ├── metrics-integration/ │ │ ├── metrics-prometheus/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── metrics/ │ │ │ │ │ └── prometheus/ │ │ │ │ │ ├── PrometheusConfiguration.java │ │ │ │ │ └── PrometheusPublisher.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── spring/ │ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── metrics/ │ │ │ └── prometheus/ │ │ │ └── TestPrometheusPublisher.java │ │ └── pom.xml │ └── pom.xml ├── parents/ │ ├── default/ │ │ └── pom.xml │ └── pom.xml ├── pom.xml ├── providers/ │ ├── pom.xml │ ├── provider-jaxrs/ │ │ └── pom.xml │ ├── provider-pojo/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── provider/ │ │ │ │ └── pojo/ │ │ │ │ ├── DefaultMethodMeta.java │ │ │ │ ├── FilterInvocationCaller.java │ │ │ │ ├── InstanceFactory.java │ │ │ │ ├── InvocationCaller.java │ │ │ │ ├── Invoker.java │ │ │ │ ├── PojoConst.java │ │ │ │ ├── PojoConsumerMetaRefresher.java │ │ │ │ ├── PojoInvocation.java │ │ │ │ ├── PojoInvocationCreator.java │ │ │ │ ├── PojoProducerProvider.java │ │ │ │ ├── ProviderPojoConfiguration.java │ │ │ │ ├── RpcReference.java │ │ │ │ ├── RpcReferenceBeanDefinitionRegistry.java │ │ │ │ ├── RpcSchema.java │ │ │ │ ├── definition/ │ │ │ │ │ ├── PojoConsumerMeta.java │ │ │ │ │ └── PojoConsumerOperationMeta.java │ │ │ │ ├── instance/ │ │ │ │ │ ├── PojoInstanceFactory.java │ │ │ │ │ └── SpringInstanceFactory.java │ │ │ │ ├── reference/ │ │ │ │ │ ├── PojoReferenceMeta.java │ │ │ │ │ ├── ReferenceDefParser.java │ │ │ │ │ └── RpcReferenceProcessor.java │ │ │ │ └── schema/ │ │ │ │ ├── PojoProducerMeta.java │ │ │ │ ├── PojoProducers.java │ │ │ │ └── SchemaDefParser.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.core.ProducerProvider │ │ │ ├── spring/ │ │ │ │ ├── namespace.properties │ │ │ │ ├── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ │ │ ├── spring-paas-cse-rpc-1.0.xsd │ │ │ │ └── spring-paas-cse-rpc.xsd │ │ │ ├── spring.handlers │ │ │ └── spring.schemas │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── provider/ │ │ │ └── pojo/ │ │ │ ├── IPerson.java │ │ │ ├── Person.java │ │ │ ├── PersonReference.java │ │ │ ├── instance/ │ │ │ │ ├── TestPojoInstanceFactory.java │ │ │ │ └── TestSpringInstanceFactory.java │ │ │ ├── reference/ │ │ │ │ ├── PojoReferenceMetaTest.java │ │ │ │ └── TestRpcReferenceProcessor.java │ │ │ └── schema/ │ │ │ ├── TestPojoProducers.java │ │ │ └── TestPojoSchemaMeta.java │ │ └── resources/ │ │ └── microservice.yaml │ ├── provider-rest-common/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── provider/ │ │ │ │ └── rest/ │ │ │ │ └── common/ │ │ │ │ ├── InvocationToHttpServletRequest.java │ │ │ │ ├── ProducerHttpRequestArgMapper.java │ │ │ │ ├── ProducerHttpRequestArgMapperFactory.java │ │ │ │ ├── ProducerServerWebSocketArgMapperFactory.java │ │ │ │ ├── ProducerServerWebSocketMapper.java │ │ │ │ ├── ProviderRestCommonConfiguration.java │ │ │ │ ├── RestProducerProvider.java │ │ │ │ ├── RestProducers.java │ │ │ │ └── RestSchema.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ ├── services/ │ │ │ │ ├── org.apache.servicecomb.core.ProducerProvider │ │ │ │ └── org.apache.servicecomb.swagger.invocation.arguments.producer.ProducerContextArgumentMapperFactory │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── provider/ │ │ └── rest/ │ │ └── common/ │ │ ├── TestInvocationToHttpServletRequest.java │ │ ├── TestProducerHttpRequestArgMapper.java │ │ ├── TestRestProducers.java │ │ └── TestRestServiceProvider.java │ └── provider-springmvc/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── provider/ │ │ └── springmvc/ │ │ └── reference/ │ │ ├── AcceptableRestTemplate.java │ │ ├── CommonToHttpServletRequest.java │ │ ├── CseClientHttpRequest.java │ │ ├── CseClientHttpRequestFactory.java │ │ ├── CseClientHttpResponse.java │ │ ├── CseHttpEntity.java │ │ ├── CseHttpMessageConverter.java │ │ ├── CseHttpMessageConverterExtractor.java │ │ ├── CseRequestCallback.java │ │ ├── CseResponseEntityResponseExtractor.java │ │ ├── CseRestTemplate.java │ │ ├── CseUriTemplateHandler.java │ │ ├── RequestMeta.java │ │ ├── RestTemplateBuilder.java │ │ ├── RestTemplateWrapper.java │ │ ├── ServiceCombRestTemplateConfig.java │ │ ├── UrlWithProviderPrefixClientHttpRequestFactory.java │ │ └── UrlWithServiceNameClientHttpRequestFactory.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── provider/ │ │ └── springmvc/ │ │ └── reference/ │ │ ├── ServiceCombRestTemplateConfigTest.java │ │ ├── TestCommonToHttpServletRequest.java │ │ ├── TestCseClientHttpRequestFactory.java │ │ ├── TestCseClientHttpResponse.java │ │ ├── TestCseHttpEntity.java │ │ ├── TestCseRequestCallback.java │ │ ├── TestCseRestTemplate.java │ │ ├── TestCseUriTemplateHandler.java │ │ ├── TestRequestMeta.java │ │ ├── TestRestTemplateBuilder.java │ │ ├── TestRestTemplateWrapper.java │ │ ├── TestUrlWithProviderPrefixClientHttpRequestFactory.java │ │ └── TestUrlWithServiceNameClientHttpRequestFactory.java │ └── resources/ │ ├── log4j2.xml │ └── microservice.yaml ├── samples/ │ └── README.md ├── service-registry/ │ ├── pom.xml │ ├── registry-consul/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── registry/ │ │ │ └── consul/ │ │ │ ├── ConsulConfiguration.java │ │ │ ├── ConsulConst.java │ │ │ ├── ConsulDiscovery.java │ │ │ ├── ConsulDiscoveryInstance.java │ │ │ ├── ConsulInstance.java │ │ │ ├── ConsulRegistration.java │ │ │ ├── ConsulRegistrationInstance.java │ │ │ └── config/ │ │ │ ├── ConsulDiscoveryProperties.java │ │ │ └── ConsulProperties.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── registry-etcd/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── registry/ │ │ │ └── etcd/ │ │ │ ├── EtcdConfiguration.java │ │ │ ├── EtcdConst.java │ │ │ ├── EtcdDiscovery.java │ │ │ ├── EtcdDiscoveryInstance.java │ │ │ ├── EtcdInstance.java │ │ │ ├── EtcdRegistration.java │ │ │ ├── EtcdRegistrationInstance.java │ │ │ └── EtcdRegistryProperties.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── registry-lightweight/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── registry/ │ │ │ │ └── lightweight/ │ │ │ │ ├── AbstractLightweightDiscovery.java │ │ │ │ ├── AbstractLightweightRegistration.java │ │ │ │ ├── DiscoveryClient.java │ │ │ │ ├── DiscoveryEndpoint.java │ │ │ │ ├── LightWeightRegistryConfiguration.java │ │ │ │ ├── Message.java │ │ │ │ ├── MessageExecutor.java │ │ │ │ ├── MessageType.java │ │ │ │ ├── MicroserviceInfo.java │ │ │ │ ├── RegisterException.java │ │ │ │ ├── RegisterInstanceEvent.java │ │ │ │ ├── RegisterRequest.java │ │ │ │ ├── SchemaChangedEvent.java │ │ │ │ ├── Self.java │ │ │ │ ├── StoreService.java │ │ │ │ ├── UnregisterRequest.java │ │ │ │ ├── model/ │ │ │ │ │ ├── AbstractPropertiesLoader.java │ │ │ │ │ ├── FindInstancesResponse.java │ │ │ │ │ ├── HealthCheck.java │ │ │ │ │ ├── HealthCheckMode.java │ │ │ │ │ ├── InstancePropertiesLoader.java │ │ │ │ │ ├── Microservice.java │ │ │ │ │ ├── MicroserviceFactory.java │ │ │ │ │ ├── MicroserviceInstance.java │ │ │ │ │ ├── MicroserviceInstances.java │ │ │ │ │ └── MicroservicePropertiesLoader.java │ │ │ │ └── store/ │ │ │ │ ├── AppStore.java │ │ │ │ ├── InstanceStore.java │ │ │ │ ├── MicroserviceStore.java │ │ │ │ └── Store.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── registry/ │ │ ├── config/ │ │ │ └── TestAbstractPropertiesLoader.java │ │ └── lightweight/ │ │ ├── MessageTest.java │ │ └── StoreServiceTest.java │ ├── registry-local/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── localregistry/ │ │ │ ├── LocalDiscovery.java │ │ │ ├── LocalDiscoveryInstance.java │ │ │ ├── LocalRegistration.java │ │ │ ├── LocalRegistrationInstance.java │ │ │ ├── LocalRegistryConfiguration.java │ │ │ ├── LocalRegistryConst.java │ │ │ ├── LocalRegistryStore.java │ │ │ └── RegistryBean.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── registry-nacos/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── registry/ │ │ │ └── nacos/ │ │ │ ├── NacosConfiguration.java │ │ │ ├── NacosConst.java │ │ │ ├── NacosDiscovery.java │ │ │ ├── NacosDiscoveryInstance.java │ │ │ ├── NacosDiscoveryProperties.java │ │ │ ├── NacosMicroserviceHandler.java │ │ │ ├── NacosRegistration.java │ │ │ ├── NacosRegistrationInstance.java │ │ │ └── NamingServiceManager.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── registry-service-center/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── registry/ │ │ │ └── sc/ │ │ │ ├── MicroserviceHandler.java │ │ │ ├── SCAddressManager.java │ │ │ ├── SCClientUtils.java │ │ │ ├── SCConfiguration.java │ │ │ ├── SCConfigurationProperties.java │ │ │ ├── SCConst.java │ │ │ ├── SCDiscovery.java │ │ │ ├── SCDiscoveryInstance.java │ │ │ ├── SCRegistration.java │ │ │ └── SCRegistrationInstance.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── registry-zero-config/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── zeroconfig/ │ │ │ ├── AbstractZeroConfigRegistration.java │ │ │ ├── Config.java │ │ │ ├── ZeroConfigConst.java │ │ │ ├── ZeroConfigDiscovery.java │ │ │ ├── ZeroConfigDiscoveryInstance.java │ │ │ ├── ZeroConfigRegistration.java │ │ │ ├── ZeroConfigRegistrationInstance.java │ │ │ ├── ZeroConfigRegistryConfiguration.java │ │ │ └── multicast/ │ │ │ ├── Multicast.java │ │ │ └── MulticastServer.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── registry-zookeeper/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── registry/ │ │ └── zookeeper/ │ │ ├── ZookeeperConfiguration.java │ │ ├── ZookeeperConst.java │ │ ├── ZookeeperDiscovery.java │ │ ├── ZookeeperDiscoveryInstance.java │ │ ├── ZookeeperInstance.java │ │ ├── ZookeeperRegistration.java │ │ ├── ZookeeperRegistrationInstance.java │ │ └── ZookeeperRegistryProperties.java │ └── resources/ │ └── META-INF/ │ └── spring/ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports ├── solutions/ │ ├── pom.xml │ └── solution-basic/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── solution/ │ │ │ └── basic/ │ │ │ └── integration/ │ │ │ ├── HealthEndpoint.java │ │ │ ├── HealthEndpointImpl.java │ │ │ ├── HealthInstancePing.java │ │ │ ├── InstanceOpenAPIRegistry.java │ │ │ ├── IntegrationConfiguration.java │ │ │ ├── ManagementEndpoint.java │ │ │ ├── ManagementEndpointImpl.java │ │ │ ├── MetricsEndpoint.java │ │ │ └── MetricsEndpointImpl.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ └── microservice.yaml │ └── test/ │ └── java/ │ └── org/ │ └── apache/ │ └── servicecomb/ │ └── solution/ │ └── basic/ │ └── integration/ │ ├── TestHealthEndpointImpl.java │ ├── TestManagementEndpointImpl.java │ └── TestMetricsEndpointImpl.java ├── spring-boot/ │ ├── pom.xml │ └── spring-boot-starters/ │ ├── java-chassis-spring-boot-starter-servlet/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── springboot/ │ │ │ └── starter/ │ │ │ └── servlet/ │ │ │ ├── RestServletInitializer.java │ │ │ ├── SpringBootStarterServletConfiguration.java │ │ │ └── package-info.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ ├── java-chassis-spring-boot-starter-standalone/ │ │ └── pom.xml │ └── pom.xml ├── swagger/ │ ├── pom.xml │ ├── swagger-generator/ │ │ ├── generator-core/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── swagger/ │ │ │ │ │ ├── SwaggerUtils.java │ │ │ │ │ ├── converter/ │ │ │ │ │ │ ├── AbstractConverter.java │ │ │ │ │ │ ├── Converter.java │ │ │ │ │ │ ├── ConverterMgr.java │ │ │ │ │ │ └── property/ │ │ │ │ │ │ ├── AbstractPropertyConverter.java │ │ │ │ │ │ ├── ArrayPropertyConverter.java │ │ │ │ │ │ ├── MapPropertyConverter.java │ │ │ │ │ │ └── ObjectPropertyConverter.java │ │ │ │ │ ├── extend/ │ │ │ │ │ │ ├── ConcreteTypeRegister.java │ │ │ │ │ │ ├── DefaultModelResolveObjectMapperProvider.java │ │ │ │ │ │ ├── ModelResolveObjectMapperProvider.java │ │ │ │ │ │ ├── ModelResolverExt.java │ │ │ │ │ │ ├── SwaggerEnum.java │ │ │ │ │ │ ├── annotations/ │ │ │ │ │ │ │ └── RawJsonRequestBody.java │ │ │ │ │ │ ├── introspector/ │ │ │ │ │ │ │ └── JsonPropertyIntrospector.java │ │ │ │ │ │ ├── module/ │ │ │ │ │ │ │ └── EnumModuleExt.java │ │ │ │ │ │ └── property/ │ │ │ │ │ │ └── creator/ │ │ │ │ │ │ ├── ByteArrayPropertyCreator.java │ │ │ │ │ │ ├── BytePropertyCreator.java │ │ │ │ │ │ ├── InputStreamPropertyCreator.java │ │ │ │ │ │ ├── PartPropertyCreator.java │ │ │ │ │ │ └── PropertyCreator.java │ │ │ │ │ └── generator/ │ │ │ │ │ ├── ClassAnnotationProcessor.java │ │ │ │ │ ├── MethodAnnotationProcessor.java │ │ │ │ │ ├── OperationGenerator.java │ │ │ │ │ ├── ParameterAnnotationProcessor.java │ │ │ │ │ ├── ParameterGenerator.java │ │ │ │ │ ├── ParameterTypeProcessor.java │ │ │ │ │ ├── ResponseTypeProcessor.java │ │ │ │ │ ├── SwaggerConst.java │ │ │ │ │ ├── SwaggerContextRegister.java │ │ │ │ │ ├── SwaggerGenerator.java │ │ │ │ │ ├── SwaggerGeneratorFactory.java │ │ │ │ │ ├── SwaggerGeneratorUtils.java │ │ │ │ │ ├── SwaggerParameterAnnotationProcessor.java │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── AbstractOperationGenerator.java │ │ │ │ │ │ ├── AbstractSwaggerGenerator.java │ │ │ │ │ │ ├── OperationGeneratorContext.java │ │ │ │ │ │ ├── ParameterGeneratorContext.java │ │ │ │ │ │ ├── SwaggerGeneratorContext.java │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── HttpParameterType.java │ │ │ │ │ │ │ ├── SwaggerOperation.java │ │ │ │ │ │ │ └── SwaggerOperations.java │ │ │ │ │ │ ├── processor/ │ │ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ │ │ ├── AnnotationUtils.java │ │ │ │ │ │ │ │ ├── ApiResponseMethodProcessor.java │ │ │ │ │ │ │ │ ├── ApiResponsesMethodProcessor.java │ │ │ │ │ │ │ │ ├── OpenAPIDefinitionProcessor.java │ │ │ │ │ │ │ │ ├── OperationMethodAnnotationProcessor.java │ │ │ │ │ │ │ │ ├── RequestBodyMethodAnnotationProcessor.java │ │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ │ ├── parameter/ │ │ │ │ │ │ │ │ ├── HttpServletRequestContextRegister.java │ │ │ │ │ │ │ │ ├── ParameterParameterAnnotationProcessor.java │ │ │ │ │ │ │ │ ├── PartArrayParameterTypeProcessor.java │ │ │ │ │ │ │ │ ├── PartListParameterTypeProcessor.java │ │ │ │ │ │ │ │ ├── PartParameterTypeProcessor.java │ │ │ │ │ │ │ │ ├── RawJsonRequestBodyProcessor.java │ │ │ │ │ │ │ │ ├── RequestBodyParameterAnnotationProcessor.java │ │ │ │ │ │ │ │ └── ServerWebSocketContextRegister.java │ │ │ │ │ │ │ └── response/ │ │ │ │ │ │ │ ├── CompletableFutureProcessor.java │ │ │ │ │ │ │ ├── DefaultResponseTypeProcessor.java │ │ │ │ │ │ │ ├── OptionalProcessor.java │ │ │ │ │ │ │ └── PublisherProcessor.java │ │ │ │ │ │ ├── unittest/ │ │ │ │ │ │ │ ├── UnitTestSwaggerUtils.java │ │ │ │ │ │ │ └── package-info.java │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── MethodUtils.java │ │ │ │ │ ├── pojo/ │ │ │ │ │ │ ├── PojoOperationGenerator.java │ │ │ │ │ │ ├── PojoSwaggerGenerator.java │ │ │ │ │ │ └── PojoSwaggerGeneratorFactory.java │ │ │ │ │ └── rest/ │ │ │ │ │ ├── RestOperationGenerator.java │ │ │ │ │ └── RestSwaggerGenerator.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── io.swagger.v3.core.converter.ModelConverter │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ClassAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.MethodAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ParameterAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ParameterTypeProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ResponseTypeProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.SwaggerContextRegister │ │ │ │ ├── org.apache.servicecomb.swagger.generator.SwaggerGenerator │ │ │ │ └── org.apache.servicecomb.swagger.generator.SwaggerGeneratorFactory │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ ├── TestSwaggerUtils.java │ │ │ │ ├── extend/ │ │ │ │ │ ├── introspector/ │ │ │ │ │ │ └── JsonPropertyIntrospectorTest.java │ │ │ │ │ ├── module/ │ │ │ │ │ │ └── EnumModuleExtTest.java │ │ │ │ │ └── property/ │ │ │ │ │ └── creator/ │ │ │ │ │ └── TestPartPropertyCreator.java │ │ │ │ └── generator/ │ │ │ │ └── core/ │ │ │ │ ├── TestApiOperation.java │ │ │ │ ├── TestApiResponse.java │ │ │ │ ├── TestArrayType.java │ │ │ │ ├── TestClassUtils.java │ │ │ │ ├── TestOperationGenerator.java │ │ │ │ ├── TestPojo.java │ │ │ │ ├── TestPojoExample.java │ │ │ │ ├── TestSwaggerDefinition.java │ │ │ │ ├── TestSwaggerGenerator.java │ │ │ │ ├── TestSwaggerUtils.java │ │ │ │ ├── model/ │ │ │ │ │ └── TestSwaggerOperations.java │ │ │ │ ├── pojo/ │ │ │ │ │ ├── PojoExample1.java │ │ │ │ │ ├── TestType1.java │ │ │ │ │ ├── TestType2.java │ │ │ │ │ ├── TestTypeClass.java │ │ │ │ │ ├── TestTypeEnumLang.java │ │ │ │ │ └── TestTypeRecord.java │ │ │ │ ├── processor/ │ │ │ │ │ └── annotation/ │ │ │ │ │ ├── OpenAPIDefinitionProcessorTest.java │ │ │ │ │ └── OperationMethodAnnotationProcessorTest.java │ │ │ │ ├── schema/ │ │ │ │ │ ├── AllType.java │ │ │ │ │ ├── ArrayType.java │ │ │ │ │ ├── RepeatOperation.java │ │ │ │ │ └── Schema.java │ │ │ │ └── utils/ │ │ │ │ ├── TestMethodUtils.java │ │ │ │ ├── methodUtilsModel/ │ │ │ │ │ ├── AbstractBaseClass.java │ │ │ │ │ ├── AbstractBean.java │ │ │ │ │ ├── BaseInterface.java │ │ │ │ │ ├── Hello2Endpoint.java │ │ │ │ │ ├── HelloBean.java │ │ │ │ │ ├── HelloEndpoint.java │ │ │ │ │ └── ServiceInterface.java │ │ │ │ └── paramUtilsModel/ │ │ │ │ ├── AbstractBaseService.java │ │ │ │ ├── AbstractBean.java │ │ │ │ ├── IBaseService.java │ │ │ │ ├── IMyService.java │ │ │ │ ├── IMyServiceChild.java │ │ │ │ ├── IMyServiceChild2.java │ │ │ │ ├── MyEndpoint.java │ │ │ │ ├── MyEndpoint2.java │ │ │ │ └── PersonBean.java │ │ │ └── resources/ │ │ │ ├── schemas/ │ │ │ │ ├── ParameterAnnotation.yaml │ │ │ │ ├── Schema.yaml │ │ │ │ ├── allMethod.yaml │ │ │ │ ├── allType.yaml │ │ │ │ ├── apiOperation.yaml │ │ │ │ ├── apiResponse.yaml │ │ │ │ ├── array.yaml │ │ │ │ ├── boolean.yaml │ │ │ │ ├── booleanObject.yaml │ │ │ │ ├── byte.yaml │ │ │ │ ├── byteObject.yaml │ │ │ │ ├── bytes.yaml │ │ │ │ ├── bytesObject.yaml │ │ │ │ ├── char.yaml │ │ │ │ ├── charObject.yaml │ │ │ │ ├── completableFuture.yaml │ │ │ │ ├── date.yaml │ │ │ │ ├── double.yaml │ │ │ │ ├── doubleObject.yaml │ │ │ │ ├── enum.yaml │ │ │ │ ├── float.yaml │ │ │ │ ├── floatObject.yaml │ │ │ │ ├── ignoreRequest.yaml │ │ │ │ ├── int.yaml │ │ │ │ ├── intObject.yaml │ │ │ │ ├── list.yaml │ │ │ │ ├── long.yaml │ │ │ │ ├── longObject.yaml │ │ │ │ ├── map.yaml │ │ │ │ ├── mapList.yaml │ │ │ │ ├── multiParam.yaml │ │ │ │ ├── nestedListString.yaml │ │ │ │ ├── object.yaml │ │ │ │ ├── oneEnum.yaml │ │ │ │ ├── part.yaml │ │ │ │ ├── partArray.yaml │ │ │ │ ├── partList.yaml │ │ │ │ ├── pojoExample1.yaml │ │ │ │ ├── responseHeader.yaml │ │ │ │ ├── set.yaml │ │ │ │ ├── short.yaml │ │ │ │ ├── shortObject.yaml │ │ │ │ ├── string.yaml │ │ │ │ ├── testCompletableFutureOptional.yaml │ │ │ │ ├── testOptional.yaml │ │ │ │ └── wrapToBodyWithDesc.yaml │ │ │ ├── swagger1.yaml │ │ │ └── swagger2.yaml │ │ ├── generator-jaxrs/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── swagger/ │ │ │ │ │ └── generator/ │ │ │ │ │ └── jaxrs/ │ │ │ │ │ ├── JaxrsOperationGenerator.java │ │ │ │ │ ├── JaxrsSwaggerGenerator.java │ │ │ │ │ ├── JaxrsSwaggerGeneratorFactory.java │ │ │ │ │ └── processor/ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ ├── ConsumesClassAnnotationProcessor.java │ │ │ │ │ │ ├── ConsumesMethodAnnotationProcessor.java │ │ │ │ │ │ ├── CookieParamParameterAnnotationProcessor.java │ │ │ │ │ │ ├── DeleteMethodAnnotationProcessor.java │ │ │ │ │ │ ├── FormParamParameterAnnotationProcessor.java │ │ │ │ │ │ ├── GetMethodAnnotationProcessor.java │ │ │ │ │ │ ├── HeaderParamParameterAnnotationProcessor.java │ │ │ │ │ │ ├── JaxrsClassAnnotationProcessor.java │ │ │ │ │ │ ├── JaxrsMethodAnnotationProcessor.java │ │ │ │ │ │ ├── JaxrsParameterAnnotationProcessor.java │ │ │ │ │ │ ├── PatchMethodAnnotationProcessor.java │ │ │ │ │ │ ├── PathClassAnnotationProcessor.java │ │ │ │ │ │ ├── PathMethodAnnotationProcessor.java │ │ │ │ │ │ ├── PathParamParameterAnnotationProcessor.java │ │ │ │ │ │ ├── PostMethodAnnotationProcessor.java │ │ │ │ │ │ ├── ProducesClassAnnotationProcessor.java │ │ │ │ │ │ ├── ProducesMethodAnnotationProcessor.java │ │ │ │ │ │ ├── PutMethodAnnotationProcessor.java │ │ │ │ │ │ └── QueryParamParameterAnnotationProcessor.java │ │ │ │ │ └── response/ │ │ │ │ │ └── JaxrsResponseProcessor.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ClassAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.MethodAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ParameterAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ResponseTypeProcessor │ │ │ │ └── org.apache.servicecomb.swagger.generator.SwaggerGeneratorFactory │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ └── generator/ │ │ │ │ └── jaxrs/ │ │ │ │ ├── ClassAnnotation.java │ │ │ │ ├── ClassMethodNoPath.java │ │ │ │ ├── Echo.java │ │ │ │ ├── FullSwaggerService.java │ │ │ │ ├── MultiDefaultPath.java │ │ │ │ ├── TestClassAnnotation.java │ │ │ │ ├── TestJaxrs.java │ │ │ │ └── model/ │ │ │ │ ├── AggregatedParam.java │ │ │ │ ├── BeanParamComplexField.java │ │ │ │ ├── BeanParamComplexSetter.java │ │ │ │ ├── BeanParamDefaultBody.java │ │ │ │ ├── BeanParamInvalidDefaultBody.java │ │ │ │ ├── BeanParamWithJsonIgnoredTagged.java │ │ │ │ ├── BeanParamWithPart.java │ │ │ │ ├── ConsumesAndProduces.java │ │ │ │ └── enums/ │ │ │ │ ├── DynamicStatus.java │ │ │ │ ├── DynamicStatusBeanParam.java │ │ │ │ ├── DynamicStatusModel.java │ │ │ │ ├── JdkStatus.java │ │ │ │ ├── JdkStatusBeanParam.java │ │ │ │ └── JdkStatusModel.java │ │ │ └── resources/ │ │ │ └── schemas/ │ │ │ ├── ClassAnnotation.yaml │ │ │ ├── FullSwaggerService.yaml │ │ │ ├── aggregatedParam.yaml │ │ │ ├── beanParamDefaultBody.yaml │ │ │ ├── beanParamWithJsonIgnoredTagged.yaml │ │ │ ├── beanParamWithPart.yaml │ │ │ ├── consumes.yaml │ │ │ ├── cookie.yaml │ │ │ ├── dynamicStatusEnum.yaml │ │ │ ├── echo.yaml │ │ │ ├── emptyContract.yaml │ │ │ ├── emptyPath.yaml │ │ │ ├── enumBody.yaml │ │ │ ├── form.yaml │ │ │ ├── jdkStatusEnum.yaml │ │ │ ├── nestedListString.yaml │ │ │ ├── patch.yaml │ │ │ ├── query.yaml │ │ │ ├── rawJsonStringMethod.yaml │ │ │ ├── response.yaml │ │ │ └── responseText.yaml │ │ ├── generator-spring-data/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── swagger/ │ │ │ │ │ └── generator/ │ │ │ │ │ └── springdata/ │ │ │ │ │ ├── SpringDataConcreteTypeRegister.java │ │ │ │ │ └── SpringDataModule.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── com.fasterxml.jackson.databind.Module │ │ │ │ └── org.apache.servicecomb.swagger.extend.ConcreteTypeRegister │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ └── generator/ │ │ │ │ └── springdata/ │ │ │ │ └── TestPageResponseTypeProcessor.java │ │ │ └── resources/ │ │ │ └── pageSchema.yaml │ │ ├── generator-springmvc/ │ │ │ ├── pom.xml │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ └── org/ │ │ │ │ │ └── apache/ │ │ │ │ │ └── servicecomb/ │ │ │ │ │ └── swagger/ │ │ │ │ │ └── generator/ │ │ │ │ │ └── springmvc/ │ │ │ │ │ ├── SpringmvcOperationGenerator.java │ │ │ │ │ ├── SpringmvcSwaggerGenerator.java │ │ │ │ │ ├── SpringmvcSwaggerGeneratorFactory.java │ │ │ │ │ ├── processor/ │ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ │ ├── AbstractHttpMethodMappingAnnotationProcessor.java │ │ │ │ │ │ │ ├── CookieValueAnnotationProcessor.java │ │ │ │ │ │ │ ├── DeleteMappingMethodAnnotationProcessor.java │ │ │ │ │ │ │ ├── GetMappingMethodAnnotationProcessor.java │ │ │ │ │ │ │ ├── PatchMappingMethodAnnotationProcessor.java │ │ │ │ │ │ │ ├── PathVariableAnnotationProcessor.java │ │ │ │ │ │ │ ├── PostMappingMethodAnnotationProcessor.java │ │ │ │ │ │ │ ├── PutMappingMethodAnnotationProcessor.java │ │ │ │ │ │ │ ├── RequestAttributeAnnotationProcessor.java │ │ │ │ │ │ │ ├── RequestBodyAnnotationProcessor.java │ │ │ │ │ │ │ ├── RequestHeaderAnnotationProcessor.java │ │ │ │ │ │ │ ├── RequestMappingClassAnnotationProcessor.java │ │ │ │ │ │ │ ├── RequestMappingMethodAnnotationProcessor.java │ │ │ │ │ │ │ ├── RequestParamParameterProcessor.java │ │ │ │ │ │ │ ├── RequestPartAnnotationProcessor.java │ │ │ │ │ │ │ ├── RestControllerClassAnnotationProcessor.java │ │ │ │ │ │ │ └── SpringmvcParameterAnnotationsProcessor.java │ │ │ │ │ │ ├── parameter/ │ │ │ │ │ │ │ ├── MultipartFileArrayProcessor.java │ │ │ │ │ │ │ ├── MultipartFileListProcessor.java │ │ │ │ │ │ │ └── MultipartFileTypeProcessor.java │ │ │ │ │ │ └── response/ │ │ │ │ │ │ └── ResponseEntityProcessor.java │ │ │ │ │ └── property/ │ │ │ │ │ └── creator/ │ │ │ │ │ └── MultipartFilePropertyCreator.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── services/ │ │ │ │ ├── org.apache.servicecomb.swagger.extend.property.creator.PropertyCreator │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ClassAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.MethodAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ParameterAnnotationProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ParameterTypeProcessor │ │ │ │ ├── org.apache.servicecomb.swagger.generator.ResponseTypeProcessor │ │ │ │ └── org.apache.servicecomb.swagger.generator.SwaggerGeneratorFactory │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ └── generator/ │ │ │ │ └── springmvc/ │ │ │ │ ├── ClassMethodNoHttpMethod.java │ │ │ │ ├── ClassMethodNoPath.java │ │ │ │ ├── ClassMultiHttpMethod.java │ │ │ │ ├── ClassMultiPath.java │ │ │ │ ├── Echo.java │ │ │ │ ├── MethodDefaultParameter.java │ │ │ │ ├── MethodEmptyPath.java │ │ │ │ ├── MethodMixupAnnotations.java │ │ │ │ ├── MethodMultiPath.java │ │ │ │ ├── MethodResponseEntity.java │ │ │ │ ├── MultiDefaultPath.java │ │ │ │ ├── TestSpringmvc.java │ │ │ │ ├── TestTwoSameNameModels.java │ │ │ │ ├── model/ │ │ │ │ │ ├── DefaultParameterSchema.java │ │ │ │ │ ├── Generic.java │ │ │ │ │ ├── RestControllerWithPathSchema.java │ │ │ │ │ ├── SwaggerTestTarget.java │ │ │ │ │ ├── SwaggerTestTarget_ValueOverWritePath.java │ │ │ │ │ ├── TestParam.java │ │ │ │ │ ├── TestProducer.java │ │ │ │ │ ├── same1/ │ │ │ │ │ │ ├── SameModel.java │ │ │ │ │ │ └── SameModelThrow.java │ │ │ │ │ └── same2/ │ │ │ │ │ ├── SameModel.java │ │ │ │ │ └── SameModelThrow.java │ │ │ │ ├── processor/ │ │ │ │ │ └── annotation/ │ │ │ │ │ └── RequestPartAnnotationProcessorTest.java │ │ │ │ └── property/ │ │ │ │ └── creator/ │ │ │ │ └── MultipartFilePropertyCreatorTest.java │ │ │ └── resources/ │ │ │ └── schemas/ │ │ │ ├── DefaultParameterSchema.yaml │ │ │ ├── DemoRest.yaml │ │ │ ├── MethodEmptyPath.yaml │ │ │ ├── RestControllerWithPathSchema.yaml │ │ │ ├── asyncResponseEntity.yaml │ │ │ ├── cookie.yaml │ │ │ ├── defaultParameter.yaml │ │ │ ├── echo.yaml │ │ │ ├── emptyPath.yaml │ │ │ ├── enumBody.yaml │ │ │ ├── inheritHttpMethod.yaml │ │ │ ├── mixupAnnotations.yaml │ │ │ ├── nestedListString.yaml │ │ │ ├── part.yaml │ │ │ ├── partAnnotation.yaml │ │ │ ├── partArray.yaml │ │ │ ├── partArrayAnnotation.yaml │ │ │ ├── partList.yaml │ │ │ ├── partListAnnotation.yaml │ │ │ ├── rawJsonStringMethod.yaml │ │ │ ├── requestMappingHttpMethod.yaml │ │ │ ├── responseEntity.yaml │ │ │ ├── swaggerTestTarget.yaml │ │ │ ├── swaggerTestTarget_ValueOverWritePath.yaml │ │ │ ├── testBlankMediaType.yaml │ │ │ ├── testCompletableFutureResponseEntityOptional.yaml │ │ │ ├── testMultipleMediaType.yaml │ │ │ ├── testObjectParam.yaml │ │ │ ├── testResponseEntityOptional.yaml │ │ │ ├── testSimpleParam.yaml │ │ │ └── testSingleMediaType.yaml │ │ └── pom.xml │ └── swagger-invocation/ │ ├── invocation-core/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ ├── engine/ │ │ │ │ │ ├── SwaggerConsumer.java │ │ │ │ │ ├── SwaggerConsumerOperation.java │ │ │ │ │ ├── SwaggerEnvironment.java │ │ │ │ │ ├── SwaggerProducer.java │ │ │ │ │ └── SwaggerProducerOperation.java │ │ │ │ └── invocation/ │ │ │ │ ├── AsyncResponse.java │ │ │ │ ├── InvocationType.java │ │ │ │ ├── Response.java │ │ │ │ ├── SwaggerInvocation.java │ │ │ │ ├── arguments/ │ │ │ │ │ ├── AbstractArgumentsMapperCreator.java │ │ │ │ │ ├── ArgumentMapper.java │ │ │ │ │ ├── ArgumentsMapper.java │ │ │ │ │ ├── ContextArgumentMapperFactory.java │ │ │ │ │ ├── consumer/ │ │ │ │ │ │ ├── ArgumentsMapperCommon.java │ │ │ │ │ │ ├── ArgumentsMapperDirectReuse.java │ │ │ │ │ │ ├── ConsumerArgumentMapper.java │ │ │ │ │ │ ├── ConsumerArgumentSame.java │ │ │ │ │ │ ├── ConsumerArgumentToBodyField.java │ │ │ │ │ │ ├── ConsumerArgumentsMapperCreator.java │ │ │ │ │ │ ├── ConsumerBeanParamMapper.java │ │ │ │ │ │ ├── ConsumerContextArgumentMapperFactory.java │ │ │ │ │ │ ├── ConsumerInvocationContextMapper.java │ │ │ │ │ │ └── ConsumerInvocationContextMapperFactory.java │ │ │ │ │ └── producer/ │ │ │ │ │ ├── AbstractProducerContextArgMapper.java │ │ │ │ │ ├── ProducerArgumentMapper.java │ │ │ │ │ ├── ProducerArgumentSame.java │ │ │ │ │ ├── ProducerArgumentsMapper.java │ │ │ │ │ ├── ProducerArgumentsMapperCreator.java │ │ │ │ │ ├── ProducerBeanParamMapper.java │ │ │ │ │ ├── ProducerContextArgumentMapperFactory.java │ │ │ │ │ ├── ProducerInvocationContextMapper.java │ │ │ │ │ ├── ProducerInvocationContextMapperFactory.java │ │ │ │ │ └── SwaggerBodyFieldToProducerArgument.java │ │ │ │ ├── context/ │ │ │ │ │ ├── ContextUtils.java │ │ │ │ │ ├── HttpStatus.java │ │ │ │ │ ├── HttpStatusManager.java │ │ │ │ │ ├── InvocationContext.java │ │ │ │ │ ├── InvocationContextCompletableFuture.java │ │ │ │ │ ├── TransportContext.java │ │ │ │ │ └── VertxTransportContext.java │ │ │ │ ├── converter/ │ │ │ │ │ ├── Converter.java │ │ │ │ │ └── impl/ │ │ │ │ │ └── part/ │ │ │ │ │ ├── BytesToPartConverter.java │ │ │ │ │ ├── FileToPartConverter.java │ │ │ │ │ ├── InputStreamToPartConverter.java │ │ │ │ │ ├── PartListToPartArrayConverter.java │ │ │ │ │ ├── PartListToPartListConverter.java │ │ │ │ │ ├── PartToPartConverter.java │ │ │ │ │ └── ResourceToPartConverter.java │ │ │ │ ├── exception/ │ │ │ │ │ ├── CommonExceptionData.java │ │ │ │ │ ├── ExceptionFactory.java │ │ │ │ │ └── InvocationException.java │ │ │ │ ├── generator/ │ │ │ │ │ ├── InvocationContextProcessor.java │ │ │ │ │ └── ScbResponseProcessor.java │ │ │ │ └── response/ │ │ │ │ ├── ResponseMapperFactories.java │ │ │ │ ├── ResponseMapperFactory.java │ │ │ │ ├── ResponseMetaMapper.java │ │ │ │ ├── ResponsesMeta.java │ │ │ │ ├── consumer/ │ │ │ │ │ ├── CompletableFutureConsumerResponseMapperFactory.java │ │ │ │ │ ├── ConsumerResponseMapper.java │ │ │ │ │ ├── ConsumerResponseMapperFactory.java │ │ │ │ │ ├── CseResponseConsumerResponseMapperFactory.java │ │ │ │ │ ├── DefaultConsumerResponseMapper.java │ │ │ │ │ ├── DefaultConsumerResponseMapperFactory.java │ │ │ │ │ ├── OptionalConsumerResponseMapper.java │ │ │ │ │ └── OptionalConsumerResponseMapperFactory.java │ │ │ │ └── producer/ │ │ │ │ ├── CompletableFutureProducerResponseMapperFactory.java │ │ │ │ ├── CseResponseProducerResponseMapperFactory.java │ │ │ │ ├── DefaultProducerResponseMapper.java │ │ │ │ ├── DefaultProducerResponseMapperFactory.java │ │ │ │ ├── OptionalProducerResponseMapper.java │ │ │ │ ├── OptionalProducerResponseMapperFactory.java │ │ │ │ ├── ProducerResponseMapper.java │ │ │ │ └── ProducerResponseMapperFactory.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── org.apache.servicecomb.swagger.generator.ResponseTypeProcessor │ │ │ ├── org.apache.servicecomb.swagger.generator.SwaggerContextRegister │ │ │ ├── org.apache.servicecomb.swagger.invocation.arguments.consumer.ConsumerContextArgumentMapperFactory │ │ │ ├── org.apache.servicecomb.swagger.invocation.arguments.producer.ProducerContextArgumentMapperFactory │ │ │ ├── org.apache.servicecomb.swagger.invocation.converter.Converter │ │ │ ├── org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory │ │ │ └── org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ ├── core/ │ │ │ ├── TestException.java │ │ │ └── TestResponse.java │ │ └── swagger/ │ │ ├── engine/ │ │ │ ├── TestSwaggerEnvironment.java │ │ │ └── TestSwaggerProducerOperation.java │ │ └── invocation/ │ │ ├── TestSwaggerInvocation.java │ │ ├── arguments/ │ │ │ ├── consumer/ │ │ │ │ ├── TestJaxrsV1V1.java │ │ │ │ ├── TestJaxrsV1V2.java │ │ │ │ ├── TestJaxrsV2V1.java │ │ │ │ ├── TestJaxrsV2V2.java │ │ │ │ ├── TestPojoOneArg.java │ │ │ │ ├── TestPojoV1V1.java │ │ │ │ ├── TestPojoV1V2.java │ │ │ │ ├── TestPojoV2V1.java │ │ │ │ ├── TestPojoV2V2.java │ │ │ │ ├── TestSpringmvcV1V1.java │ │ │ │ ├── TestSpringmvcV1V2.java │ │ │ │ ├── TestSpringmvcV2V1.java │ │ │ │ └── TestSpringmvcV2V2.java │ │ │ └── producer/ │ │ │ ├── TestJaxrs.java │ │ │ ├── TestPojo.java │ │ │ ├── TestPojoOneArg.java │ │ │ └── TestSpringmvc.java │ │ ├── context/ │ │ │ ├── TestContextUtils.java │ │ │ └── TestInvocationContext.java │ │ ├── converter/ │ │ │ └── impl/ │ │ │ └── part/ │ │ │ ├── PartListToPartArrayConverterTest.java │ │ │ ├── PartListToPartListConverterTest.java │ │ │ ├── PartToPartConverterTest.java │ │ │ ├── TestBytesToPartConverter.java │ │ │ ├── TestFileToPartConverter.java │ │ │ ├── TestInputStreamToPartConverter.java │ │ │ └── TestResourceToPartConverter.java │ │ ├── exception/ │ │ │ └── CommonExceptionDataTest.java │ │ ├── models/ │ │ │ ├── JaxrsImpl.java │ │ │ ├── Person.java │ │ │ ├── PojoConsumerIntf.java │ │ │ ├── PojoImpl.java │ │ │ ├── ProducerImpl.java │ │ │ └── SpringmvcImpl.java │ │ ├── response/ │ │ │ ├── TestResponsesMeta.java │ │ │ ├── consumer/ │ │ │ │ └── TestConsumerResponseMapperFactories.java │ │ │ └── producer/ │ │ │ └── TestProducerResponseMapperFactories.java │ │ └── schemas/ │ │ ├── ConsumerAddBodyV1.java │ │ ├── ConsumerAddBodyV2.java │ │ ├── ConsumerAddV1.java │ │ ├── ConsumerAddV2.java │ │ ├── ConsumerAddWithContext.java │ │ ├── ConsumerOneArg.java │ │ ├── JaxrsAddBeanParamV1.java │ │ ├── JaxrsAddBeanParamV2.java │ │ ├── JaxrsAddBodyV1.java │ │ ├── JaxrsAddBodyV2.java │ │ ├── JaxrsAddV1.java │ │ ├── JaxrsAddV2.java │ │ ├── PojoAddBodyV1.java │ │ ├── PojoAddBodyV2.java │ │ ├── PojoAddV1.java │ │ ├── PojoAddV2.java │ │ ├── PojoAddWithContextV1.java │ │ ├── PojoOneArg.java │ │ ├── SpringmvcAddBodyV1.java │ │ ├── SpringmvcAddBodyV2.java │ │ ├── SpringmvcAddV1.java │ │ ├── SpringmvcAddV2.java │ │ ├── SpringmvcAddWrapperV1.java │ │ ├── SpringmvcAddWrapperV2.java │ │ └── models/ │ │ ├── AddBeanParamV1.java │ │ ├── AddBeanParamV2.java │ │ ├── AddWrapperV1.java │ │ └── AddWrapperV2.java │ ├── invocation-jaxrs/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ └── invocation/ │ │ │ │ └── jaxrs/ │ │ │ │ └── response/ │ │ │ │ ├── JaxrsConsumerResponseMapper.java │ │ │ │ ├── JaxrsConsumerResponseMapperFactory.java │ │ │ │ ├── JaxrsProducerResponseMapper.java │ │ │ │ └── JaxrsProducerResponseMapperFactory.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory │ │ │ └── org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── swagger/ │ │ │ └── invocation/ │ │ │ └── jaxrs/ │ │ │ └── response/ │ │ │ ├── TestJaxrsConsumerResponseMapper.java │ │ │ ├── TestJaxrsProducerResponseMapper.java │ │ │ └── TestJaxrsProducerResponseMapperFactory.java │ │ └── resources/ │ │ └── log4j2.xml │ ├── invocation-springmvc/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ └── org/ │ │ │ │ └── apache/ │ │ │ │ └── servicecomb/ │ │ │ │ └── swagger/ │ │ │ │ └── invocation/ │ │ │ │ ├── converter/ │ │ │ │ │ ├── PartListToMultipartArrayConverter.java │ │ │ │ │ ├── PartListToMultipartListConverter.java │ │ │ │ │ ├── PartToMultipartConverter.java │ │ │ │ │ └── PartToMultipartFile.java │ │ │ │ └── springmvc/ │ │ │ │ └── response/ │ │ │ │ ├── SpringmvcConsumerResponseMapper.java │ │ │ │ ├── SpringmvcConsumerResponseMapperFactory.java │ │ │ │ ├── SpringmvcProducerResponseMapper.java │ │ │ │ └── SpringmvcProducerResponseMapperFactory.java │ │ │ └── resources/ │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ ├── org.apache.servicecomb.swagger.invocation.converter.Converter │ │ │ ├── org.apache.servicecomb.swagger.invocation.response.consumer.ConsumerResponseMapperFactory │ │ │ └── org.apache.servicecomb.swagger.invocation.response.producer.ProducerResponseMapperFactory │ │ └── test/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── swagger/ │ │ │ └── invocation/ │ │ │ ├── converter/ │ │ │ │ └── TestPartToMultipartFile.java │ │ │ └── springmvc/ │ │ │ └── response/ │ │ │ ├── TestSpringmvcConsumerResponseMapper.java │ │ │ ├── TestSpringmvcProducerResponseMapper.java │ │ │ └── TestSpringmvcProducerResponseMapperFactory.java │ │ └── resources/ │ │ └── log4j2.xml │ ├── invocation-validator/ │ │ ├── pom.xml │ │ └── src/ │ │ ├── main/ │ │ │ └── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── swagger/ │ │ │ └── invocation/ │ │ │ └── validator/ │ │ │ └── DefaultParameterNameProvider.java │ │ └── test/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── swagger/ │ │ └── invocation/ │ │ └── validator/ │ │ └── TestDefaultParameterNameProvider.java │ └── pom.xml ├── tracing/ │ ├── README.md │ ├── pom.xml │ ├── tracing-common/ │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── tracing/ │ │ └── Span.java │ └── tracing-zipkin/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── tracing/ │ │ └── zipkin/ │ │ ├── EnableZipkinTracing.java │ │ ├── ZipkinSpanAspect.java │ │ ├── ZipkinSpanAspectConfig.java │ │ └── ZipkinTracingAdviser.java │ └── test/ │ └── java/ │ └── org/ │ └── apache/ │ └── servicecomb/ │ └── tracing/ │ └── zipkin/ │ ├── ZipkinSpanAspectTest.java │ ├── ZipkinTracingAdviserTest.java │ └── app/ │ └── ZipkinSpanTestApplication.java └── transports/ ├── pom.xml ├── transport-common/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── transport/ │ │ └── common/ │ │ └── TransportConfigUtils.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── transport/ │ │ └── common/ │ │ └── TestTransportConfigUtils.java │ └── resources/ │ └── log4j2.xml ├── transport-highway/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── transport/ │ │ │ └── highway/ │ │ │ ├── HighwayClient.java │ │ │ ├── HighwayClientConnection.java │ │ │ ├── HighwayClientConnectionPool.java │ │ │ ├── HighwayClientFilter.java │ │ │ ├── HighwayClientPackage.java │ │ │ ├── HighwayClientPoolFactory.java │ │ │ ├── HighwayCodec.java │ │ │ ├── HighwayConfig.java │ │ │ ├── HighwayOutputStream.java │ │ │ ├── HighwayProducerInvocationFlow.java │ │ │ ├── HighwayServer.java │ │ │ ├── HighwayServerCodecFilter.java │ │ │ ├── HighwayServerConnection.java │ │ │ ├── HighwayServerVerticle.java │ │ │ ├── HighwayTransport.java │ │ │ ├── HighwayTransportContext.java │ │ │ ├── MsgType.java │ │ │ ├── TransportHighwayConfiguration.java │ │ │ └── message/ │ │ │ ├── Headers.java │ │ │ ├── LoginRequest.java │ │ │ ├── LoginResponse.java │ │ │ ├── RequestHeader.java │ │ │ └── ResponseHeader.java │ │ └── resources/ │ │ ├── LoginRequest.proto │ │ ├── LoginResponse.proto │ │ ├── META-INF/ │ │ │ ├── services/ │ │ │ │ └── org.apache.servicecomb.core.Transport │ │ │ └── spring/ │ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ │ ├── RequestHeader.proto │ │ ├── ResponseHeader.proto │ │ └── microservice.yaml │ └── test/ │ └── java/ │ └── org/ │ └── apache/ │ └── servicecomb/ │ └── transport/ │ ├── common/ │ │ └── MockUtil.java │ └── highway/ │ ├── HighwayServerCodecFilterTest.java │ ├── TestHighwayClient.java │ ├── TestHighwayTransport.java │ ├── TestHighwayVerticle.java │ └── message/ │ ├── TestHeaders.java │ ├── TestLoginRequest.java │ ├── TestLoginResponse.java │ ├── TestRequestHeader.java │ └── TestResponseHeader.java └── transport-rest/ ├── pom.xml ├── transport-rest-client/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── transport/ │ │ │ └── rest/ │ │ │ └── client/ │ │ │ ├── BoundaryFactory.java │ │ │ ├── Http2TransportHttpClientOptionsSPI.java │ │ │ ├── HttpClientRequestFactory.java │ │ │ ├── HttpTransportHttpClientOptionsSPI.java │ │ │ ├── RestClientCodecFilter.java │ │ │ ├── RestClientDecoder.java │ │ │ ├── RestClientEncoder.java │ │ │ ├── RestClientExceptionCodes.java │ │ │ ├── RestClientRequestParameters.java │ │ │ ├── RestClientRequestParametersImpl.java │ │ │ ├── RestClientSender.java │ │ │ ├── RestClientSenderFilter.java │ │ │ ├── RestClientTransportContext.java │ │ │ ├── RestClientTransportContextFactory.java │ │ │ ├── TransportClientConfig.java │ │ │ ├── TransportRestClientConfiguration.java │ │ │ ├── WebSocketClientCodecFilter.java │ │ │ └── WebSocketClientTransportContext.java │ │ └── resources/ │ │ └── META-INF/ │ │ ├── services/ │ │ │ └── org.apache.servicecomb.foundation.vertx.client.http.HttpClientOptionsSPI │ │ └── spring/ │ │ └── org.springframework.boot.autoconfigure.AutoConfiguration.imports │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── transport/ │ │ └── rest/ │ │ └── client/ │ │ ├── FakeRestTransport.java │ │ └── RestFeatureController.java │ └── resources/ │ └── log4j2.xml ├── transport-rest-servlet/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── servicecomb/ │ │ │ └── transport/ │ │ │ └── rest/ │ │ │ └── servlet/ │ │ │ ├── RestAsyncListener.java │ │ │ ├── RestServlet.java │ │ │ ├── RestServletInjector.java │ │ │ ├── RestServletProducerInvocationCreator.java │ │ │ ├── ServletConfig.java │ │ │ ├── ServletRestDispatcher.java │ │ │ ├── ServletRestTransport.java │ │ │ └── ServletUtils.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.servicecomb.core.Transport │ └── test/ │ └── java/ │ └── org/ │ └── apache/ │ └── servicecomb/ │ └── transport/ │ └── rest/ │ └── servlet/ │ ├── TestRestAsyncListener.java │ ├── TestRestServlet.java │ ├── TestRestServletInjector.java │ ├── TestServletRestTransport.java │ └── TestServletUtils.java └── transport-rest-vertx/ ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── servicecomb/ │ │ └── transport/ │ │ └── rest/ │ │ └── vertx/ │ │ ├── AbstractVertxHttpDispatcher.java │ │ ├── GlobalRestFailureHandler.java │ │ ├── HttpServerExceptionHandler.java │ │ ├── RestBodyHandler.java │ │ ├── RestServerVerticle.java │ │ ├── TransportConfig.java │ │ ├── VertxHttpDispatcher.java │ │ ├── VertxRestDispatcher.java │ │ ├── VertxRestTransport.java │ │ ├── WebSocketDispatcher.java │ │ ├── WebSocketProducerInvocationFlow.java │ │ └── WebSocketTransport.java │ └── resources/ │ └── META-INF/ │ └── services/ │ ├── org.apache.servicecomb.core.Transport │ └── org.apache.servicecomb.transport.rest.vertx.VertxHttpDispatcher └── test/ └── java/ └── org/ └── apache/ └── servicecomb/ └── transport/ └── rest/ └── vertx/ ├── MockForRestServerVerticle.java ├── MockHttpServerResponse.java ├── TestAbstractVertxHttpDispatcher.java ├── TestRestServerVerticle.java ├── TestVertxRestDispatcher.java └── TestVertxRestTransport.java