From 73ce069ff9e0189bf42b9e194c8ea9b907576573 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Mon, 5 Dec 2016 14:33:25 +0800 Subject: [PATCH] Refactor trace related code to make CAT dependency optional --- apollo-adminservice/pom.xml | 12 +- .../AdminServiceHealthIndicator.java | 4 +- .../controller/AppController.java | 20 +-- .../controller/AppNamespaceController.java | 16 +- .../controller/ClusterController.java | 16 +- .../controller/CommitController.java | 2 +- .../controller/ItemController.java | 22 +-- .../controller/ItemSetController.java | 8 +- .../controller/NamespaceController.java | 16 +- .../controller/NamespaceLockController.java | 2 +- .../controller/ReleaseController.java | 2 +- .../apollo/AdminServiceTestConfiguration.java | 3 +- .../controller/AbstractControllerTest.java | 4 +- .../controller/AppControllerTest.java | 10 +- .../AppNamespaceControllerTest.java | 2 +- .../controller/ControllerExceptionTest.java | 22 +-- .../ControllerIntegrationExceptionTest.java | 16 +- .../controller/ItemSetControllerTest.java | 16 +- .../controller/ReleaseControllerTest.java | 2 +- .../test/resources/META-INF/plexus/plexus.xml | 42 ----- apollo-assembly/pom.xml | 7 +- .../apollo/assembly/ApolloApplication.java | 8 +- .../main/resources/META-INF/plexus/plexus.xml | 42 ----- .../assembly/LocalApolloApplication.java | 8 +- apollo-biz/pom.xml | 7 +- .../framework/apollo/biz/entity/Audit.java | 6 +- .../framework/apollo/biz/entity/Cluster.java | 6 +- .../apollo/biz/entity/GrayReleaseRule.java | 1 - .../framework/apollo/biz/entity/Item.java | 6 +- .../apollo/biz/entity/Namespace.java | 6 +- .../apollo/biz/entity/Privilege.java | 6 +- .../GrayReleaseRulesHolder.java | 13 +- .../biz/message/DatabaseMessageSender.java | 11 +- .../biz/message/ReleaseMessageScanner.java | 13 +- .../repository/AppNamespaceRepository.java | 4 +- .../apollo/biz/repository/AppRepository.java | 4 +- .../biz/repository/AuditRepository.java | 4 +- .../repository/GrayReleaseRuleRepository.java | 2 +- .../apollo/biz/repository/ItemRepository.java | 4 +- .../biz/repository/NamespaceRepository.java | 4 +- .../biz/repository/PrivilegeRepository.java | 4 +- .../biz/repository/ReleaseRepository.java | 6 +- .../apollo/biz/service/AdminService.java | 6 +- .../biz/service/AppNamespaceService.java | 2 +- .../apollo/biz/service/AppService.java | 14 +- .../apollo/biz/service/AuditService.java | 6 +- .../apollo/biz/service/ClusterService.java | 18 +-- .../apollo/biz/service/InstanceService.java | 1 - .../apollo/biz/service/ItemService.java | 11 +- .../apollo/biz/service/ItemSetService.java | 12 +- .../apollo/biz/service/NamespaceService.java | 24 +-- .../biz/service/ReleaseMessageService.java | 5 +- .../biz/utils/ConfigChangeContentBuilder.java | 1 - .../biz/repository/AppRepositoryTest.java | 6 +- .../apollo/biz/service/AdminServiceTest.java | 18 +-- .../service/AdminServiceTransactionTest.java | 14 +- .../biz/service/ClusterServiceTest.java | 8 +- .../service/NamespaceBranchServiceTest.java | 1 - .../biz/service/PrivilegeServiceTest.java | 14 +- .../biz/service/ReleaseCreationTest.java | 1 - .../biz/service/ServerConfigServiceTest.java | 3 +- .../test/resources/META-INF/plexus/plexus.xml | 42 ----- apollo-buildtools/pom.xml | 12 +- .../apollo/cat/NullClientConfigManager.java | 57 ------- .../apollo/cat/NullLoggerManager.java | 8 - .../apollo/cat/NullMessageManager.java | 111 -------------- .../apollo/cat/NullMessageProducer.java | 55 ------- .../apollo/cat/NullTransportManager.java | 33 ---- apollo-client/pom.xml | 50 +++--- .../ctrip/framework/apollo/ConfigService.java | 6 +- .../apollo/internals/AbstractConfig.java | 37 +++-- .../apollo/internals/AbstractConfigFile.java | 6 +- .../internals/AbstractConfigRepository.java | 6 +- .../internals/ConfigServiceLocator.java | 15 +- .../apollo/internals/DefaultConfig.java | 8 +- .../internals/LocalFileConfigRepository.java | 29 ++-- .../internals/PropertiesConfigFile.java | 4 +- .../RemoteConfigLongPollService.java | 15 +- .../internals/RemoteConfigRepository.java | 27 ++-- .../apollo/internals/SimpleConfig.java | 6 +- .../framework/apollo/BaseIntegrationTest.java | 2 +- .../internals/DefaultConfigManagerTest.java | 1 - .../apollo/internals/SimpleConfigTest.java | 4 - .../apollo/internals/XmlConfigFileTest.java | 5 +- .../apollo/util/ExceptionUtilTest.java | 2 +- .../test/resources/META-INF/plexus/plexus.xml | 42 ----- apollo-common/pom.xml | 2 +- .../apollo/common/aop/RepositoryAspect.java | 9 +- .../apollo/common/constants/GsonType.java | 3 - .../controller/ApolloInfoController.java | 6 +- .../apollo/common/controller/CatConfig.java | 26 ---- .../CharacterEncodingFilterConfiguration.java | 4 +- .../GlobalDefaultExceptionHandler.java | 4 +- .../common/controller/WebMvcConfig.java | 4 +- .../common/customize/LoggingCustomizer.java | 5 +- .../common/datasource/TitanCondition.java | 4 +- .../common/datasource/TitanEntityManager.java | 10 +- .../common/datasource/TitanSettings.java | 6 +- .../common/dto/GrayReleaseRuleItemDTO.java | 3 - .../apollo/common/entity/BaseEntity.java | 6 +- .../apollo/common/utils/BeanUtils.java | 8 +- .../apollo/common/utils/ExceptionUtils.java | 10 +- .../common/utils/UniqueKeyGenerator.java | 1 - .../common/utils/InputValidatorTest.java | 3 +- apollo-configservice/pom.xml | 12 +- .../controller/ConfigController.java | 8 +- .../controller/ConfigFileController.java | 10 +- .../controller/NotificationController.java | 6 +- .../controller/NotificationControllerV2.java | 10 +- .../util/InstanceConfigAuditUtil.java | 4 +- .../metaservice/service/DiscoveryService.java | 8 +- .../controller/ConfigControllerTest.java | 4 +- .../controller/ConfigFileControllerTest.java | 1 - .../NotificationControllerTest.java | 2 - .../configservice/util/NamespaceUtilTest.java | 2 +- .../test/resources/META-INF/plexus/plexus.xml | 42 ----- apollo-core/pom.xml | 22 ++- .../apollo/core/MetaDomainConsts.java | 6 +- .../apollo/core/utils/ClassLoaderUtil.java | 10 +- .../apollo/core/utils/ResourceUtils.java | 6 +- .../apollo/core/utils/ServiceBootstrap.java | 22 +++ .../ctrip/framework/apollo/tracer/Tracer.java | 84 ++++++++++ .../DefaultMessageProducerManager.java | 27 ++++ .../tracer/internals/NullMessageProducer.java | 32 ++++ .../internals/NullMessageProducerManager.java | 16 ++ .../tracer/internals/NullTransaction.java | 24 +++ .../internals/cat/CatMessageProducer.java | 84 ++++++++++ .../apollo/tracer/internals/cat/CatNames.java | 16 ++ .../tracer/internals/cat/CatTransaction.java | 76 +++++++++ .../apollo/tracer/spi/MessageProducer.java | 46 ++++++ .../tracer/spi/MessageProducerManager.java | 11 ++ .../apollo/tracer/spi/Transaction.java | 32 ++++ ...k.apollo.tracer.spi.MessageProducerManager | 1 + .../com/ctrip/framework/apollo/AllTests.java | 20 +++ .../ctrip/framework/apollo/core/AllTests.java | 11 -- .../core/utils/ServiceBootstrapTest.java | 56 +++++++ .../framework/apollo/tracer/TracerTest.java | 144 ++++++++++++++++++ .../DefaultMessageProducerManagerTest.java | 26 ++++ .../internals/MockMessageProducerManager.java | 20 +++ .../NullMessageProducerManagerTest.java | 25 +++ .../internals/NullMessageProducerTest.java | 28 ++++ ...core.utils.ServiceBootstrapTest$Interface1 | 1 + ...core.utils.ServiceBootstrapTest$Interface3 | 0 ...core.utils.ServiceBootstrapTest$Interface4 | 1 + ...core.utils.ServiceBootstrapTest$Interface5 | 1 + ...k.apollo.tracer.spi.MessageProducerManager | 1 + apollo-core/src/test/resources/log4j2.xml | 19 +++ apollo-demo/pom.xml | 2 +- apollo-portal/pom.xml | 12 +- .../openapi/util/ConsumerAuditUtil.java | 4 +- .../apollo/portal/api/AdminServiceAPI.java | 4 - .../AdminServiceAddressLocator.java | 4 +- .../components/PermissionValidator.java | 2 +- .../components/RetryableRestTemplate.java | 21 ++- .../portal/controller/ClusterController.java | 2 +- .../portal/controller/ItemController.java | 2 +- .../controller/NamespaceController.java | 8 +- .../controller/PermissionController.java | 2 +- .../controller/ServerConfigController.java | 2 +- .../portal/controller/UserInfoController.java | 2 +- .../portal/listener/CreationListener.java | 8 +- .../portal/service/AppNamespaceService.java | 2 +- .../apollo/portal/service/AppService.java | 6 +- .../apollo/portal/service/ClusterService.java | 6 +- .../portal/service/FavoriteService.java | 4 +- .../apollo/portal/service/ItemService.java | 14 +- .../service/NamespaceBranchService.java | 14 +- .../portal/service/NamespaceService.java | 6 +- .../apollo/portal/service/ReleaseService.java | 6 +- .../service/RoleInitializationService.java | 2 +- .../spi/configuration/AuthConfiguration.java | 4 +- .../portal/spi/ctrip/CtripLogoutHandler.java | 2 +- .../portal/spi/ctrip/CtripUserInfoHolder.java | 2 +- .../spi/ctrip/WebContextConfiguration.java | 2 +- .../ctrip/filters/RecordAccessUserFilter.java | 6 +- .../defaultimpl/DefaultUserInfoHolder.java | 2 +- .../ConsumerRolePermissionServiceTest.java | 3 +- .../openapi/service/ConsumerServiceTest.java | 3 +- .../openapi/util/ConsumerAuditUtilTest.java | 4 +- .../framework/apollo/portal/AllTests.java | 4 +- .../portal/RetryableRestTemplateTest.java | 2 +- .../apollo/portal/ServiceExceptionTest.java | 24 +-- .../txtresolver/FileTextResolverTest.java | 2 +- .../controller/ConsumerControllerTest.java | 4 +- .../service/AppNamespaceServiceTest.java | 2 +- .../portal/service/ConfigServiceTest.java | 8 +- .../portal/service/NamespaceServiceTest.java | 4 +- .../RoleInitializationServiceTest.java | 2 +- .../test/resources/META-INF/plexus/plexus.xml | 42 ----- pom.xml | 25 ++- scripts/build.sh | 4 +- 191 files changed, 1371 insertions(+), 1163 deletions(-) delete mode 100644 apollo-adminservice/src/test/resources/META-INF/plexus/plexus.xml delete mode 100644 apollo-assembly/src/main/resources/META-INF/plexus/plexus.xml delete mode 100644 apollo-biz/src/test/resources/META-INF/plexus/plexus.xml delete mode 100644 apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullClientConfigManager.java delete mode 100644 apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullLoggerManager.java delete mode 100644 apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageManager.java delete mode 100644 apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageProducer.java delete mode 100644 apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullTransportManager.java delete mode 100644 apollo-client/src/test/resources/META-INF/plexus/plexus.xml delete mode 100644 apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CatConfig.java delete mode 100644 apollo-configservice/src/test/resources/META-INF/plexus/plexus.xml create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrap.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/Tracer.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManager.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducer.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManager.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullTransaction.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatMessageProducer.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatNames.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatTransaction.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducer.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducerManager.java create mode 100644 apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/Transaction.java create mode 100644 apollo-core/src/main/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/AllTests.java delete mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/core/AllTests.java create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrapTest.java create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/TracerTest.java create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManagerTest.java create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/MockMessageProducerManager.java create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManagerTest.java create mode 100644 apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerTest.java create mode 100644 apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface1 create mode 100644 apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface3 create mode 100644 apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface4 create mode 100644 apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface5 create mode 100644 apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager create mode 100644 apollo-core/src/test/resources/log4j2.xml delete mode 100644 apollo-portal/src/test/resources/META-INF/plexus/plexus.xml diff --git a/apollo-adminservice/pom.xml b/apollo-adminservice/pom.xml index cf278036b7d..53f8b4d5e50 100644 --- a/apollo-adminservice/pom.xml +++ b/apollo-adminservice/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 @@ -19,11 +19,6 @@ com.ctrip.framework.apollo apollo-biz - - com.ctrip.framework.apollo - apollo-buildtools - test - org.springframework.cloud @@ -108,11 +103,6 @@ github - - - com.ctrip.framework.apollo - apollo-buildtools - diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/AdminServiceHealthIndicator.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/AdminServiceHealthIndicator.java index eb9a0c512cd..95f03ff3c3a 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/AdminServiceHealthIndicator.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/AdminServiceHealthIndicator.java @@ -1,13 +1,13 @@ package com.ctrip.framework.apollo.adminservice; +import com.ctrip.framework.apollo.biz.service.AppService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.data.domain.PageRequest; import org.springframework.stereotype.Component; -import com.ctrip.framework.apollo.biz.service.AppService; - @Component public class AdminServiceHealthIndicator implements HealthIndicator { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppController.java index 50b4d1fdd0e..0e0787cb76e 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppController.java @@ -1,6 +1,14 @@ package com.ctrip.framework.apollo.adminservice.controller; -import java.util.List; +import com.ctrip.framework.apollo.biz.service.AdminService; +import com.ctrip.framework.apollo.biz.service.AppService; +import com.ctrip.framework.apollo.common.dto.AppDTO; +import com.ctrip.framework.apollo.common.entity.App; +import com.ctrip.framework.apollo.common.exception.BadRequestException; +import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; +import com.ctrip.framework.apollo.common.utils.InputValidator; +import com.ctrip.framework.apollo.core.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; @@ -11,15 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.service.AdminService; -import com.ctrip.framework.apollo.biz.service.AppService; -import com.ctrip.framework.apollo.common.utils.BeanUtils; -import com.ctrip.framework.apollo.common.utils.InputValidator; -import com.ctrip.framework.apollo.common.dto.AppDTO; -import com.ctrip.framework.apollo.common.exception.BadRequestException; -import com.ctrip.framework.apollo.common.exception.NotFoundException; -import com.ctrip.framework.apollo.core.utils.StringUtils; +import java.util.List; @RestController public class AppController { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceController.java index 0e59c286855..d8d91d8a225 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceController.java @@ -1,19 +1,19 @@ package com.ctrip.framework.apollo.adminservice.controller; +import com.ctrip.framework.apollo.biz.service.AppNamespaceService; +import com.ctrip.framework.apollo.common.dto.AppNamespaceDTO; +import com.ctrip.framework.apollo.common.entity.AppNamespace; +import com.ctrip.framework.apollo.common.exception.BadRequestException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; +import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; +import com.ctrip.framework.apollo.core.utils.StringUtils; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.ctrip.framework.apollo.common.entity.AppNamespace; -import com.ctrip.framework.apollo.biz.service.AppNamespaceService; -import com.ctrip.framework.apollo.common.utils.BeanUtils; -import com.ctrip.framework.apollo.common.dto.AppNamespaceDTO; -import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; -import com.ctrip.framework.apollo.common.exception.BadRequestException; -import com.ctrip.framework.apollo.core.utils.StringUtils; - @RestController public class AppNamespaceController { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ClusterController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ClusterController.java index c0f4ff72e88..6325c6e43c6 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ClusterController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ClusterController.java @@ -1,6 +1,12 @@ package com.ctrip.framework.apollo.adminservice.controller; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Cluster; +import com.ctrip.framework.apollo.biz.service.ClusterService; +import com.ctrip.framework.apollo.common.dto.ClusterDTO; +import com.ctrip.framework.apollo.common.exception.BadRequestException; +import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; +import com.ctrip.framework.apollo.common.utils.InputValidator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; @@ -10,13 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.ctrip.framework.apollo.biz.entity.Cluster; -import com.ctrip.framework.apollo.biz.service.ClusterService; -import com.ctrip.framework.apollo.common.utils.BeanUtils; -import com.ctrip.framework.apollo.common.utils.InputValidator; -import com.ctrip.framework.apollo.common.dto.ClusterDTO; -import com.ctrip.framework.apollo.common.exception.BadRequestException; -import com.ctrip.framework.apollo.common.exception.NotFoundException; +import java.util.List; @RestController public class ClusterController { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/CommitController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/CommitController.java index e4c290a78d2..58a3314bb94 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/CommitController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/CommitController.java @@ -2,8 +2,8 @@ import com.ctrip.framework.apollo.biz.entity.Commit; import com.ctrip.framework.apollo.biz.service.CommitService; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.dto.CommitDTO; +import com.ctrip.framework.apollo.common.utils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemController.java index ad61abb7c00..d74e778b48e 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemController.java @@ -1,15 +1,5 @@ package com.ctrip.framework.apollo.adminservice.controller; -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - import com.ctrip.framework.apollo.adminservice.aop.PreAcquireNamespaceLock; import com.ctrip.framework.apollo.biz.entity.Commit; import com.ctrip.framework.apollo.biz.entity.Item; @@ -18,10 +8,20 @@ import com.ctrip.framework.apollo.biz.service.ItemService; import com.ctrip.framework.apollo.biz.service.NamespaceService; import com.ctrip.framework.apollo.biz.utils.ConfigChangeContentBuilder; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.dto.ItemDTO; import com.ctrip.framework.apollo.common.exception.BadRequestException; import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; @RestController public class ItemController { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetController.java index 43ca40a9211..a2a6585f836 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetController.java @@ -1,5 +1,9 @@ package com.ctrip.framework.apollo.adminservice.controller; +import com.ctrip.framework.apollo.adminservice.aop.PreAcquireNamespaceLock; +import com.ctrip.framework.apollo.biz.service.ItemSetService; +import com.ctrip.framework.apollo.common.dto.ItemChangeSets; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -9,10 +13,6 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.ctrip.framework.apollo.adminservice.aop.PreAcquireNamespaceLock; -import com.ctrip.framework.apollo.biz.service.ItemSetService; -import com.ctrip.framework.apollo.common.dto.ItemChangeSets; - @RestController public class ItemSetController { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceController.java index 3debe702117..e7d56490dbb 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceController.java @@ -1,6 +1,12 @@ package com.ctrip.framework.apollo.adminservice.controller; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Namespace; +import com.ctrip.framework.apollo.biz.service.NamespaceService; +import com.ctrip.framework.apollo.common.dto.NamespaceDTO; +import com.ctrip.framework.apollo.common.exception.BadRequestException; +import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; +import com.ctrip.framework.apollo.common.utils.InputValidator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; @@ -10,13 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.ctrip.framework.apollo.biz.entity.Namespace; -import com.ctrip.framework.apollo.biz.service.NamespaceService; -import com.ctrip.framework.apollo.common.utils.BeanUtils; -import com.ctrip.framework.apollo.common.utils.InputValidator; -import com.ctrip.framework.apollo.common.dto.NamespaceDTO; -import com.ctrip.framework.apollo.common.exception.BadRequestException; -import com.ctrip.framework.apollo.common.exception.NotFoundException; +import java.util.List; @RestController public class NamespaceController { diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceLockController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceLockController.java index 15543a6b614..40101dd131a 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceLockController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/NamespaceLockController.java @@ -5,9 +5,9 @@ import com.ctrip.framework.apollo.biz.service.NamespaceLockService; import com.ctrip.framework.apollo.biz.service.NamespaceService; import com.ctrip.framework.apollo.biz.utils.ApolloSwitcher; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.dto.NamespaceLockDTO; import com.ctrip.framework.apollo.common.exception.BadRequestException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; diff --git a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseController.java b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseController.java index 6e14a768b87..3bb32498b24 100644 --- a/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseController.java +++ b/apollo-adminservice/src/main/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseController.java @@ -13,9 +13,9 @@ import com.ctrip.framework.apollo.biz.utils.ReleaseMessageKeyGenerator; import com.ctrip.framework.apollo.common.constants.NamespaceBranchStatus; import com.ctrip.framework.apollo.common.dto.ItemChangeSets; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.dto.ReleaseDTO; import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/AdminServiceTestConfiguration.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/AdminServiceTestConfiguration.java index 40e47407cf3..ad36730a67b 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/AdminServiceTestConfiguration.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/AdminServiceTestConfiguration.java @@ -1,5 +1,6 @@ package com.ctrip.framework.apollo; +import com.ctrip.framework.apollo.adminservice.AdminServiceApplication; import com.ctrip.framework.apollo.common.controller.HttpMessageConverterConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -8,8 +9,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; -import com.ctrip.framework.apollo.adminservice.AdminServiceApplication; - @Configuration @ComponentScan(excludeFilters = {@Filter(type = FilterType.ASSIGNABLE_TYPE, value = { LocalAdminServiceApplication.class, AdminServiceApplication.class, diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AbstractControllerTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AbstractControllerTest.java index bb9a832a41a..92effe44b95 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AbstractControllerTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AbstractControllerTest.java @@ -1,6 +1,6 @@ package com.ctrip.framework.apollo.adminservice.controller; -import javax.annotation.PostConstruct; +import com.ctrip.framework.apollo.AdminServiceTestConfiguration; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -13,7 +13,7 @@ import org.springframework.web.client.DefaultResponseErrorHandler; import org.springframework.web.client.RestTemplate; -import com.ctrip.framework.apollo.AdminServiceTestConfiguration; +import javax.annotation.PostConstruct; @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = AdminServiceTestConfiguration.class) diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppControllerTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppControllerTest.java index fd8e47f1fa6..04aba413676 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppControllerTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppControllerTest.java @@ -1,5 +1,10 @@ package com.ctrip.framework.apollo.adminservice.controller; +import com.ctrip.framework.apollo.biz.repository.AppRepository; +import com.ctrip.framework.apollo.common.dto.AppDTO; +import com.ctrip.framework.apollo.common.entity.App; +import com.ctrip.framework.apollo.common.utils.BeanUtils; + import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -9,11 +14,6 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.web.client.HttpClientErrorException; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.repository.AppRepository; -import com.ctrip.framework.apollo.common.utils.BeanUtils; -import com.ctrip.framework.apollo.common.dto.AppDTO; - public class AppControllerTest extends AbstractControllerTest { @Autowired diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceControllerTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceControllerTest.java index 5395b5ccfbc..554a6f6a81c 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceControllerTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/AppNamespaceControllerTest.java @@ -1,8 +1,8 @@ package com.ctrip.framework.apollo.adminservice.controller; -import com.ctrip.framework.apollo.common.entity.AppNamespace; import com.ctrip.framework.apollo.biz.repository.AppNamespaceRepository; import com.ctrip.framework.apollo.common.dto.AppNamespaceDTO; +import com.ctrip.framework.apollo.common.entity.AppNamespace; import org.junit.Assert; import org.junit.Test; diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerExceptionTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerExceptionTest.java index 81f0421f998..27b420ed33f 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerExceptionTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerExceptionTest.java @@ -1,10 +1,11 @@ package com.ctrip.framework.apollo.adminservice.controller; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.when; - -import java.util.ArrayList; -import java.util.List; +import com.ctrip.framework.apollo.biz.service.AdminService; +import com.ctrip.framework.apollo.biz.service.AppService; +import com.ctrip.framework.apollo.common.dto.AppDTO; +import com.ctrip.framework.apollo.common.entity.App; +import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.exception.ServiceException; import org.junit.Assert; import org.junit.Before; @@ -16,12 +17,11 @@ import org.springframework.data.domain.Pageable; import org.springframework.test.util.ReflectionTestUtils; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.service.AdminService; -import com.ctrip.framework.apollo.biz.service.AppService; -import com.ctrip.framework.apollo.common.dto.AppDTO; -import com.ctrip.framework.apollo.common.exception.NotFoundException; -import com.ctrip.framework.apollo.common.exception.ServiceException; +import java.util.ArrayList; +import java.util.List; + +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; @RunWith(MockitoJUnitRunner.class) public class ControllerExceptionTest { diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerIntegrationExceptionTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerIntegrationExceptionTest.java index 0059195a6a0..c1f41e72b0e 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerIntegrationExceptionTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ControllerIntegrationExceptionTest.java @@ -1,9 +1,11 @@ package com.ctrip.framework.apollo.adminservice.controller; -import static org.mockito.Matchers.any; -import static org.mockito.Mockito.when; +import com.google.gson.Gson; -import java.util.Map; +import com.ctrip.framework.apollo.biz.service.AdminService; +import com.ctrip.framework.apollo.biz.service.AppService; +import com.ctrip.framework.apollo.common.dto.AppDTO; +import com.ctrip.framework.apollo.common.entity.App; import org.junit.Assert; import org.junit.Before; @@ -16,12 +18,10 @@ import org.springframework.test.util.ReflectionTestUtils; import org.springframework.web.client.HttpStatusCodeException; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.service.AdminService; -import com.ctrip.framework.apollo.biz.service.AppService; -import com.ctrip.framework.apollo.common.dto.AppDTO; +import java.util.Map; -import com.google.gson.Gson; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; public class ControllerIntegrationExceptionTest extends AbstractControllerTest { diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetControllerTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetControllerTest.java index de64af868e7..de2a1c17102 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetControllerTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ItemSetControllerTest.java @@ -1,6 +1,12 @@ package com.ctrip.framework.apollo.adminservice.controller; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Item; +import com.ctrip.framework.apollo.biz.repository.ItemRepository; +import com.ctrip.framework.apollo.common.dto.AppDTO; +import com.ctrip.framework.apollo.common.dto.ClusterDTO; +import com.ctrip.framework.apollo.common.dto.ItemChangeSets; +import com.ctrip.framework.apollo.common.dto.ItemDTO; +import com.ctrip.framework.apollo.common.dto.NamespaceDTO; import org.junit.Assert; import org.junit.Test; @@ -12,13 +18,7 @@ import org.springframework.test.context.jdbc.Sql.ExecutionPhase; import org.springframework.web.client.RestTemplate; -import com.ctrip.framework.apollo.biz.entity.Item; -import com.ctrip.framework.apollo.biz.repository.ItemRepository; -import com.ctrip.framework.apollo.common.dto.AppDTO; -import com.ctrip.framework.apollo.common.dto.ClusterDTO; -import com.ctrip.framework.apollo.common.dto.ItemChangeSets; -import com.ctrip.framework.apollo.common.dto.ItemDTO; -import com.ctrip.framework.apollo.common.dto.NamespaceDTO; +import java.util.List; public class ItemSetControllerTest extends AbstractControllerTest { diff --git a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseControllerTest.java b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseControllerTest.java index d43b798fbf2..636392bb60e 100644 --- a/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseControllerTest.java +++ b/apollo-adminservice/src/test/java/com/ctrip/framework/apollo/adminservice/controller/ReleaseControllerTest.java @@ -9,12 +9,12 @@ import com.ctrip.framework.apollo.biz.repository.ReleaseRepository; import com.ctrip.framework.apollo.biz.service.NamespaceService; import com.ctrip.framework.apollo.biz.service.ReleaseService; -import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.common.dto.AppDTO; import com.ctrip.framework.apollo.common.dto.ClusterDTO; import com.ctrip.framework.apollo.common.dto.ItemDTO; import com.ctrip.framework.apollo.common.dto.NamespaceDTO; import com.ctrip.framework.apollo.common.dto.ReleaseDTO; +import com.ctrip.framework.apollo.core.ConfigConsts; import org.junit.Assert; import org.junit.Test; diff --git a/apollo-adminservice/src/test/resources/META-INF/plexus/plexus.xml b/apollo-adminservice/src/test/resources/META-INF/plexus/plexus.xml deleted file mode 100644 index b4530cd3da3..00000000000 --- a/apollo-adminservice/src/test/resources/META-INF/plexus/plexus.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - com.dianping.cat.configuration.ClientConfigManager - com.ctrip.framework.apollo.cat.NullClientConfigManager - - - - com.dianping.cat.message.io.TransportManager - com.ctrip.framework.apollo.cat.NullTransportManager - - - - com.dianping.cat.message.spi.MessageManager - com.ctrip.framework.apollo.cat.NullMessageManager - - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - com.dianping.cat.message.MessageProducer - com.ctrip.framework.apollo.cat.NullMessageProducer - - - - com.dianping.cat.message.spi.MessageManager - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - org.codehaus.plexus.logging.LoggerManager - com.ctrip.framework.apollo.cat.NullLoggerManager - - - - diff --git a/apollo-assembly/pom.xml b/apollo-assembly/pom.xml index c8a0c682192..75bb33a6b8e 100644 --- a/apollo-assembly/pom.xml +++ b/apollo-assembly/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 @@ -27,11 +27,6 @@ com.ctrip.framework.apollo apollo-portal - - - com.ctrip.framework.apollo - apollo-buildtools - com.h2database h2 diff --git a/apollo-assembly/src/main/java/com/ctrip/framework/apollo/assembly/ApolloApplication.java b/apollo-assembly/src/main/java/com/ctrip/framework/apollo/assembly/ApolloApplication.java index 3a8a8053ca6..9b82003bb23 100644 --- a/apollo-assembly/src/main/java/com/ctrip/framework/apollo/assembly/ApolloApplication.java +++ b/apollo-assembly/src/main/java/com/ctrip/framework/apollo/assembly/ApolloApplication.java @@ -1,5 +1,9 @@ package com.ctrip.framework.apollo.assembly; +import com.ctrip.framework.apollo.adminservice.AdminServiceApplication; +import com.ctrip.framework.apollo.configservice.ConfigServiceApplication; +import com.ctrip.framework.apollo.portal.PortalApplication; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.actuate.system.ApplicationPidFileWriter; @@ -10,10 +14,6 @@ import org.springframework.cloud.context.scope.refresh.RefreshScope; import org.springframework.context.ConfigurableApplicationContext; -import com.ctrip.framework.apollo.portal.PortalApplication; -import com.ctrip.framework.apollo.adminservice.AdminServiceApplication; -import com.ctrip.framework.apollo.configservice.ConfigServiceApplication; - @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class ApolloApplication { diff --git a/apollo-assembly/src/main/resources/META-INF/plexus/plexus.xml b/apollo-assembly/src/main/resources/META-INF/plexus/plexus.xml deleted file mode 100644 index b4530cd3da3..00000000000 --- a/apollo-assembly/src/main/resources/META-INF/plexus/plexus.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - com.dianping.cat.configuration.ClientConfigManager - com.ctrip.framework.apollo.cat.NullClientConfigManager - - - - com.dianping.cat.message.io.TransportManager - com.ctrip.framework.apollo.cat.NullTransportManager - - - - com.dianping.cat.message.spi.MessageManager - com.ctrip.framework.apollo.cat.NullMessageManager - - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - com.dianping.cat.message.MessageProducer - com.ctrip.framework.apollo.cat.NullMessageProducer - - - - com.dianping.cat.message.spi.MessageManager - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - org.codehaus.plexus.logging.LoggerManager - com.ctrip.framework.apollo.cat.NullLoggerManager - - - - diff --git a/apollo-assembly/src/test/java/com/ctrip/framework/apollo/assembly/LocalApolloApplication.java b/apollo-assembly/src/test/java/com/ctrip/framework/apollo/assembly/LocalApolloApplication.java index 7a9d9554c6a..1bb1777be0a 100644 --- a/apollo-assembly/src/test/java/com/ctrip/framework/apollo/assembly/LocalApolloApplication.java +++ b/apollo-assembly/src/test/java/com/ctrip/framework/apollo/assembly/LocalApolloApplication.java @@ -1,5 +1,9 @@ package com.ctrip.framework.apollo.assembly; +import com.ctrip.framework.apollo.adminservice.AdminServiceApplication; +import com.ctrip.framework.apollo.configservice.ConfigServiceApplication; +import com.ctrip.framework.apollo.portal.PortalApplication; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.actuate.system.ApplicationPidFileWriter; @@ -10,10 +14,6 @@ import org.springframework.cloud.context.scope.refresh.RefreshScope; import org.springframework.context.ConfigurableApplicationContext; -import com.ctrip.framework.apollo.adminservice.AdminServiceApplication; -import com.ctrip.framework.apollo.configservice.ConfigServiceApplication; -import com.ctrip.framework.apollo.portal.PortalApplication; - @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) public class LocalApolloApplication { diff --git a/apollo-biz/pom.xml b/apollo-biz/pom.xml index e937fc3b042..272ef85bca5 100644 --- a/apollo-biz/pom.xml +++ b/apollo-biz/pom.xml @@ -4,7 +4,7 @@ apollo com.ctrip.framework.apollo - 0.3.0 + 0.4.0-SNAPSHOT 4.0.0 apollo-biz @@ -24,11 +24,6 @@ spring-cloud-starter-eureka - - com.ctrip.framework.apollo - apollo-buildtools - test - com.h2database h2 diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Audit.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Audit.java index 0b1c17edcce..3466d58ef3f 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Audit.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Audit.java @@ -2,13 +2,13 @@ import com.ctrip.framework.apollo.common.entity.BaseEntity; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; - @Entity @Table(name = "Audit") @SQLDelete(sql = "Update Audit set isDeleted = 1 where id = ?") diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Cluster.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Cluster.java index 2d79f8afd4b..3051ed3dec5 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Cluster.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Cluster.java @@ -2,13 +2,13 @@ import com.ctrip.framework.apollo.common.entity.BaseEntity; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; - /** * @author Jason Song(song_s@ctrip.com) */ diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/GrayReleaseRule.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/GrayReleaseRule.java index 390bc93b605..bb1a106d1c9 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/GrayReleaseRule.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/GrayReleaseRule.java @@ -2,7 +2,6 @@ import com.ctrip.framework.apollo.common.entity.BaseEntity; - import org.hibernate.annotations.SQLDelete; import org.hibernate.annotations.Where; diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Item.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Item.java index f5bf8b27596..cbf7d0f0c25 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Item.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Item.java @@ -2,14 +2,14 @@ import com.ctrip.framework.apollo.common.entity.BaseEntity; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Lob; import javax.persistence.Table; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; - @Entity @Table(name = "Item") @SQLDelete(sql = "Update Item set isDeleted = 1 where id = ?") diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Namespace.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Namespace.java index c8f36ffd7e5..08625ec9a1c 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Namespace.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Namespace.java @@ -2,13 +2,13 @@ import com.ctrip.framework.apollo.common.entity.BaseEntity; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; - @Entity @Table(name = "Namespace") @SQLDelete(sql = "Update Namespace set isDeleted = 1 where id = ?") diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Privilege.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Privilege.java index c9669f50bea..eaffe5064e2 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Privilege.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/entity/Privilege.java @@ -2,13 +2,13 @@ import com.ctrip.framework.apollo.common.entity.BaseEntity; +import org.hibernate.annotations.SQLDelete; +import org.hibernate.annotations.Where; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; -import org.hibernate.annotations.SQLDelete; -import org.hibernate.annotations.Where; - @Entity @Table(name = "Privilege") @SQLDelete(sql = "Update Privilege set isDeleted = 1 where id = ?") diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/grayReleaseRule/GrayReleaseRulesHolder.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/grayReleaseRule/GrayReleaseRulesHolder.java index 5da6c03f5ed..7f78ad8d845 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/grayReleaseRule/GrayReleaseRulesHolder.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/grayReleaseRule/GrayReleaseRulesHolder.java @@ -20,9 +20,8 @@ import com.ctrip.framework.apollo.common.utils.GrayReleaseRuleItemTransformer; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -102,12 +101,12 @@ public void handleMessage(ReleaseMessage message, String channel) { } private void periodicScanRules() { - Transaction transaction = Cat.newTransaction("Apollo.GrayReleaseRulesScanner", + Transaction transaction = Tracer.newTransaction("Apollo.GrayReleaseRulesScanner", "scanGrayReleaseRules"); try { loadVersion.incrementAndGet(); scanGrayReleaseRules(); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { transaction.setStatus(ex); logger.error("Scan gray release rule failed", ex); @@ -238,7 +237,7 @@ private GrayReleaseRuleCache transformRuleToRuleCache(GrayReleaseRule grayReleas ruleItems = GrayReleaseRuleItemTransformer.batchTransformFromJSON(grayReleaseRule.getRules()); } catch (Throwable ex) { ruleItems = Sets.newHashSet(); - Cat.logError(ex); + Tracer.logError(ex); logger.error("parse rule for gray release rule {} failed", grayReleaseRule.getId(), ex); } @@ -257,7 +256,7 @@ private void populateDataBaseInterval() { databaseScanInterval = Integer.parseInt(interval); } } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.error("Load apollo gray release rule scan interval from server config failed", ex); } } diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/DatabaseMessageSender.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/DatabaseMessageSender.java index 758ee48336c..9590773e90c 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/DatabaseMessageSender.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/DatabaseMessageSender.java @@ -2,9 +2,8 @@ import com.ctrip.framework.apollo.biz.entity.ReleaseMessage; import com.ctrip.framework.apollo.biz.repository.ReleaseMessageRepository; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,11 +30,11 @@ public void sendMessage(String message, String channel) { return; } - Cat.logEvent("Apollo.AdminService.ReleaseMessage", message); - Transaction transaction = Cat.newTransaction("Apollo.AdminService", "sendMessage"); + Tracer.logEvent("Apollo.AdminService.ReleaseMessage", message); + Transaction transaction = Tracer.newTransaction("Apollo.AdminService", "sendMessage"); try { releaseMessageRepository.save(new ReleaseMessage(message)); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { logger.error("Sending message to database failed", ex); transaction.setStatus(ex); diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/ReleaseMessageScanner.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/ReleaseMessageScanner.java index 39fea52b5a0..3c501609dfb 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/ReleaseMessageScanner.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/message/ReleaseMessageScanner.java @@ -5,9 +5,8 @@ import com.ctrip.framework.apollo.biz.entity.ReleaseMessage; import com.ctrip.framework.apollo.biz.repository.ReleaseMessageRepository; import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,10 +47,10 @@ public void afterPropertiesSet() throws Exception { populateDataBaseInterval(); maxIdScanned = loadLargestMessageId(); executorService.scheduleWithFixedDelay((Runnable) () -> { - Transaction transaction = Cat.newTransaction("Apollo.ReleaseMessageScanner", "scanMessage"); + Transaction transaction = Tracer.newTransaction("Apollo.ReleaseMessageScanner", "scanMessage"); try { scanMessages(); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { transaction.setStatus(ex); logger.error("Scan and send message failed", ex); @@ -119,7 +118,7 @@ private void fireMessageScanned(List messages) { try { listener.handleMessage(message, Topics.APOLLO_RELEASE_TOPIC); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.error("Failed to invoke message listener {}", listener.getClass(), ex); } } @@ -134,7 +133,7 @@ private void populateDataBaseInterval() { databaseScanInterval = Integer.parseInt(interval); } } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.error("Load apollo message scan interval from system property failed", ex); } } diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppNamespaceRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppNamespaceRepository.java index 18f376f1388..5c658f2b6a2 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppNamespaceRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppNamespaceRepository.java @@ -1,9 +1,9 @@ package com.ctrip.framework.apollo.biz.repository; -import org.springframework.data.repository.PagingAndSortingRepository; - import com.ctrip.framework.apollo.common.entity.AppNamespace; +import org.springframework.data.repository.PagingAndSortingRepository; + import java.util.List; import java.util.Set; diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppRepository.java index 482e685cfe5..f665307d514 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AppRepository.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.biz.repository; -import java.util.List; +import com.ctrip.framework.apollo.common.entity.App; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; -import com.ctrip.framework.apollo.common.entity.App; +import java.util.List; public interface AppRepository extends PagingAndSortingRepository { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AuditRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AuditRepository.java index e7782531269..c1a1413bc6f 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AuditRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/AuditRepository.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.biz.repository; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Audit; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; -import com.ctrip.framework.apollo.biz.entity.Audit; +import java.util.List; public interface AuditRepository extends PagingAndSortingRepository { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/GrayReleaseRuleRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/GrayReleaseRuleRepository.java index 2af184ab564..0eb39de0f56 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/GrayReleaseRuleRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/GrayReleaseRuleRepository.java @@ -1,6 +1,6 @@ package com.ctrip.framework.apollo.biz.repository; + import com.ctrip.framework.apollo.biz.entity.GrayReleaseRule; -import com.ctrip.framework.apollo.biz.entity.ReleaseMessage; import org.springframework.data.repository.PagingAndSortingRepository; diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ItemRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ItemRepository.java index 928095f647d..827839dd93b 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ItemRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ItemRepository.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.biz.repository; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Item; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; -import com.ctrip.framework.apollo.biz.entity.Item; +import java.util.List; public interface ItemRepository extends PagingAndSortingRepository { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/NamespaceRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/NamespaceRepository.java index e4f02567cf2..63c579717a8 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/NamespaceRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/NamespaceRepository.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.biz.repository; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Namespace; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; -import com.ctrip.framework.apollo.biz.entity.Namespace; +import java.util.List; public interface NamespaceRepository extends PagingAndSortingRepository { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/PrivilegeRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/PrivilegeRepository.java index a0f373488c8..5d2c9873334 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/PrivilegeRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/PrivilegeRepository.java @@ -1,9 +1,9 @@ package com.ctrip.framework.apollo.biz.repository; -import org.springframework.data.repository.PagingAndSortingRepository; - import com.ctrip.framework.apollo.biz.entity.Privilege; +import org.springframework.data.repository.PagingAndSortingRepository; + import java.util.List; public interface PrivilegeRepository extends PagingAndSortingRepository { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ReleaseRepository.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ReleaseRepository.java index 61d03eabd97..ceb9827aaaf 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ReleaseRepository.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/repository/ReleaseRepository.java @@ -1,7 +1,6 @@ package com.ctrip.framework.apollo.biz.repository; -import java.util.List; -import java.util.Set; +import com.ctrip.framework.apollo.biz.entity.Release; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Modifying; @@ -9,7 +8,8 @@ import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; -import com.ctrip.framework.apollo.biz.entity.Release; +import java.util.List; +import java.util.Set; /** * @author Jason Song(song_s@ctrip.com) diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AdminService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AdminService.java index acd6a74360c..64796a6e615 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AdminService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AdminService.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.biz.service; +import com.ctrip.framework.apollo.common.entity.App; +import com.ctrip.framework.apollo.core.ConfigConsts; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.core.ConfigConsts; - @Service public class AdminService { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppNamespaceService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppNamespaceService.java index 2724a70a03e..0c50ffa47bb 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppNamespaceService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppNamespaceService.java @@ -8,10 +8,10 @@ import com.ctrip.framework.apollo.biz.entity.Namespace; import com.ctrip.framework.apollo.biz.repository.AppNamespaceRepository; import com.ctrip.framework.apollo.common.entity.AppNamespace; +import com.ctrip.framework.apollo.common.exception.ServiceException; import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; -import com.ctrip.framework.apollo.common.exception.ServiceException; import com.ctrip.framework.apollo.core.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppService.java index ad1b4760f84..eb0f57b8a1c 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AppService.java @@ -1,7 +1,10 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.List; -import java.util.Objects; +import com.ctrip.framework.apollo.biz.entity.Audit; +import com.ctrip.framework.apollo.biz.repository.AppRepository; +import com.ctrip.framework.apollo.common.entity.App; +import com.ctrip.framework.apollo.common.exception.ServiceException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -9,11 +12,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.entity.Audit; -import com.ctrip.framework.apollo.biz.repository.AppRepository; -import com.ctrip.framework.apollo.common.utils.BeanUtils; -import com.ctrip.framework.apollo.common.exception.ServiceException; +import java.util.List; +import java.util.Objects; @Service public class AppService { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AuditService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AuditService.java index 3d7cabc87a1..57896324fa9 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AuditService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/AuditService.java @@ -1,13 +1,13 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.List; +import com.ctrip.framework.apollo.biz.entity.Audit; +import com.ctrip.framework.apollo.biz.repository.AuditRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.ctrip.framework.apollo.biz.entity.Audit; -import com.ctrip.framework.apollo.biz.repository.AuditRepository; +import java.util.List; @Service public class AuditService { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ClusterService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ClusterService.java index 5c8ab93132a..d1b9179b84a 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ClusterService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ClusterService.java @@ -1,22 +1,22 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import com.google.common.base.Strings; import com.ctrip.framework.apollo.biz.entity.Audit; import com.ctrip.framework.apollo.biz.entity.Cluster; import com.ctrip.framework.apollo.biz.repository.ClusterRepository; import com.ctrip.framework.apollo.common.exception.BadRequestException; +import com.ctrip.framework.apollo.common.exception.ServiceException; import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.core.ConfigConsts; -import com.ctrip.framework.apollo.common.exception.ServiceException; -import com.google.common.base.Strings; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; @Service public class ClusterService { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/InstanceService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/InstanceService.java index efcb88af1b7..6b30b9a0dc4 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/InstanceService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/InstanceService.java @@ -1,7 +1,6 @@ package com.ctrip.framework.apollo.biz.service; import com.google.common.base.Preconditions; -import com.google.common.collect.Interner; import com.google.common.collect.Lists; import com.ctrip.framework.apollo.biz.entity.Instance; diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemService.java index 3ef68185b1f..e3a8e9d839a 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemService.java @@ -8,14 +8,13 @@ import com.ctrip.framework.apollo.biz.entity.Item; import com.ctrip.framework.apollo.biz.entity.Namespace; import com.ctrip.framework.apollo.biz.repository.ItemRepository; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.exception.BadRequestException; import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; import com.ctrip.framework.apollo.core.utils.StringUtils; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -74,10 +73,10 @@ public ItemService() { @Override public void afterPropertiesSet() throws Exception { executorService.scheduleWithFixedDelay(() -> { - Transaction transaction = Cat.newTransaction("Apollo.ItemServiceLimitUpdater", "updateLimit"); + Transaction transaction = Tracer.newTransaction("Apollo.ItemServiceLimitUpdater", "updateLimit"); try { updateLimits(); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { transaction.setStatus(ex); } finally { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemSetService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemSetService.java index 629ef8c0e11..ce0b2d4a02b 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemSetService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ItemSetService.java @@ -1,19 +1,19 @@ package com.ctrip.framework.apollo.biz.service; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - import com.ctrip.framework.apollo.biz.entity.Audit; import com.ctrip.framework.apollo.biz.entity.Commit; import com.ctrip.framework.apollo.biz.entity.Item; import com.ctrip.framework.apollo.biz.entity.Namespace; import com.ctrip.framework.apollo.biz.utils.ConfigChangeContentBuilder; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.dto.ItemChangeSets; import com.ctrip.framework.apollo.common.dto.ItemDTO; import com.ctrip.framework.apollo.common.exception.NotFoundException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; @Service diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/NamespaceService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/NamespaceService.java index 162b425deaf..01bed607e6b 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/NamespaceService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/NamespaceService.java @@ -1,24 +1,24 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - import com.ctrip.framework.apollo.biz.entity.Audit; import com.ctrip.framework.apollo.biz.entity.Cluster; import com.ctrip.framework.apollo.biz.entity.Namespace; import com.ctrip.framework.apollo.biz.repository.NamespaceRepository; import com.ctrip.framework.apollo.common.constants.NamespaceBranchStatus; import com.ctrip.framework.apollo.common.entity.AppNamespace; -import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.exception.ServiceException; +import com.ctrip.framework.apollo.common.utils.BeanUtils; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; @Service public class NamespaceService { diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ReleaseMessageService.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ReleaseMessageService.java index e9e4288b0cb..2004313d56f 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ReleaseMessageService.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/service/ReleaseMessageService.java @@ -4,7 +4,7 @@ import com.ctrip.framework.apollo.biz.entity.ReleaseMessage; import com.ctrip.framework.apollo.biz.repository.ReleaseMessageRepository; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -13,7 +13,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Map; /** * @author Jason Song(song_s@ctrip.com) @@ -43,7 +42,7 @@ public List findLatestReleaseMessagesGroupByMessages(Collection< releaseMessage.setId((Long) o[1]); releaseMessages.add(releaseMessage); } catch (Exception ex) { - Cat.logError("Parsing LatestReleaseMessagesGroupByMessages failed", ex); + Tracer.logError("Parsing LatestReleaseMessagesGroupByMessages failed", ex); } } return releaseMessages; diff --git a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/utils/ConfigChangeContentBuilder.java b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/utils/ConfigChangeContentBuilder.java index 5080dfd091f..0a7125601f2 100644 --- a/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/utils/ConfigChangeContentBuilder.java +++ b/apollo-biz/src/main/java/com/ctrip/framework/apollo/biz/utils/ConfigChangeContentBuilder.java @@ -6,7 +6,6 @@ import com.ctrip.framework.apollo.biz.entity.Item; import com.ctrip.framework.apollo.core.utils.StringUtils; -import java.util.Collections; import java.util.Date; import java.util.LinkedList; import java.util.List; diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/repository/AppRepositoryTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/repository/AppRepositoryTest.java index b2e550dc316..6d4495e44d4 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/repository/AppRepositoryTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/repository/AppRepositoryTest.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.biz.repository; +import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; +import com.ctrip.framework.apollo.common.entity.App; + import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; -import com.ctrip.framework.apollo.common.entity.App; - public class AppRepositoryTest extends AbstractIntegrationTest{ @Autowired diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTest.java index 50afbc831cb..f7b6cd4d4fa 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTest.java @@ -1,20 +1,20 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.Date; -import java.util.List; - -import org.junit.Assert; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; -import com.ctrip.framework.apollo.common.entity.App; import com.ctrip.framework.apollo.biz.entity.Audit; import com.ctrip.framework.apollo.biz.entity.Cluster; import com.ctrip.framework.apollo.biz.entity.Namespace; import com.ctrip.framework.apollo.biz.repository.AppRepository; -import com.ctrip.framework.apollo.core.ConfigConsts; +import com.ctrip.framework.apollo.common.entity.App; import com.ctrip.framework.apollo.common.exception.ServiceException; +import com.ctrip.framework.apollo.core.ConfigConsts; + +import org.junit.Assert; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Date; +import java.util.List; public class AdminServiceTest extends AbstractIntegrationTest{ diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTransactionTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTransactionTest.java index dd12ca46a8e..76f0587ed32 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTransactionTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/AdminServiceTransactionTest.java @@ -1,6 +1,11 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.Date; +import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; +import com.ctrip.framework.apollo.biz.repository.AppNamespaceRepository; +import com.ctrip.framework.apollo.biz.repository.AppRepository; +import com.ctrip.framework.apollo.biz.repository.ClusterRepository; +import com.ctrip.framework.apollo.biz.repository.NamespaceRepository; +import com.ctrip.framework.apollo.common.entity.App; import org.junit.After; import org.junit.Assert; @@ -11,12 +16,7 @@ import org.springframework.test.context.transaction.AfterTransaction; import org.springframework.test.context.transaction.BeforeTransaction; -import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.repository.AppNamespaceRepository; -import com.ctrip.framework.apollo.biz.repository.AppRepository; -import com.ctrip.framework.apollo.biz.repository.ClusterRepository; -import com.ctrip.framework.apollo.biz.repository.NamespaceRepository; +import java.util.Date; public class AdminServiceTransactionTest extends AbstractIntegrationTest { diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ClusterServiceTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ClusterServiceTest.java index 4bbf1192106..af75738b29a 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ClusterServiceTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ClusterServiceTest.java @@ -1,13 +1,13 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.Date; +import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; +import com.ctrip.framework.apollo.common.entity.App; +import com.ctrip.framework.apollo.common.exception.ServiceException; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.common.exception.ServiceException; +import java.util.Date; public class ClusterServiceTest extends AbstractIntegrationTest { diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/NamespaceBranchServiceTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/NamespaceBranchServiceTest.java index fdbadd642cf..ff1c3891617 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/NamespaceBranchServiceTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/NamespaceBranchServiceTest.java @@ -14,7 +14,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.test.context.jdbc.Sql; -import org.springframework.test.util.AssertionErrors; public class NamespaceBranchServiceTest extends AbstractIntegrationTest { diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/PrivilegeServiceTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/PrivilegeServiceTest.java index 86dce20e563..93132ed2a7b 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/PrivilegeServiceTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/PrivilegeServiceTest.java @@ -1,17 +1,17 @@ package com.ctrip.framework.apollo.biz.service; -import java.util.Date; -import java.util.List; +import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; +import com.ctrip.framework.apollo.biz.entity.Cluster; +import com.ctrip.framework.apollo.biz.entity.Namespace; +import com.ctrip.framework.apollo.biz.entity.Privilege; +import com.ctrip.framework.apollo.common.entity.App; import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import com.ctrip.framework.apollo.biz.AbstractIntegrationTest; -import com.ctrip.framework.apollo.common.entity.App; -import com.ctrip.framework.apollo.biz.entity.Cluster; -import com.ctrip.framework.apollo.biz.entity.Namespace; -import com.ctrip.framework.apollo.biz.entity.Privilege; +import java.util.Date; +import java.util.List; public class PrivilegeServiceTest extends AbstractIntegrationTest { diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ReleaseCreationTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ReleaseCreationTest.java index 180f973bcb0..3a40abcbc42 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ReleaseCreationTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ReleaseCreationTest.java @@ -19,7 +19,6 @@ import org.springframework.test.context.jdbc.Sql; import java.lang.reflect.Type; -import java.util.List; import java.util.Map; public class ReleaseCreationTest extends AbstractIntegrationTest { diff --git a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ServerConfigServiceTest.java b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ServerConfigServiceTest.java index 77446e74661..5bf01526ac0 100644 --- a/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ServerConfigServiceTest.java +++ b/apollo-biz/src/test/java/com/ctrip/framework/apollo/biz/service/ServerConfigServiceTest.java @@ -11,7 +11,8 @@ import org.mockito.Mock; import org.springframework.test.util.ReflectionTestUtils; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; diff --git a/apollo-biz/src/test/resources/META-INF/plexus/plexus.xml b/apollo-biz/src/test/resources/META-INF/plexus/plexus.xml deleted file mode 100644 index b4530cd3da3..00000000000 --- a/apollo-biz/src/test/resources/META-INF/plexus/plexus.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - com.dianping.cat.configuration.ClientConfigManager - com.ctrip.framework.apollo.cat.NullClientConfigManager - - - - com.dianping.cat.message.io.TransportManager - com.ctrip.framework.apollo.cat.NullTransportManager - - - - com.dianping.cat.message.spi.MessageManager - com.ctrip.framework.apollo.cat.NullMessageManager - - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - com.dianping.cat.message.MessageProducer - com.ctrip.framework.apollo.cat.NullMessageProducer - - - - com.dianping.cat.message.spi.MessageManager - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - org.codehaus.plexus.logging.LoggerManager - com.ctrip.framework.apollo.cat.NullLoggerManager - - - - diff --git a/apollo-buildtools/pom.xml b/apollo-buildtools/pom.xml index 86c1c04941d..5a790af9816 100644 --- a/apollo-buildtools/pom.xml +++ b/apollo-buildtools/pom.xml @@ -4,22 +4,12 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 apollo-buildtools Apollo BuildTools - - 1.7 - ${project.artifactId} - - - - com.dianping.cat - cat-client - - diff --git a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullClientConfigManager.java b/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullClientConfigManager.java deleted file mode 100644 index 5eef25a176f..00000000000 --- a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullClientConfigManager.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.ctrip.framework.apollo.cat; - -import java.io.File; -import java.util.List; - -import com.dianping.cat.configuration.ClientConfigManager; -import com.dianping.cat.configuration.client.entity.Domain; -import com.dianping.cat.configuration.client.entity.Server; - -public class NullClientConfigManager implements ClientConfigManager{ - - @Override - public Domain getDomain() { - return null; - } - - @Override - public int getMaxMessageLength() { - return 0; - } - - @Override - public String getServerConfigUrl() { - return null; - } - - @Override - public List getServers() { - return null; - } - - @Override - public int getTaggedTransactionCacheSize() { - return 0; - } - - @Override - public void initialize(File configFile) throws Exception { - - } - - @Override - public boolean isCatEnabled() { - return false; - } - - @Override - public boolean isDumpLocked() { - return false; - } - - @Override - public int getQueueSize() { - return 0; - } - -} diff --git a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullLoggerManager.java b/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullLoggerManager.java deleted file mode 100644 index b4026ba166e..00000000000 --- a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullLoggerManager.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.ctrip.framework.apollo.cat; - -import org.codehaus.plexus.logging.console.ConsoleLoggerManager; - -public class NullLoggerManager extends ConsoleLoggerManager{ - - -} diff --git a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageManager.java b/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageManager.java deleted file mode 100644 index 709d083c010..00000000000 --- a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageManager.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.ctrip.framework.apollo.cat; - -import java.io.IOException; - -import org.codehaus.plexus.logging.LogEnabled; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; -import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; -import org.unidal.lookup.ContainerHolder; -import org.unidal.lookup.annotation.Inject; - -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; -import com.dianping.cat.message.internal.MessageIdFactory; -import com.dianping.cat.message.spi.MessageManager; -import com.dianping.cat.message.spi.MessageTree; - -public class NullMessageManager extends ContainerHolder - implements - MessageManager, - Initializable, - LogEnabled { - - @Inject - private MessageIdFactory m_factory; - - @Override - public void enableLogging(Logger logger) { - - } - - @Override - public void initialize() throws InitializationException { - try { - m_factory.initialize("localhost"); - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void add(Message message) { - - } - - @Override - public void end(Transaction transaction) { - - } - - @Override - public Transaction getPeekTransaction() { - return null; - } - - @Override - public MessageTree getThreadLocalMessageTree() { - return null; - } - - @Override - public boolean hasContext() { - return false; - } - - @Override - public boolean isMessageEnabled() { - return false; - } - - @Override - public boolean isCatEnabled() { - return false; - } - - @Override - public boolean isTraceMode() { - return false; - } - - @Override - public void reset() { - - } - - @Override - public void setTraceMode(boolean traceMode) { - - } - - @Override - public void setup() { - - } - - @Override - public void start(Transaction transaction, boolean forked) { - - } - - @Override - public void bind(String tag, String title) { - - } - - @Override - public String getDomain() { - return null; - } - -} diff --git a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageProducer.java b/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageProducer.java deleted file mode 100644 index 77f30006868..00000000000 --- a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullMessageProducer.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.ctrip.framework.apollo.cat; - -import java.util.Map; - -import com.dianping.cat.message.internal.DefaultMessageProducer; - -public class NullMessageProducer extends DefaultMessageProducer{ - - @Override - public void logError(Throwable cause) { - - } - - @Override - public void logError(String message, Throwable cause) { - - } - - @Override - public void logEvent(String type, String name) { - - } - - @Override - public void logTrace(String type, String name) { - - } - - @Override - public void logEvent(String type, String name, String status, String nameValuePairs) { - - } - - @Override - public void logTags(String scenario, Map indexedTags, - Map storedTags) { - - } - - @Override - public void logTrace(String type, String name, String status, String nameValuePairs) { - - } - - @Override - public void logHeartbeat(String type, String name, String status, String nameValuePairs) { - - } - - @Override - public void logMetric(String name, String status, String nameValuePairs) { - - } - -} diff --git a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullTransportManager.java b/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullTransportManager.java deleted file mode 100644 index 003dbb597c3..00000000000 --- a/apollo-buildtools/src/main/java/com/ctrip/framework/apollo/cat/NullTransportManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.ctrip.framework.apollo.cat; - -import com.dianping.cat.message.io.MessageSender; -import com.dianping.cat.message.io.TransportManager; -import com.dianping.cat.message.spi.MessageTree; - -public class NullTransportManager implements TransportManager { - - private static final MessageSender nullMessageSender = new MessageSender() { - - @Override - public void initialize() { - - } - - @Override - public void send(MessageTree tree) { - - } - - @Override - public void shutdown() { - - } - - }; - - @Override - public MessageSender getSender() { - return nullMessageSender; - } - -} diff --git a/apollo-client/pom.xml b/apollo-client/pom.xml index 80d6ede8a93..f9e50fcfc8e 100644 --- a/apollo-client/pom.xml +++ b/apollo-client/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 @@ -20,16 +20,11 @@ com.ctrip.framework.apollo apollo-core - - com.ctrip.framework.apollo - apollo-buildtools - test - - com.ctrip.framework - framework-foundation + org.unidal.framework + foundation-service @@ -37,27 +32,6 @@ org.slf4j slf4j-api - - org.apache.logging.log4j - log4j-slf4j-impl - - - org.slf4j - slf4j-api - - - org.apache.logging.log4j - log4j-api - - - provided - - - org.apache.logging.log4j - log4j-core - provided - - org.eclipse.jetty @@ -69,13 +43,29 @@ commons-logging test + + org.apache.logging.log4j + log4j-slf4j-impl + test + + + org.apache.logging.log4j + log4j-core + test + org.unidal.framework dal-jdbc 2.4.0 - provided + true + + + com.dianping.cat + cat-client + + diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/ConfigService.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/ConfigService.java index 195b9e6f2a4..7570d627498 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/ConfigService.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/ConfigService.java @@ -6,7 +6,7 @@ import com.ctrip.framework.apollo.internals.ConfigManager; import com.ctrip.framework.apollo.spi.ConfigFactory; import com.ctrip.framework.apollo.spi.ConfigRegistry; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; @@ -51,7 +51,7 @@ private static ConfigManager getManager() { return s_instance.m_container.lookup(ConfigManager.class); } catch (ComponentLookupException ex) { ApolloConfigException exception = new ApolloConfigException("Unable to load ConfigManager!", ex); - Cat.logError(exception); + Tracer.logError(exception); throw exception; } } @@ -61,7 +61,7 @@ private static ConfigRegistry getRegistry() { return s_instance.m_container.lookup(ConfigRegistry.class); } catch (ComponentLookupException ex) { ApolloConfigException exception = new ApolloConfigException("Unable to load ConfigRegistry!", ex); - Cat.logError(exception); + Tracer.logError(exception); throw exception; } } diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfig.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfig.java index ee81d21d4d9..19b24d9834b 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfig.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfig.java @@ -11,10 +11,9 @@ import com.ctrip.framework.apollo.exceptions.ApolloConfigException; import com.ctrip.framework.apollo.model.ConfigChange; import com.ctrip.framework.apollo.model.ConfigChangeEvent; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import com.ctrip.framework.apollo.util.parser.Parsers; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,7 +62,7 @@ public Integer getIntProperty(String key, Integer defaultValue) { return Integer.parseInt(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getIntProperty for %s failed, return default value %d", key, defaultValue), ex)); } @@ -79,7 +78,7 @@ public Long getLongProperty(String key, Long defaultValue) { return Long.parseLong(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getLongProperty for %s failed, return default value %d", key, defaultValue), ex)); } @@ -95,7 +94,7 @@ public Short getShortProperty(String key, Short defaultValue) { return Short.parseShort(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getShortProperty for %s failed, return default value %d", key, defaultValue), ex)); } @@ -111,7 +110,7 @@ public Float getFloatProperty(String key, Float defaultValue) { return Float.parseFloat(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getFloatProperty for %s failed, return default value %f", key, defaultValue), ex)); } @@ -127,7 +126,7 @@ public Double getDoubleProperty(String key, Double defaultValue) { return Double.parseDouble(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getDoubleProperty for %s failed, return default value %f", key, defaultValue), ex)); } @@ -143,7 +142,7 @@ public Byte getByteProperty(String key, Byte defaultValue) { return Byte.parseByte(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getByteProperty for %s failed, return default value %d", key, defaultValue), ex)); } @@ -159,7 +158,7 @@ public Boolean getBooleanProperty(String key, Boolean defaultValue) { return Boolean.parseBoolean(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getBooleanProperty for %s failed, return default value %b", key, defaultValue), ex)); } @@ -175,7 +174,7 @@ public String[] getArrayProperty(String key, String delimiter, String[] defaultV return value.split(delimiter); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getArrayProperty for %s failed, return default value", key), ex)); } return defaultValue; @@ -190,7 +189,7 @@ public > T getEnumProperty(String key, Class enumType, T de return Enum.valueOf(enumType, value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getEnumProperty for %s failed, return default value %s", key, defaultValue), ex)); } @@ -207,7 +206,7 @@ public Date getDateProperty(String key, Date defaultValue) { return Parsers.forDate().parse(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getDateProperty for %s failed, return default value %s", key, defaultValue), ex)); } @@ -224,7 +223,7 @@ public Date getDateProperty(String key, String format, Date defaultValue) { return Parsers.forDate().parse(value, format); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getDateProperty for %s failed, return default value %s", key, defaultValue), ex)); } @@ -241,7 +240,7 @@ public Date getDateProperty(String key, String format, Locale locale, Date defau return Parsers.forDate().parse(value, format, locale); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getDateProperty for %s failed, return default value %s", key, defaultValue), ex)); } @@ -258,7 +257,7 @@ public long getDurationProperty(String key, long defaultValue) { return Parsers.forDuration().parseToMillis(value); } } catch (Throwable ex) { - Cat.logError(new ApolloConfigException( + Tracer.logError(new ApolloConfigException( String.format("getDurationProperty for %s failed, return default value %d", key, defaultValue), ex)); } @@ -272,13 +271,13 @@ protected void fireConfigChange(final ConfigChangeEvent changeEvent) { @Override public void run() { String listenerName = listener.getClass().getName(); - Transaction transaction = Cat.newTransaction("Apollo.ConfigChangeListener", listenerName); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigChangeListener", listenerName); try { listener.onChange(changeEvent); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { transaction.setStatus(ex); - Cat.logError(ex); + Tracer.logError(ex); logger.error("Failed to invoke config change listener {}", listenerName, ex); } finally { transaction.complete(); diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigFile.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigFile.java index ee692c77a8a..5b21165c7f9 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigFile.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigFile.java @@ -1,8 +1,8 @@ package com.ctrip.framework.apollo.internals; import com.ctrip.framework.apollo.ConfigFile; +import com.ctrip.framework.apollo.tracer.Tracer; import com.ctrip.framework.apollo.util.ExceptionUtil; -import com.dianping.cat.Cat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,7 +30,7 @@ private void initialize() { try { m_configProperties.set(m_configRepository.getConfig()); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.warn("Init Apollo Config File failed - namespace: {}, reason: {}.", m_namespace, ExceptionUtil.getDetailMessage(ex)); } finally { @@ -55,7 +55,7 @@ public synchronized void onRepositoryChange(String namespace, Properties newProp m_configProperties.set(newConfigProperties); - Cat.logEvent("Apollo.Client.ConfigChanges", m_namespace); + Tracer.logEvent("Apollo.Client.ConfigChanges", m_namespace); } } diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigRepository.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigRepository.java index 39ca1e13af3..0c51f583b60 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigRepository.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/AbstractConfigRepository.java @@ -2,8 +2,8 @@ import com.google.common.collect.Lists; +import com.ctrip.framework.apollo.tracer.Tracer; import com.ctrip.framework.apollo.util.ExceptionUtil; -import com.dianping.cat.Cat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,7 +23,7 @@ protected boolean trySync() { sync(); return true; } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger .warn("Sync config failed, will retry. Repository {}, reason: {}", this.getClass(), ExceptionUtil .getDetailMessage(ex)); @@ -50,7 +50,7 @@ protected void fireRepositoryChange(String namespace, Properties newProperties) try { listener.onRepositoryChange(namespace, newProperties); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.error("Failed to invoke repository change listener {}", listener.getClass(), ex); } } diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/ConfigServiceLocator.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/ConfigServiceLocator.java index 62704934b79..eb46a507cd2 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/ConfigServiceLocator.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/ConfigServiceLocator.java @@ -11,13 +11,12 @@ import com.ctrip.framework.apollo.core.dto.ServiceDTO; import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; import com.ctrip.framework.apollo.exceptions.ApolloConfigException; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import com.ctrip.framework.apollo.util.ConfigUtil; import com.ctrip.framework.apollo.util.http.HttpRequest; import com.ctrip.framework.apollo.util.http.HttpResponse; import com.ctrip.framework.apollo.util.http.HttpUtil; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; @@ -94,7 +93,7 @@ private void schedulePeriodicRefresh() { @Override public void run() { logger.debug("refresh config services"); - Cat.logEvent("Apollo.MetaService", "periodicRefresh"); + Tracer.logEvent("Apollo.MetaService", "periodicRefresh"); tryUpdateConfigServices(); } }, m_configUtil.getRefreshInterval(), m_configUtil.getRefreshInterval(), @@ -109,11 +108,11 @@ private synchronized void updateConfigServices() { Throwable exception = null; for (int i = 0; i < maxRetries; i++) { - Transaction transaction = Cat.newTransaction("Apollo.MetaService", "getConfigService"); + Transaction transaction = Tracer.newTransaction("Apollo.MetaService", "getConfigService"); transaction.addData("Url", url); try { HttpResponse> response = m_httpUtil.doGet(request, m_responseType); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); List services = response.getBody(); if (services == null || services.isEmpty()) { logConfigServiceToCat("Empty response!"); @@ -123,7 +122,7 @@ private synchronized void updateConfigServices() { logConfigServicesToCat(services); return; } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); transaction.setStatus(ex); exception = ex; } finally { @@ -162,6 +161,6 @@ private void logConfigServicesToCat(List serviceDtos) { } private void logConfigServiceToCat(String serviceUrl) { - Cat.logEvent("Apollo.Config.Services", serviceUrl); + Tracer.logEvent("Apollo.Config.Services", serviceUrl); } } diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/DefaultConfig.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/DefaultConfig.java index a1998b66005..0867a045d0d 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/DefaultConfig.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/DefaultConfig.java @@ -6,8 +6,8 @@ import com.ctrip.framework.apollo.enums.PropertyChangeType; import com.ctrip.framework.apollo.model.ConfigChange; import com.ctrip.framework.apollo.model.ConfigChangeEvent; +import com.ctrip.framework.apollo.tracer.Tracer; import com.ctrip.framework.apollo.util.ExceptionUtil; -import com.dianping.cat.Cat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,7 +51,7 @@ private void initialize() { try { m_configProperties.set(m_configRepository.getConfig()); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.warn("Init Apollo Local Config failed - namespace: {}, reason: {}.", m_namespace, ExceptionUtil.getDetailMessage(ex)); } finally { @@ -119,7 +119,7 @@ public synchronized void onRepositoryChange(String namespace, Properties newProp this.fireConfigChange(new ConfigChangeEvent(m_namespace, actualChanges)); - Cat.logEvent("Apollo.Client.ConfigChanges", m_namespace); + Tracer.logEvent("Apollo.Client.ConfigChanges", m_namespace); } private Map updateAndCalcConfigChanges(Properties newConfigProperties) { @@ -185,7 +185,7 @@ private Properties loadFromResource(String namespace) { try { properties.load(in); } catch (IOException ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.error("Load resource config for namespace {} failed", namespace, ex); } finally { try { diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java index bbe0b5a57be..4e095f83d04 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/LocalFileConfigRepository.java @@ -6,11 +6,10 @@ import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.utils.ClassLoaderUtil; import com.ctrip.framework.apollo.exceptions.ApolloConfigException; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import com.ctrip.framework.apollo.util.ConfigUtil; import com.ctrip.framework.apollo.util.ExceptionUtil; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; @@ -58,7 +57,7 @@ public LocalFileConfigRepository(String namespace, ConfigRepository upstream) { try { m_configUtil = m_container.lookup(ConfigUtil.class); } catch (ComponentLookupException ex) { - Cat.logError(ex); + Tracer.logError(ex); throw new ApolloConfigException("Unable to load component!", ex); } this.setLocalCacheDir(findLocalCacheDir(), false); @@ -135,14 +134,14 @@ protected void sync() { return; } - Transaction transaction = Cat.newTransaction("Apollo.ConfigService", "syncLocalConfig"); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigService", "syncLocalConfig"); Throwable exception = null; try { transaction.addData("Basedir", m_baseDir.getAbsolutePath()); m_fileProperties = this.loadFromLocalCacheFile(m_baseDir, m_namespace); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); transaction.setStatus(ex); exception = ex; //ignore @@ -165,7 +164,7 @@ private boolean trySyncFromUpstream() { updateFileProperties(properties); return true; } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger .warn("Sync config from upstream repository {} failed, reason: {}", m_upstream.getClass(), ExceptionUtil.getDetailMessage(ex)); @@ -197,7 +196,7 @@ private Properties loadFromLocalCacheFile(File baseDir, String namespace) throws properties.load(in); logger.debug("Loading local config file {} successfully!", file.getAbsolutePath()); } catch (IOException ex) { - Cat.logError(ex); + Tracer.logError(ex); throw new ApolloConfigException(String .format("Loading config from local cache file %s failed", file.getAbsolutePath()), ex); } finally { @@ -225,17 +224,17 @@ void persistLocalCacheFile(File baseDir, String namespace) { OutputStream out = null; - Transaction transaction = Cat.newTransaction("Apollo.ConfigService", "persistLocalConfigFile"); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigService", "persistLocalConfigFile"); transaction.addData("LocalConfigFile", file.getAbsolutePath()); try { out = new FileOutputStream(file); m_fileProperties.store(out, "Persisted by DefaultConfig"); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (IOException ex) { ApolloConfigException exception = new ApolloConfigException( String.format("Persist local cache file %s failed", file.getAbsolutePath()), ex); - Cat.logError(exception); + Tracer.logError(exception); transaction.setStatus(exception); logger.warn("Persist local cache file {} failed, reason: {}.", file.getAbsolutePath(), ExceptionUtil.getDetailMessage(ex)); @@ -255,17 +254,17 @@ private void checkLocalConfigCacheDir(File baseDir) { if (baseDir.exists()) { return; } - Transaction transaction = Cat.newTransaction("Apollo.ConfigService", "createLocalConfigDir"); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigService", "createLocalConfigDir"); transaction.addData("BaseDir", baseDir.getAbsolutePath()); try { Files.createDirectory(baseDir.toPath()); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (IOException ex) { ApolloConfigException exception = new ApolloConfigException( String.format("Create local config directory %s failed", baseDir.getAbsolutePath()), ex); - Cat.logError(exception); + Tracer.logError(exception); transaction.setStatus(exception); logger.warn( "Unable to create local config cache directory {}, reason: {}. Will not able to cache config file.", diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/PropertiesConfigFile.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/PropertiesConfigFile.java index 0b4694f3084..d3fcc20070b 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/PropertiesConfigFile.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/PropertiesConfigFile.java @@ -3,8 +3,8 @@ import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; import com.ctrip.framework.apollo.core.utils.PropertiesUtil; import com.ctrip.framework.apollo.exceptions.ApolloConfigException; +import com.ctrip.framework.apollo.tracer.Tracer; import com.ctrip.framework.apollo.util.ExceptionUtil; -import com.dianping.cat.Cat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +45,7 @@ String doGetContent() { new ApolloConfigException(String .format("Parse properties file content failed for namespace: %s, cause: %s", m_namespace, ExceptionUtil.getDetailMessage(ex))); - Cat.logError(exception); + Tracer.logError(exception); throw exception; } } diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigLongPollService.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigLongPollService.java index 0aa8be3ed33..d6ccbb151c1 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigLongPollService.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigLongPollService.java @@ -21,14 +21,13 @@ import com.ctrip.framework.apollo.core.schedule.SchedulePolicy; import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; import com.ctrip.framework.apollo.exceptions.ApolloConfigException; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import com.ctrip.framework.apollo.util.ConfigUtil; import com.ctrip.framework.apollo.util.ExceptionUtil; import com.ctrip.framework.apollo.util.http.HttpRequest; import com.ctrip.framework.apollo.util.http.HttpResponse; import com.ctrip.framework.apollo.util.http.HttpUtil; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException; @@ -123,7 +122,7 @@ public void run() { m_longPollStarted.set(false); ApolloConfigException exception = new ApolloConfigException("Schedule long polling refresh failed", ex); - Cat.logError(exception); + Tracer.logError(exception); logger.warn(ExceptionUtil.getDetailMessage(exception)); } } @@ -143,7 +142,7 @@ private void doLongPollingRefresh(String appId, String cluster, String dataCente } catch (InterruptedException e) { } } - Transaction transaction = Cat.newTransaction("Apollo.ConfigService", "pollNotification"); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigService", "pollNotification"); try { if (lastServiceDto == null) { List configServices = getConfigServices(); @@ -178,10 +177,10 @@ private void doLongPollingRefresh(String appId, String cluster, String dataCente m_longPollFailSchedulePolicyInSecond.success(); transaction.addData("StatusCode", response.getStatusCode()); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { lastServiceDto = null; - Cat.logError(ex); + Tracer.logError(ex); transaction.setStatus(ex); long sleepTimeInSecond = m_longPollFailSchedulePolicyInSecond.fail(); logger.warn( @@ -215,7 +214,7 @@ private void notify(ServiceDTO lastServiceDto, List no try { remoteConfigRepository.onLongPollNotified(lastServiceDto); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); } } } diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigRepository.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigRepository.java index f9d4ddaf59d..63b78e3ff71 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigRepository.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigRepository.java @@ -15,13 +15,12 @@ import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; import com.ctrip.framework.apollo.exceptions.ApolloConfigException; import com.ctrip.framework.apollo.exceptions.ApolloConfigStatusCodeException; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import com.ctrip.framework.apollo.util.ConfigUtil; import com.ctrip.framework.apollo.util.http.HttpRequest; import com.ctrip.framework.apollo.util.http.HttpResponse; import com.ctrip.framework.apollo.util.http.HttpUtil; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; @@ -78,7 +77,7 @@ public RemoteConfigRepository(String namespace) { m_serviceLocator = m_container.lookup(ConfigServiceLocator.class); remoteConfigLongPollService = m_container.lookup(RemoteConfigLongPollService.class); } catch (ComponentLookupException ex) { - Cat.logError(ex); + Tracer.logError(ex); throw new ApolloConfigException("Unable to load component!", ex); } m_longPollServiceDto = new AtomicReference<>(); @@ -108,10 +107,10 @@ private void schedulePeriodicRefresh() { new Runnable() { @Override public void run() { - Cat.logEvent("Apollo.ConfigService", String.format("periodicRefresh: %s", m_namespace)); + Tracer.logEvent("Apollo.ConfigService", String.format("periodicRefresh: %s", m_namespace)); logger.debug("refresh config for namespace: {}", m_namespace); trySync(); - Cat.logEvent("Apollo.Client.Version", Apollo.VERSION); + Tracer.logEvent("Apollo.Client.Version", Apollo.VERSION); } }, m_configUtil.getRefreshInterval(), m_configUtil.getRefreshInterval(), m_configUtil.getRefreshIntervalTimeUnit()); @@ -119,7 +118,7 @@ public void run() { @Override protected synchronized void sync() { - Transaction transaction = Cat.newTransaction("Apollo.ConfigService", "syncRemoteConfig"); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigService", "syncRemoteConfig"); try { ApolloConfig previous = m_configCache.get(); @@ -133,11 +132,11 @@ protected synchronized void sync() { } if (current != null) { - Cat.logEvent(String.format("Apollo.Client.Configs.%s", current.getNamespaceName()), + Tracer.logEvent(String.format("Apollo.Client.Configs.%s", current.getNamespaceName()), current.getReleaseKey()); } - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); } catch (Throwable ex) { transaction.setStatus(ex); throw ex; @@ -163,7 +162,7 @@ private ApolloConfig loadApolloConfig() { String appId = m_configUtil.getAppId(); String cluster = m_configUtil.getCluster(); String dataCenter = m_configUtil.getDataCenter(); - Cat.logEvent("Apollo.Client.ConfigMeta", STRING_JOINER.join(appId, cluster, m_namespace)); + Tracer.logEvent("Apollo.Client.ConfigMeta", STRING_JOINER.join(appId, cluster, m_namespace)); int maxRetries = 2; Throwable exception = null; @@ -184,14 +183,14 @@ private ApolloConfig loadApolloConfig() { logger.debug("Loading config from {}", url); HttpRequest request = new HttpRequest(url); - Transaction transaction = Cat.newTransaction("Apollo.ConfigService", "queryConfig"); + Transaction transaction = Tracer.newTransaction("Apollo.ConfigService", "queryConfig"); transaction.addData("Url", url); try { HttpResponse response = m_httpUtil.doGet(request, ApolloConfig.class); transaction.addData("StatusCode", response.getStatusCode()); - transaction.setStatus(Message.SUCCESS); + transaction.setStatus(Transaction.SUCCESS); if (response.getStatusCode() == 304) { logger.debug("Config server responds with 304 HTTP status code."); @@ -214,11 +213,11 @@ private ApolloConfig loadApolloConfig() { statusCodeException = new ApolloConfigStatusCodeException(ex.getStatusCode(), message); } - Cat.logError(statusCodeException); + Tracer.logError(statusCodeException); transaction.setStatus(statusCodeException); exception = statusCodeException; } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); transaction.setStatus(ex); exception = ex; } finally { diff --git a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/SimpleConfig.java b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/SimpleConfig.java index 73e293b7cdd..5f6de3c33bc 100644 --- a/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/SimpleConfig.java +++ b/apollo-client/src/main/java/com/ctrip/framework/apollo/internals/SimpleConfig.java @@ -5,8 +5,8 @@ import com.ctrip.framework.apollo.model.ConfigChange; import com.ctrip.framework.apollo.model.ConfigChangeEvent; +import com.ctrip.framework.apollo.tracer.Tracer; import com.ctrip.framework.apollo.util.ExceptionUtil; -import com.dianping.cat.Cat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,7 +42,7 @@ private void initialize() { try { m_configProperties = m_configRepository.getConfig(); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); logger.warn("Init Apollo Simple Config failed - namespace: {}, reason: {}", m_namespace, ExceptionUtil.getDetailMessage(ex)); } finally { @@ -93,6 +93,6 @@ public String apply(ConfigChange input) { this.fireConfigChange(new ConfigChangeEvent(m_namespace, changeMap)); - Cat.logEvent("Apollo.Client.ConfigChanges", m_namespace); + Tracer.logEvent("Apollo.Client.ConfigChanges", m_namespace); } } diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/BaseIntegrationTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/BaseIntegrationTest.java index 0b007b4c7b3..db8d29341d3 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/BaseIntegrationTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/BaseIntegrationTest.java @@ -5,8 +5,8 @@ import com.google.common.io.Files; import com.google.gson.Gson; -import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.core.dto.ServiceDTO; +import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.core.utils.ClassLoaderUtil; import com.ctrip.framework.apollo.util.ConfigUtil; diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/DefaultConfigManagerTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/DefaultConfigManagerTest.java index 6b119a14638..5321aea6e08 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/DefaultConfigManagerTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/DefaultConfigManagerTest.java @@ -5,7 +5,6 @@ import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; import com.ctrip.framework.apollo.spi.ConfigFactory; import com.ctrip.framework.apollo.spi.ConfigFactoryManager; -import com.ctrip.framework.apollo.spi.ConfigRegistry; import org.junit.Before; import org.junit.Test; diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/SimpleConfigTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/SimpleConfigTest.java index e190877352d..c8a8b5537bf 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/SimpleConfigTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/SimpleConfigTest.java @@ -12,7 +12,6 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; @@ -20,9 +19,6 @@ import java.util.concurrent.TimeUnit; import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/XmlConfigFileTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/XmlConfigFileTest.java index cbb062e35ab..a60791fe430 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/XmlConfigFileTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/internals/XmlConfigFileTest.java @@ -11,7 +11,10 @@ import java.util.Properties; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; /** diff --git a/apollo-client/src/test/java/com/ctrip/framework/apollo/util/ExceptionUtilTest.java b/apollo-client/src/test/java/com/ctrip/framework/apollo/util/ExceptionUtilTest.java index c8f00ec52be..79e7635fc31 100644 --- a/apollo-client/src/test/java/com/ctrip/framework/apollo/util/ExceptionUtilTest.java +++ b/apollo-client/src/test/java/com/ctrip/framework/apollo/util/ExceptionUtilTest.java @@ -2,7 +2,7 @@ import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; /** * @author Jason Song(song_s@ctrip.com) diff --git a/apollo-client/src/test/resources/META-INF/plexus/plexus.xml b/apollo-client/src/test/resources/META-INF/plexus/plexus.xml deleted file mode 100644 index b4530cd3da3..00000000000 --- a/apollo-client/src/test/resources/META-INF/plexus/plexus.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - com.dianping.cat.configuration.ClientConfigManager - com.ctrip.framework.apollo.cat.NullClientConfigManager - - - - com.dianping.cat.message.io.TransportManager - com.ctrip.framework.apollo.cat.NullTransportManager - - - - com.dianping.cat.message.spi.MessageManager - com.ctrip.framework.apollo.cat.NullMessageManager - - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - com.dianping.cat.message.MessageProducer - com.ctrip.framework.apollo.cat.NullMessageProducer - - - - com.dianping.cat.message.spi.MessageManager - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - org.codehaus.plexus.logging.LoggerManager - com.ctrip.framework.apollo.cat.NullLoggerManager - - - - diff --git a/apollo-common/pom.xml b/apollo-common/pom.xml index 0b37083bdc2..94bda666a68 100644 --- a/apollo-common/pom.xml +++ b/apollo-common/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/aop/RepositoryAspect.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/aop/RepositoryAspect.java index 64abea59604..b74daaef64a 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/aop/RepositoryAspect.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/aop/RepositoryAspect.java @@ -1,8 +1,7 @@ package com.ctrip.framework.apollo.common.aop; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; @@ -23,10 +22,10 @@ public Object invokeWithCatTransaction(ProceedingJoinPoint joinPoint) throws Thr String name = joinPoint.getSignature().getDeclaringType().getSimpleName() + "." + joinPoint.getSignature() .getName(); - Transaction catTransaction = Cat.newTransaction("SQL", name); + Transaction catTransaction = Tracer.newTransaction("SQL", name); try { Object result = joinPoint.proceed(); - catTransaction.setStatus(Message.SUCCESS); + catTransaction.setStatus(Transaction.SUCCESS); return result; } catch (Throwable ex) { catTransaction.setStatus(ex); diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/constants/GsonType.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/constants/GsonType.java index b87f4a660c3..5175c977ffb 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/constants/GsonType.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/constants/GsonType.java @@ -2,11 +2,8 @@ import com.google.gson.reflect.TypeToken; -import com.ctrip.framework.apollo.common.dto.GrayReleaseRuleItemDTO; - import java.lang.reflect.Type; import java.util.Map; -import java.util.Set; public interface GsonType { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/ApolloInfoController.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/ApolloInfoController.java index 8811539e5fb..8149c587ad1 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/ApolloInfoController.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/ApolloInfoController.java @@ -1,11 +1,11 @@ package com.ctrip.framework.apollo.common.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - import com.ctrip.framework.apollo.Apollo; import com.ctrip.framework.foundation.Foundation; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + @RestController @RequestMapping(path = "/apollo") public class ApolloInfoController { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CatConfig.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CatConfig.java deleted file mode 100644 index 9caf81b8f94..00000000000 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CatConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.ctrip.framework.apollo.common.controller; - -import javax.servlet.DispatcherType; - -import org.springframework.boot.context.embedded.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.Ordered; - -import com.dianping.cat.servlet.CatFilter; - -@Configuration -public class CatConfig { - - @Bean - public FilterRegistrationBean catFilter() { - FilterRegistrationBean bean = new FilterRegistrationBean(); - bean.setFilter(new CatFilter()); - bean.setName("cat-filter"); - bean.addUrlPatterns("/*"); - bean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.FORWARD); - bean.setOrder(Ordered.HIGHEST_PRECEDENCE); - return bean; - } - -} diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CharacterEncodingFilterConfiguration.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CharacterEncodingFilterConfiguration.java index 2f9882795a1..cf0dc0db628 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CharacterEncodingFilterConfiguration.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/CharacterEncodingFilterConfiguration.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.common.controller; -import javax.servlet.DispatcherType; - import org.springframework.boot.context.embedded.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.filter.CharacterEncodingFilter; +import javax.servlet.DispatcherType; + @Configuration public class CharacterEncodingFilterConfiguration { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/GlobalDefaultExceptionHandler.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/GlobalDefaultExceptionHandler.java index bab947ed2fc..9e0e0e162fb 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/GlobalDefaultExceptionHandler.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/GlobalDefaultExceptionHandler.java @@ -4,7 +4,7 @@ import com.google.gson.reflect.TypeToken; import com.ctrip.framework.apollo.common.exception.AbstractApolloHttpException; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,7 +82,7 @@ private ResponseEntity> handleError(HttpServletRequest reque String message = ex.getMessage(); logger.error(message, ex); - Cat.logError(ex); + Tracer.logError(ex); Map errorAttributes = new HashMap<>(); diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/WebMvcConfig.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/WebMvcConfig.java index 92e707e7221..0520b882276 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/WebMvcConfig.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/controller/WebMvcConfig.java @@ -1,7 +1,5 @@ package com.ctrip.framework.apollo.common.controller; -import java.util.List; - import org.springframework.context.annotation.Configuration; import org.springframework.data.domain.PageRequest; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; @@ -10,6 +8,8 @@ import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import java.util.List; + @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/customize/LoggingCustomizer.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/customize/LoggingCustomizer.java index d54da03f178..2b2dcc7f1eb 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/customize/LoggingCustomizer.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/customize/LoggingCustomizer.java @@ -2,8 +2,8 @@ import com.google.common.base.Strings; +import com.ctrip.framework.apollo.tracer.Tracer; import com.ctrip.framework.foundation.Foundation; -import com.dianping.cat.Cat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -11,7 +11,6 @@ import org.springframework.util.ClassUtils; import org.springframework.util.ReflectionUtils; - import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.core.Appender; @@ -36,7 +35,7 @@ public void afterPropertiesSet() { tryConfigCLogging(); } catch (Throwable ex) { logger.error("Config CLogging failed", ex); - Cat.logError(ex); + Tracer.logError(ex); } } diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanCondition.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanCondition.java index 85d807ce967..ed49d388025 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanCondition.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanCondition.java @@ -1,11 +1,11 @@ package com.ctrip.framework.apollo.common.datasource; +import com.ctrip.framework.apollo.core.utils.StringUtils; + import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; -import com.ctrip.framework.apollo.core.utils.StringUtils; - public class TitanCondition implements Condition { @Override diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanEntityManager.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanEntityManager.java index 0d4dce972e5..22ddbed8848 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanEntityManager.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanEntityManager.java @@ -1,15 +1,15 @@ package com.ctrip.framework.apollo.common.datasource; -import java.lang.reflect.Method; - -import javax.sql.DataSource; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.stereotype.Component; -import com.dianping.cat.Cat; +import java.lang.reflect.Method; + +import javax.sql.DataSource; @Component @Conditional(TitanCondition.class) @@ -26,7 +26,7 @@ public DataSource datasource() throws Exception { Method method = clazz.getMethod("createDataSource", new Class[] {String.class, String.class}); DataSource ds = ((DataSource) method.invoke(obj, new Object[] {settings.getTitanDbname(), settings.getTitanUrl()})); - Cat.logEvent("Apollo.Datasource.Titan", settings.getTitanDbname()); + Tracer.logEvent("Apollo.Datasource.Titan", settings.getTitanDbname()); return ds; } diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanSettings.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanSettings.java index c4ab1c18918..d0702cbc30f 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanSettings.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/datasource/TitanSettings.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.common.datasource; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.core.enums.EnvUtils; import com.ctrip.framework.foundation.Foundation; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + @Component public class TitanSettings { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/GrayReleaseRuleItemDTO.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/GrayReleaseRuleItemDTO.java index 8d13459df28..cbccede849a 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/GrayReleaseRuleItemDTO.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/dto/GrayReleaseRuleItemDTO.java @@ -1,10 +1,7 @@ package com.ctrip.framework.apollo.common.dto; import com.google.common.collect.Sets; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import java.lang.reflect.Type; import java.util.Set; import static com.google.common.base.MoreObjects.toStringHelper; diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/BaseEntity.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/BaseEntity.java index 6c0bf6c2114..bbbc621e203 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/BaseEntity.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/entity/BaseEntity.java @@ -1,5 +1,8 @@ package com.ctrip.framework.apollo.common.entity; +import com.google.common.base.MoreObjects; +import com.google.common.base.MoreObjects.ToStringHelper; + import java.util.Date; import javax.persistence.Column; @@ -12,9 +15,6 @@ import javax.persistence.PreRemove; import javax.persistence.PreUpdate; -import com.google.common.base.MoreObjects; -import com.google.common.base.MoreObjects.ToStringHelper; - @MappedSuperclass @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class BaseEntity { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/BeanUtils.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/BeanUtils.java index c2598a84891..23e570ddb93 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/BeanUtils.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/BeanUtils.java @@ -2,6 +2,10 @@ import com.ctrip.framework.apollo.common.exception.BeanUtilsException; +import org.springframework.beans.BeanWrapper; +import org.springframework.beans.BeanWrapperImpl; +import org.springframework.util.CollectionUtils; + import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.util.ArrayList; @@ -12,10 +16,6 @@ import java.util.Map; import java.util.Set; -import org.springframework.beans.BeanWrapper; -import org.springframework.beans.BeanWrapperImpl; -import org.springframework.util.CollectionUtils; - public class BeanUtils { diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/ExceptionUtils.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/ExceptionUtils.java index 68c283397c9..adcae68af2c 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/ExceptionUtils.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/ExceptionUtils.java @@ -1,14 +1,14 @@ package com.ctrip.framework.apollo.common.utils; -import java.lang.reflect.Type; -import java.util.Map; - -import org.springframework.web.client.HttpStatusCodeException; - import com.google.common.base.MoreObjects; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; +import org.springframework.web.client.HttpStatusCodeException; + +import java.lang.reflect.Type; +import java.util.Map; + public final class ExceptionUtils { private static Gson gson = new Gson(); diff --git a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/UniqueKeyGenerator.java b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/UniqueKeyGenerator.java index 4b6c7e8b389..368db5f0420 100644 --- a/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/UniqueKeyGenerator.java +++ b/apollo-common/src/main/java/com/ctrip/framework/apollo/common/utils/UniqueKeyGenerator.java @@ -2,7 +2,6 @@ import com.google.common.base.Joiner; -import com.ctrip.framework.apollo.common.dto.ClusterDTO; import com.ctrip.framework.apollo.core.utils.ByteUtil; import com.ctrip.framework.apollo.core.utils.MachineUtil; diff --git a/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/InputValidatorTest.java b/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/InputValidatorTest.java index 408e804bcdb..8e6c40e968e 100644 --- a/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/InputValidatorTest.java +++ b/apollo-common/src/test/java/com/ctrip/framework/apollo/common/utils/InputValidatorTest.java @@ -2,7 +2,8 @@ import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * @author Jason Song(song_s@ctrip.com) diff --git a/apollo-configservice/pom.xml b/apollo-configservice/pom.xml index 72d2983b7f5..0cac03ae0c7 100644 --- a/apollo-configservice/pom.xml +++ b/apollo-configservice/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 @@ -19,11 +19,6 @@ com.ctrip.framework.apollo apollo-biz - - com.ctrip.framework.apollo - apollo-buildtools - test - @@ -109,11 +104,6 @@ github - - - com.ctrip.framework.apollo - apollo-buildtools - diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java index 9f1ca285ef3..35c6549db47 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigController.java @@ -18,7 +18,7 @@ import com.ctrip.framework.apollo.configservice.util.NamespaceUtil; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.dto.ApolloConfig; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; @@ -107,7 +107,7 @@ public ApolloConfig queryConfig(@PathVariable String appId, @PathVariable String String.format( "Could not load configurations with appId: %s, clusterName: %s, namespace: %s", appId, clusterName, originalNamespace)); - Cat.logEvent("Apollo.Config.NotFound", + Tracer.logEvent("Apollo.Config.NotFound", assembleKey(appId, clusterName, originalNamespace, dataCenter)); return null; } @@ -120,7 +120,7 @@ public ApolloConfig queryConfig(@PathVariable String appId, @PathVariable String if (mergedReleaseKey.equals(clientSideReleaseKey)) { // Client side configuration is the same with server side, return 304 response.setStatus(HttpServletResponse.SC_NOT_MODIFIED); - Cat.logEvent("Apollo.Config.NotModified", + Tracer.logEvent("Apollo.Config.NotModified", assembleKey(appId, appClusterNameLoaded, originalNamespace, dataCenter)); return null; } @@ -129,7 +129,7 @@ public ApolloConfig queryConfig(@PathVariable String appId, @PathVariable String mergedReleaseKey); apolloConfig.setConfigurations(mergeReleaseConfigurations(releases)); - Cat.logEvent("Apollo.Config.Found", assembleKey(appId, appClusterNameLoaded, + Tracer.logEvent("Apollo.Config.Found", assembleKey(appId, appClusterNameLoaded, originalNamespace, dataCenter)); return apolloConfig; } diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileController.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileController.java index 4ff6df674f4..77234b7ccc1 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileController.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileController.java @@ -23,7 +23,7 @@ import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.dto.ApolloConfig; import com.ctrip.framework.apollo.core.utils.PropertiesUtil; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -176,7 +176,7 @@ String queryConfig(ConfigFileOutputFormat outputFormat, String appId, String clu //2. try to load gray release and return if (hasGrayReleaseRule) { - Cat.logEvent("ConfigFile.Cache.GrayRelease", cacheKey); + Tracer.logEvent("ConfigFile.Cache.GrayRelease", cacheKey); return loadConfig(outputFormat, appId, clusterName, namespace, dataCenter, clientIp, request, response); } @@ -186,7 +186,7 @@ String queryConfig(ConfigFileOutputFormat outputFormat, String appId, String clu //4. if not exists, load from ConfigController if (Strings.isNullOrEmpty(result)) { - Cat.logEvent("ConfigFile.Cache.Miss", cacheKey); + Tracer.logEvent("ConfigFile.Cache.Miss", cacheKey); result = loadConfig(outputFormat, appId, clusterName, namespace, dataCenter, clientIp, request, response); @@ -196,7 +196,7 @@ String queryConfig(ConfigFileOutputFormat outputFormat, String appId, String clu //5. Double check if this client needs to load gray release, if yes, load from db again //This step is mainly to avoid cache pollution if (grayReleaseRulesHolder.hasGrayReleaseRule(appId, clientIp, namespace)) { - Cat.logEvent("ConfigFile.Cache.GrayReleaseConflict", cacheKey); + Tracer.logEvent("ConfigFile.Cache.GrayReleaseConflict", cacheKey); return loadConfig(outputFormat, appId, clusterName, namespace, dataCenter, clientIp, request, response); } @@ -214,7 +214,7 @@ String queryConfig(ConfigFileOutputFormat outputFormat, String appId, String clu cacheKey2WatchedKeys.putAll(cacheKey, watchedKeys); logger.debug("added cache for key: {}", cacheKey); } else { - Cat.logEvent("ConfigFile.Cache.Hit", cacheKey); + Tracer.logEvent("ConfigFile.Cache.Hit", cacheKey); } return result; diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationController.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationController.java index c00597b0e83..c46274748a0 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationController.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationController.java @@ -16,7 +16,7 @@ import com.ctrip.framework.apollo.configservice.util.WatchKeysUtil; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.dto.ApolloConfigNotification; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -130,7 +130,7 @@ public void handleMessage(ReleaseMessage message, String channel) { logger.info("message received - channel: {}, message: {}", channel, message); String content = message.getMessage(); - Cat.logEvent("Apollo.LongPoll.Messages", content); + Tracer.logEvent("Apollo.LongPoll.Messages", content); if (!Topics.APOLLO_RELEASE_TOPIC.equals(channel) || Strings.isNullOrEmpty(content)) { return; } @@ -161,7 +161,7 @@ public void handleMessage(ReleaseMessage message, String channel) { private void logWatchedKeysToCat(Set watchedKeys, String eventName) { for (String watchedKey : watchedKeys) { - Cat.logEvent(eventName, watchedKey); + Tracer.logEvent(eventName, watchedKey); } } } diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerV2.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerV2.java index fbbccb8678d..b278a9b8e5a 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerV2.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerV2.java @@ -17,12 +17,12 @@ import com.ctrip.framework.apollo.biz.message.Topics; import com.ctrip.framework.apollo.biz.service.ReleaseMessageService; import com.ctrip.framework.apollo.biz.utils.EntityManagerUtil; +import com.ctrip.framework.apollo.common.exception.BadRequestException; import com.ctrip.framework.apollo.configservice.util.NamespaceUtil; import com.ctrip.framework.apollo.configservice.util.WatchKeysUtil; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.dto.ApolloConfigNotification; -import com.ctrip.framework.apollo.common.exception.BadRequestException; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,7 +89,7 @@ public DeferredResult>> pollNotifi notifications = gson.fromJson(notificationsAsString, notificationsTypeReference); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); } if (CollectionUtils.isEmpty(notifications)) { @@ -197,7 +197,7 @@ public void handleMessage(ReleaseMessage message, String channel) { logger.info("message received - channel: {}, message: {}", channel, message); String content = message.getMessage(); - Cat.logEvent("Apollo.LongPoll.Messages", content); + Tracer.logEvent("Apollo.LongPoll.Messages", content); if (!Topics.APOLLO_RELEASE_TOPIC.equals(channel) || Strings.isNullOrEmpty(content)) { return; } @@ -244,7 +244,7 @@ public void handleMessage(ReleaseMessage message, String channel) { private void logWatchedKeysToCat(Set watchedKeys, String eventName) { for (String watchedKey : watchedKeys) { - Cat.logEvent(eventName, watchedKey); + Tracer.logEvent(eventName, watchedKey); } } } diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/util/InstanceConfigAuditUtil.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/util/InstanceConfigAuditUtil.java index 80bfd734e73..3ca0c8a20fe 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/util/InstanceConfigAuditUtil.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/configservice/util/InstanceConfigAuditUtil.java @@ -12,7 +12,7 @@ import com.ctrip.framework.apollo.biz.service.InstanceService; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -151,7 +151,7 @@ public void afterPropertiesSet() throws Exception { } doAudit(model); } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); } } }); diff --git a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/metaservice/service/DiscoveryService.java b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/metaservice/service/DiscoveryService.java index fb257bbeb80..ac0545ff45d 100644 --- a/apollo-configservice/src/main/java/com/ctrip/framework/apollo/metaservice/service/DiscoveryService.java +++ b/apollo-configservice/src/main/java/com/ctrip/framework/apollo/metaservice/service/DiscoveryService.java @@ -1,7 +1,7 @@ package com.ctrip.framework.apollo.metaservice.service; import com.ctrip.framework.apollo.core.ServiceNameConsts; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import com.netflix.appinfo.InstanceInfo; import com.netflix.discovery.EurekaClient; import com.netflix.discovery.shared.Application; @@ -21,7 +21,7 @@ public class DiscoveryService { public List getConfigServiceInstances() { Application application = eurekaClient.getApplication(ServiceNameConsts.APOLLO_CONFIGSERVICE); if (application == null) { - Cat.logEvent("Apollo.EurekaDiscovery.NotFound", ServiceNameConsts.APOLLO_CONFIGSERVICE); + Tracer.logEvent("Apollo.EurekaDiscovery.NotFound", ServiceNameConsts.APOLLO_CONFIGSERVICE); } return application != null ? application.getInstances() : new ArrayList<>(); } @@ -29,7 +29,7 @@ public List getConfigServiceInstances() { public List getMetaServiceInstances() { Application application = eurekaClient.getApplication(ServiceNameConsts.APOLLO_METASERVICE); if (application == null) { - Cat.logEvent("Apollo.EurekaDiscovery.NotFound", ServiceNameConsts.APOLLO_METASERVICE); + Tracer.logEvent("Apollo.EurekaDiscovery.NotFound", ServiceNameConsts.APOLLO_METASERVICE); } return application != null ? application.getInstances() : new ArrayList<>(); } @@ -37,7 +37,7 @@ public List getMetaServiceInstances() { public List getAdminServiceInstances() { Application application = eurekaClient.getApplication(ServiceNameConsts.APOLLO_ADMINSERVICE); if (application == null) { - Cat.logEvent("Apollo.EurekaDiscovery.NotFound", ServiceNameConsts.APOLLO_ADMINSERVICE); + Tracer.logEvent("Apollo.EurekaDiscovery.NotFound", ServiceNameConsts.APOLLO_ADMINSERVICE); } return application != null ? application.getInstances() : new ArrayList<>(); } diff --git a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigControllerTest.java b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigControllerTest.java index f27639252af..85ba8b7f65d 100644 --- a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigControllerTest.java +++ b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigControllerTest.java @@ -6,11 +6,11 @@ import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; +import com.ctrip.framework.apollo.biz.entity.Release; import com.ctrip.framework.apollo.biz.grayReleaseRule.GrayReleaseRulesHolder; +import com.ctrip.framework.apollo.biz.service.AppNamespaceService; import com.ctrip.framework.apollo.biz.service.ReleaseService; import com.ctrip.framework.apollo.common.entity.AppNamespace; -import com.ctrip.framework.apollo.biz.entity.Release; -import com.ctrip.framework.apollo.biz.service.AppNamespaceService; import com.ctrip.framework.apollo.configservice.util.InstanceConfigAuditUtil; import com.ctrip.framework.apollo.configservice.util.NamespaceUtil; import com.ctrip.framework.apollo.core.ConfigConsts; diff --git a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileControllerTest.java b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileControllerTest.java index 9731b1971db..2687e379437 100644 --- a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileControllerTest.java +++ b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/ConfigFileControllerTest.java @@ -32,7 +32,6 @@ import javax.servlet.http.HttpServletResponse; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; diff --git a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerTest.java b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerTest.java index 589e7cbf239..69838ace4fb 100644 --- a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerTest.java +++ b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/controller/NotificationControllerTest.java @@ -28,8 +28,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** diff --git a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/util/NamespaceUtilTest.java b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/util/NamespaceUtilTest.java index 6eb768a42b9..7e2740e98a2 100644 --- a/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/util/NamespaceUtilTest.java +++ b/apollo-configservice/src/test/java/com/ctrip/framework/apollo/configservice/util/NamespaceUtilTest.java @@ -3,7 +3,7 @@ import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; /** * @author Jason Song(song_s@ctrip.com) diff --git a/apollo-configservice/src/test/resources/META-INF/plexus/plexus.xml b/apollo-configservice/src/test/resources/META-INF/plexus/plexus.xml deleted file mode 100644 index b4530cd3da3..00000000000 --- a/apollo-configservice/src/test/resources/META-INF/plexus/plexus.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - com.dianping.cat.configuration.ClientConfigManager - com.ctrip.framework.apollo.cat.NullClientConfigManager - - - - com.dianping.cat.message.io.TransportManager - com.ctrip.framework.apollo.cat.NullTransportManager - - - - com.dianping.cat.message.spi.MessageManager - com.ctrip.framework.apollo.cat.NullMessageManager - - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - com.dianping.cat.message.MessageProducer - com.ctrip.framework.apollo.cat.NullMessageProducer - - - - com.dianping.cat.message.spi.MessageManager - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - org.codehaus.plexus.logging.LoggerManager - com.ctrip.framework.apollo.cat.NullLoggerManager - - - - diff --git a/apollo-core/pom.xml b/apollo-core/pom.xml index 9b1368a855e..451a7780b3a 100644 --- a/apollo-core/pom.xml +++ b/apollo-core/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 @@ -16,12 +16,12 @@ ${project.artifactId} - + - com.dianping.cat - cat-client + com.ctrip.framework + framework-foundation - + com.google.code.gson @@ -40,5 +40,17 @@ slf4j-api + + + org.apache.logging.log4j + log4j-slf4j-impl + test + + + org.apache.logging.log4j + log4j-core + test + + diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/MetaDomainConsts.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/MetaDomainConsts.java index 0c08ede27e0..5556639b3b1 100644 --- a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/MetaDomainConsts.java +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/MetaDomainConsts.java @@ -1,12 +1,12 @@ package com.ctrip.framework.apollo.core; +import com.ctrip.framework.apollo.core.enums.Env; +import com.ctrip.framework.apollo.core.utils.ResourceUtils; + import java.util.HashMap; import java.util.Map; import java.util.Properties; -import com.ctrip.framework.apollo.core.enums.Env; -import com.ctrip.framework.apollo.core.utils.ResourceUtils; - /** * The meta domain will load the meta server from System environment first, if not exist, will load * from apollo-env.properties. If neither exists, will load the default meta url. diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ClassLoaderUtil.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ClassLoaderUtil.java index 669aeadc1d0..d4a35c556fb 100644 --- a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ClassLoaderUtil.java +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ClassLoaderUtil.java @@ -5,7 +5,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLDecoder; @@ -50,4 +49,13 @@ public static ClassLoader getLoader() { public static String getClassPath() { return classPath; } + + public static boolean isClassPresent(String className) { + try { + Class.forName(className); + return true; + } catch (ClassNotFoundException ex) { + return false; + } + } } diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ResourceUtils.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ResourceUtils.java index cfa4a7bcb8a..20cedbb14dd 100644 --- a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ResourceUtils.java +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ResourceUtils.java @@ -1,5 +1,8 @@ package com.ctrip.framework.apollo.core.utils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -9,9 +12,6 @@ import java.util.Enumeration; import java.util.Properties; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class ResourceUtils { private static final Logger logger = LoggerFactory.getLogger(ResourceUtils.class); diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrap.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrap.java new file mode 100644 index 00000000000..b2e37ddfe3e --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrap.java @@ -0,0 +1,22 @@ +package com.ctrip.framework.apollo.core.utils; + +import java.util.Iterator; +import java.util.ServiceLoader; + +public class ServiceBootstrap { + public static S loadFirst(Class clazz) { + Iterator iterator = loadAll(clazz); + if (!iterator.hasNext()) { + throw new IllegalStateException(String.format( + "No implementation defined in /META-INF/services/%s, please check whether the file exists and has the right implementation class!", + clazz.getName())); + } + return iterator.next(); + } + + private static Iterator loadAll(Class clazz) { + ServiceLoader loader = ServiceLoader.load(clazz); + + return loader.iterator(); + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/Tracer.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/Tracer.java new file mode 100644 index 00000000000..3f4fe3f3a1e --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/Tracer.java @@ -0,0 +1,84 @@ +package com.ctrip.framework.apollo.tracer; + +import com.ctrip.framework.apollo.core.utils.ServiceBootstrap; +import com.ctrip.framework.apollo.tracer.internals.NullMessageProducerManager; +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; +import com.ctrip.framework.apollo.tracer.spi.Transaction; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public abstract class Tracer { + private static final Logger logger = LoggerFactory.getLogger(Tracer.class); + private static final MessageProducerManager NULL_MESSAGE_PRODUCER_MANAGER = + new NullMessageProducerManager(); + private static MessageProducerManager producerManager; + private static Object lock = new Object(); + + static { + getProducer(); + } + + private static MessageProducer getProducer() { + try { + if (producerManager == null) { + synchronized (lock) { + if (producerManager == null) { + producerManager = ServiceBootstrap.loadFirst(MessageProducerManager.class); + } + } + } + } catch (Throwable ex) { + logger.error( + "Failed to initialize message producer manager, use null message producer manager.", ex); + producerManager = NULL_MESSAGE_PRODUCER_MANAGER; + } + return producerManager.getProducer(); + } + + public static void logError(String message, Throwable cause) { + try { + getProducer().logError(message, cause); + } catch (Throwable ex) { + logger.warn("Failed to log error for message: {}, cause: {}", message, cause, ex); + } + } + + public static void logError(Throwable cause) { + try { + getProducer().logError(cause); + } catch (Throwable ex) { + logger.warn("Failed to log error for cause: {}", cause, ex); + } + } + + public static void logEvent(String type, String name) { + try { + getProducer().logEvent(type, name); + } catch (Throwable ex) { + logger.warn("Failed to log event for type: {}, name: {}", type, name, ex); + } + } + + public static void logEvent(String type, String name, String status, String nameValuePairs) { + try { + getProducer().logEvent(type, name, status, nameValuePairs); + } catch (Throwable ex) { + logger.warn("Failed to log event for type: {}, name: {}, status: {}, nameValuePairs: {}", + type, name, status, nameValuePairs, ex); + } + } + + public static Transaction newTransaction(String type, String name) { + try { + return getProducer().newTransaction(type, name); + } catch (Throwable ex) { + logger.warn("Failed to create transaction for type: {}, name: {}", type, name, ex); + return NULL_MESSAGE_PRODUCER_MANAGER.getProducer().newTransaction(type, name); + } + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManager.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManager.java new file mode 100644 index 00000000000..48d886e6f48 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManager.java @@ -0,0 +1,27 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.core.utils.ClassLoaderUtil; +import com.ctrip.framework.apollo.tracer.internals.cat.CatMessageProducer; +import com.ctrip.framework.apollo.tracer.internals.cat.CatNames; +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class DefaultMessageProducerManager implements MessageProducerManager { + private static MessageProducer producer; + + public DefaultMessageProducerManager() { + if (ClassLoaderUtil.isClassPresent(CatNames.CAT_CLASS)) { + producer = new CatMessageProducer(); + } else { + producer = new NullMessageProducerManager().getProducer(); + } + } + + @Override + public MessageProducer getProducer() { + return producer; + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducer.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducer.java new file mode 100644 index 00000000000..a4a27a9d1f6 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducer.java @@ -0,0 +1,32 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class NullMessageProducer implements MessageProducer { + private static final Transaction NULL_TRANSACTION = new NullTransaction(); + + @Override + public void logError(Throwable cause) { + } + + @Override + public void logError(String message, Throwable cause) { + } + + @Override + public void logEvent(String type, String name) { + } + + @Override + public void logEvent(String type, String name, String status, String nameValuePairs) { + } + + @Override + public Transaction newTransaction(String type, String name) { + return NULL_TRANSACTION; + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManager.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManager.java new file mode 100644 index 00000000000..bf2d699839d --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManager.java @@ -0,0 +1,16 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class NullMessageProducerManager implements MessageProducerManager { + private static final MessageProducer producer = new NullMessageProducer(); + + @Override + public MessageProducer getProducer() { + return producer; + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullTransaction.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullTransaction.java new file mode 100644 index 00000000000..7d872cf881f --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/NullTransaction.java @@ -0,0 +1,24 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.Transaction; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class NullTransaction implements Transaction { + @Override + public void setStatus(String status) { + } + + @Override + public void setStatus(Throwable e) { + } + + @Override + public void addData(String key, Object value) { + } + + @Override + public void complete() { + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatMessageProducer.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatMessageProducer.java new file mode 100644 index 00000000000..880a3dd06f7 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatMessageProducer.java @@ -0,0 +1,84 @@ +package com.ctrip.framework.apollo.tracer.internals.cat; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; + +import java.lang.reflect.Method; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class CatMessageProducer implements MessageProducer { + private static Class CAT_CLASS; + private static Method LOG_ERROR_WITH_CAUSE; + private static Method LOG_ERROR_WITH_MESSAGE_AND_CAUSE; + private static Method LOG_EVENT_WITH_TYPE_AND_NAME; + private static Method LOG_EVENT_WITH_TYPE_AND_NAME_AND_STATUS_AND_NAME_VALUE_PAIRS; + private static Method NEW_TRANSACTION_WITH_TYPE_AND_NAME; + + static { + try { + CAT_CLASS = Class.forName(CatNames.CAT_CLASS); + LOG_ERROR_WITH_CAUSE = CAT_CLASS.getMethod(CatNames.LOG_ERROR_METHOD, Throwable.class); + LOG_ERROR_WITH_MESSAGE_AND_CAUSE = CAT_CLASS.getMethod(CatNames.LOG_ERROR_METHOD, + String.class, Throwable.class); + LOG_EVENT_WITH_TYPE_AND_NAME = CAT_CLASS.getMethod(CatNames.LOG_EVENT_METHOD, + String.class, String.class); + LOG_EVENT_WITH_TYPE_AND_NAME_AND_STATUS_AND_NAME_VALUE_PAIRS = + CAT_CLASS.getMethod(CatNames.LOG_EVENT_METHOD, String.class, String.class, + String.class, String.class); + NEW_TRANSACTION_WITH_TYPE_AND_NAME = CAT_CLASS.getMethod( + CatNames.NEW_TRANSACTION_METHOD, String.class, String.class); + //eager init CatTransaction + CatTransaction.init(); + } catch (Throwable ex) { + throw new IllegalStateException("Initialize Cat message producer failed", ex); + } + } + + @Override + public void logError(Throwable cause) { + try { + LOG_ERROR_WITH_CAUSE.invoke(null, cause); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public void logError(String message, Throwable cause) { + try { + LOG_ERROR_WITH_MESSAGE_AND_CAUSE.invoke(null, message, cause); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public void logEvent(String type, String name) { + try { + LOG_EVENT_WITH_TYPE_AND_NAME.invoke(null, type, name); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public void logEvent(String type, String name, String status, String nameValuePairs) { + try { + LOG_EVENT_WITH_TYPE_AND_NAME_AND_STATUS_AND_NAME_VALUE_PAIRS.invoke(null, type, name, + status, nameValuePairs); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public Transaction newTransaction(String type, String name) { + try { + return new CatTransaction(NEW_TRANSACTION_WITH_TYPE_AND_NAME.invoke(null, type, name)); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatNames.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatNames.java new file mode 100644 index 00000000000..4062fd09cb6 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatNames.java @@ -0,0 +1,16 @@ +package com.ctrip.framework.apollo.tracer.internals.cat; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public interface CatNames { + String CAT_CLASS = "com.dianping.cat.Cat"; + String LOG_ERROR_METHOD = "logError"; + String LOG_EVENT_METHOD = "logEvent"; + String NEW_TRANSACTION_METHOD = "newTransaction"; + + String CAT_TRANSACTION_CLASS = "com.dianping.cat.message.Transaction"; + String SET_STATUS_METHOD = "setStatus"; + String ADD_DATA_METHOD = "addData"; + String COMPLETE_METHOD = "complete"; +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatTransaction.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatTransaction.java new file mode 100644 index 00000000000..eff07781922 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/internals/cat/CatTransaction.java @@ -0,0 +1,76 @@ +package com.ctrip.framework.apollo.tracer.internals.cat; + +import com.ctrip.framework.apollo.tracer.spi.Transaction; + +import java.lang.reflect.Method; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class CatTransaction implements Transaction { + private static Class CAT_TRANSACTION_CLASS; + private static Method SET_STATUS_WITH_STRING; + private static Method SET_STATUS_WITH_THROWABLE; + private static Method ADD_DATA_WITH_KEY_AND_VALUE; + private static Method COMPLETE; + + private Object catTransaction; + + static { + try { + CAT_TRANSACTION_CLASS = Class.forName(CatNames.CAT_TRANSACTION_CLASS); + SET_STATUS_WITH_STRING = CAT_TRANSACTION_CLASS.getMethod(CatNames.SET_STATUS_METHOD, String.class); + SET_STATUS_WITH_THROWABLE = CAT_TRANSACTION_CLASS.getMethod(CatNames.SET_STATUS_METHOD, + Throwable.class); + ADD_DATA_WITH_KEY_AND_VALUE = CAT_TRANSACTION_CLASS.getMethod(CatNames.ADD_DATA_METHOD, + String.class, Object.class); + COMPLETE = CAT_TRANSACTION_CLASS.getMethod(CatNames.COMPLETE_METHOD); + } catch (Throwable ex) { + throw new IllegalStateException("Initialize Cat transaction failed", ex); + } + } + + static void init() { + //do nothing, just to initialize the static variables + } + + public CatTransaction(Object catTransaction) { + this.catTransaction = catTransaction; + } + + @Override + public void setStatus(String status) { + try { + SET_STATUS_WITH_STRING.invoke(catTransaction, status); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public void setStatus(Throwable status) { + try { + SET_STATUS_WITH_THROWABLE.invoke(catTransaction, status); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public void addData(String key, Object value) { + try { + ADD_DATA_WITH_KEY_AND_VALUE.invoke(catTransaction, key, value); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } + + @Override + public void complete() { + try { + COMPLETE.invoke(catTransaction); + } catch (Throwable ex) { + throw new IllegalStateException(ex); + } + } +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducer.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducer.java new file mode 100644 index 00000000000..a68b689cc59 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducer.java @@ -0,0 +1,46 @@ +package com.ctrip.framework.apollo.tracer.spi; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public interface MessageProducer { + /** + * Log an error. + * + * @param cause root cause exception + */ + public void logError(Throwable cause); + + /** + * Log an error. + * + * @param cause root cause exception + */ + public void logError(String message, Throwable cause); + + /** + * Log an event in one shot with SUCCESS status. + * + * @param type event type + * @param name event name + */ + public void logEvent(String type, String name); + + /** + * Log an event in one shot. + * + * @param type event type + * @param name event name + * @param status "0" means success, otherwise means error code + * @param nameValuePairs name value pairs in the format of "a=1&b=2&..." + */ + public void logEvent(String type, String name, String status, String nameValuePairs); + + /** + * Create a new transaction with given type and name. + * + * @param type transaction type + * @param name transaction name + */ + public Transaction newTransaction(String type, String name); +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducerManager.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducerManager.java new file mode 100644 index 00000000000..ab7803ef674 --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/MessageProducerManager.java @@ -0,0 +1,11 @@ +package com.ctrip.framework.apollo.tracer.spi; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public interface MessageProducerManager { + /** + * @return the message producer + */ + MessageProducer getProducer(); +} diff --git a/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/Transaction.java b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/Transaction.java new file mode 100644 index 00000000000..bfd07d5d91e --- /dev/null +++ b/apollo-core/src/main/java/com/ctrip/framework/apollo/tracer/spi/Transaction.java @@ -0,0 +1,32 @@ +package com.ctrip.framework.apollo.tracer.spi; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public interface Transaction { + String SUCCESS = "0"; + + /** + * Set the message status. + * + * @param status message status. "0" means success, otherwise error code. + */ + public void setStatus(String status); + + /** + * Set the message status with exception class name. + * + * @param e exception. + */ + public void setStatus(Throwable e); + + /** + * add one key-value pair to the message. + */ + public void addData(String key, Object value); + + /** + * Complete the message construction. + */ + public void complete(); +} diff --git a/apollo-core/src/main/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager b/apollo-core/src/main/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager new file mode 100644 index 00000000000..eab7be59c50 --- /dev/null +++ b/apollo-core/src/main/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager @@ -0,0 +1 @@ +com.ctrip.framework.apollo.tracer.internals.DefaultMessageProducerManager \ No newline at end of file diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/AllTests.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/AllTests.java new file mode 100644 index 00000000000..c3a53ca6919 --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/AllTests.java @@ -0,0 +1,20 @@ +package com.ctrip.framework.apollo; + +import com.ctrip.framework.apollo.core.MetaDomainTest; +import com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest; +import com.ctrip.framework.apollo.tracer.TracerTest; +import com.ctrip.framework.apollo.tracer.internals.DefaultMessageProducerManagerTest; +import com.ctrip.framework.apollo.tracer.internals.NullMessageProducerManagerTest; +import com.ctrip.framework.apollo.tracer.internals.NullMessageProducerTest; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +@RunWith(Suite.class) +@SuiteClasses({ + MetaDomainTest.class, ServiceBootstrapTest.class, NullMessageProducerManagerTest.class, + NullMessageProducerTest.class, DefaultMessageProducerManagerTest.class, TracerTest.class}) +public class AllTests { + +} diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/core/AllTests.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/core/AllTests.java deleted file mode 100644 index f92e278273e..00000000000 --- a/apollo-core/src/test/java/com/ctrip/framework/apollo/core/AllTests.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.ctrip.framework.apollo.core; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -@RunWith(Suite.class) -@SuiteClasses({MetaDomainTest.class}) -public class AllTests { - -} diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrapTest.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrapTest.java new file mode 100644 index 00000000000..79d6bc3c202 --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/core/utils/ServiceBootstrapTest.java @@ -0,0 +1,56 @@ +package com.ctrip.framework.apollo.core.utils; + +import org.junit.Test; + +import java.util.ServiceConfigurationError; + +import static org.junit.Assert.assertTrue; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class ServiceBootstrapTest { + @Test + public void loadFirstSuccessfully() throws Exception { + Interface1 service = ServiceBootstrap.loadFirst(Interface1.class); + assertTrue(service instanceof Interface1Impl); + } + + @Test(expected = IllegalStateException.class) + public void loadFirstWithNoServiceFileDefined() throws Exception { + ServiceBootstrap.loadFirst(Interface2.class); + } + + @Test(expected = IllegalStateException.class) + public void loadFirstWithServiceFileButNoServiceImpl() throws Exception { + ServiceBootstrap.loadFirst(Interface3.class); + } + + @Test(expected = ServiceConfigurationError.class) + public void loadFirstWithWrongServiceImpl() throws Exception { + ServiceBootstrap.loadFirst(Interface4.class); + } + + @Test(expected = ServiceConfigurationError.class) + public void loadFirstWithServiceImplNotExists() throws Exception { + ServiceBootstrap.loadFirst(Interface5.class); + } + + private interface Interface1 { + } + + public static class Interface1Impl implements Interface1 { + } + + private interface Interface2 { + } + + private interface Interface3 { + } + + private interface Interface4 { + } + + private interface Interface5 { + } +} \ No newline at end of file diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/TracerTest.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/TracerTest.java new file mode 100644 index 00000000000..16aeb1c2b8a --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/TracerTest.java @@ -0,0 +1,144 @@ +package com.ctrip.framework.apollo.tracer; + +import com.ctrip.framework.apollo.tracer.internals.MockMessageProducerManager; +import com.ctrip.framework.apollo.tracer.internals.NullTransaction; +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class TracerTest { + private MessageProducer someProducer; + + @Before + public void setUp() throws Exception { + someProducer = mock(MessageProducer.class); + MockMessageProducerManager.setProducer(someProducer); + } + + @Test + public void testLogError() throws Exception { + String someMessage = "someMessage"; + Throwable someCause = mock(Throwable.class); + + Tracer.logError(someMessage, someCause); + + verify(someProducer, times(1)).logError(someMessage, someCause); + } + + @Test + public void testLogErrorWithException() throws Exception { + String someMessage = "someMessage"; + Throwable someCause = mock(Throwable.class); + doThrow(RuntimeException.class).when(someProducer).logError(someMessage, someCause); + + Tracer.logError(someMessage, someCause); + + verify(someProducer, times(1)).logError(someMessage, someCause); + } + + @Test + public void testLogErrorWithOnlyCause() throws Exception { + Throwable someCause = mock(Throwable.class); + + Tracer.logError(someCause); + + verify(someProducer, times(1)).logError(someCause); + } + + @Test + public void testLogErrorWithOnlyCauseWithException() throws Exception { + Throwable someCause = mock(Throwable.class); + doThrow(RuntimeException.class).when(someProducer).logError(someCause); + + Tracer.logError(someCause); + + verify(someProducer, times(1)).logError(someCause); + } + + @Test + public void testLogEvent() throws Exception { + String someType = "someType"; + String someName = "someName"; + + Tracer.logEvent(someType, someName); + + verify(someProducer, times(1)).logEvent(someType, someName); + } + + @Test + public void testLogEventWithException() throws Exception { + String someType = "someType"; + String someName = "someName"; + doThrow(RuntimeException.class).when(someProducer).logEvent(someType, someName); + + Tracer.logEvent(someType, someName); + + verify(someProducer, times(1)).logEvent(someType, someName); + } + + @Test + public void testLogEventWithStatusAndNameValuePairs() throws Exception { + String someType = "someType"; + String someName = "someName"; + String someStatus = "someStatus"; + String someNameValuePairs = "someNameValuePairs"; + + Tracer.logEvent(someType, someName, someStatus, someNameValuePairs); + + verify(someProducer, times(1)).logEvent(someType, someName, someStatus, someNameValuePairs); + } + + @Test + public void testLogEventWithStatusAndNameValuePairsWithException() throws Exception { + String someType = "someType"; + String someName = "someName"; + String someStatus = "someStatus"; + String someNameValuePairs = "someNameValuePairs"; + doThrow(RuntimeException.class).when(someProducer).logEvent(someType, someName, someStatus, + someNameValuePairs); + + Tracer.logEvent(someType, someName, someStatus, someNameValuePairs); + + verify(someProducer, times(1)).logEvent(someType, someName, someStatus, someNameValuePairs); + } + + @Test + public void testNewTransaction() throws Exception { + String someType = "someType"; + String someName = "someName"; + Transaction someTransaction = mock(Transaction.class); + + when(someProducer.newTransaction(someType, someName)).thenReturn(someTransaction); + + Transaction result = Tracer.newTransaction(someType, someName); + + verify(someProducer, times(1)).newTransaction(someType, someName); + assertEquals(someTransaction, result); + } + + @Test + public void testNewTransactionWithException() throws Exception { + String someType = "someType"; + String someName = "someName"; + + when(someProducer.newTransaction(someType, someName)).thenThrow(RuntimeException.class); + + Transaction result = Tracer.newTransaction(someType, someName); + + verify(someProducer, times(1)).newTransaction(someType, someName); + assertTrue(result instanceof NullTransaction); + } +} \ No newline at end of file diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManagerTest.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManagerTest.java new file mode 100644 index 00000000000..1c5bb9dd079 --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/DefaultMessageProducerManagerTest.java @@ -0,0 +1,26 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class DefaultMessageProducerManagerTest { + private MessageProducerManager messageProducerManager; + + @Before + public void setUp() throws Exception { + messageProducerManager = new DefaultMessageProducerManager(); + } + + @Test + public void testGetProducer() throws Exception { + assertTrue(messageProducerManager.getProducer() instanceof NullMessageProducer); + } + +} \ No newline at end of file diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/MockMessageProducerManager.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/MockMessageProducerManager.java new file mode 100644 index 00000000000..d57de2b0074 --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/MockMessageProducerManager.java @@ -0,0 +1,20 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; +import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class MockMessageProducerManager implements MessageProducerManager { + private static MessageProducer s_producer; + + @Override + public MessageProducer getProducer() { + return s_producer; + } + + public static void setProducer(MessageProducer producer) { + s_producer = producer; + } +} diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManagerTest.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManagerTest.java new file mode 100644 index 00000000000..e5b435b038b --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerManagerTest.java @@ -0,0 +1,25 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducerManager; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class NullMessageProducerManagerTest { + private MessageProducerManager messageProducerManager; + + @Before + public void setUp() throws Exception { + messageProducerManager = new NullMessageProducerManager(); + } + + @Test + public void testGetProducer() throws Exception { + assertTrue(messageProducerManager.getProducer() instanceof NullMessageProducer); + } +} \ No newline at end of file diff --git a/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerTest.java b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerTest.java new file mode 100644 index 00000000000..24789753377 --- /dev/null +++ b/apollo-core/src/test/java/com/ctrip/framework/apollo/tracer/internals/NullMessageProducerTest.java @@ -0,0 +1,28 @@ +package com.ctrip.framework.apollo.tracer.internals; + +import com.ctrip.framework.apollo.tracer.spi.MessageProducer; + +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * @author Jason Song(song_s@ctrip.com) + */ +public class NullMessageProducerTest { + private MessageProducer messageProducer; + + @Before + public void setUp() throws Exception { + messageProducer = new NullMessageProducer(); + } + + @Test + public void testNewTransaction() throws Exception { + String someType = "someType"; + String someName = "someName"; + assertTrue(messageProducer.newTransaction(someType, someName) instanceof NullTransaction); + } + +} \ No newline at end of file diff --git a/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface1 b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface1 new file mode 100644 index 00000000000..69696026453 --- /dev/null +++ b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface1 @@ -0,0 +1 @@ +com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface1Impl \ No newline at end of file diff --git a/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface3 b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface3 new file mode 100644 index 00000000000..e69de29bb2d diff --git a/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface4 b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface4 new file mode 100644 index 00000000000..69696026453 --- /dev/null +++ b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface4 @@ -0,0 +1 @@ +com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface1Impl \ No newline at end of file diff --git a/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface5 b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface5 new file mode 100644 index 00000000000..799cf234ab5 --- /dev/null +++ b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$Interface5 @@ -0,0 +1 @@ +com.ctrip.framework.apollo.core.utils.ServiceBootstrapTest$SomeImplNotExists \ No newline at end of file diff --git a/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager new file mode 100644 index 00000000000..2899c14e633 --- /dev/null +++ b/apollo-core/src/test/resources/META-INF/services/com.ctrip.framework.apollo.tracer.spi.MessageProducerManager @@ -0,0 +1 @@ +com.ctrip.framework.apollo.tracer.internals.MockMessageProducerManager \ No newline at end of file diff --git a/apollo-core/src/test/resources/log4j2.xml b/apollo-core/src/test/resources/log4j2.xml new file mode 100644 index 00000000000..14181f27b67 --- /dev/null +++ b/apollo-core/src/test/resources/log4j2.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/apollo-demo/pom.xml b/apollo-demo/pom.xml index 672057fc982..ceb5f727f0c 100644 --- a/apollo-demo/pom.xml +++ b/apollo-demo/pom.xml @@ -4,7 +4,7 @@ apollo com.ctrip.framework.apollo - 0.3.0 + 0.4.0-SNAPSHOT 4.0.0 apollo-demo diff --git a/apollo-portal/pom.xml b/apollo-portal/pom.xml index 0596c910c9e..b3751135fae 100644 --- a/apollo-portal/pom.xml +++ b/apollo-portal/pom.xml @@ -4,7 +4,7 @@ com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT ../pom.xml 4.0.0 @@ -18,11 +18,6 @@ com.ctrip.framework.apollo apollo-common - - com.ctrip.framework.apollo - apollo-buildtools - test - com.h2database h2 @@ -77,11 +72,6 @@ github - - - com.ctrip.framework.apollo - apollo-buildtools - diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/util/ConsumerAuditUtil.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/util/ConsumerAuditUtil.java index 915498c558b..40392d61085 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/util/ConsumerAuditUtil.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/util/ConsumerAuditUtil.java @@ -7,7 +7,7 @@ import com.ctrip.framework.apollo.core.utils.ApolloThreadFactory; import com.ctrip.framework.apollo.openapi.entity.ConsumerAudit; import com.ctrip.framework.apollo.openapi.service.ConsumerService; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -74,7 +74,7 @@ public void afterPropertiesSet() throws Exception { consumerService.createConsumerAudits(toAudit); } } catch (Throwable ex) { - Cat.logError(ex); + Tracer.logError(ex); } } }); diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/AdminServiceAPI.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/AdminServiceAPI.java index 3393362f982..cbf63c5bd8a 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/AdminServiceAPI.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/api/AdminServiceAPI.java @@ -2,7 +2,6 @@ import com.google.common.base.Joiner; -import com.google.gson.reflect.TypeToken; import com.ctrip.framework.apollo.common.dto.AppDTO; import com.ctrip.framework.apollo.common.dto.AppNamespaceDTO; @@ -21,7 +20,6 @@ import org.springframework.boot.actuate.health.Health; import org.springframework.core.ParameterizedTypeReference; -import org.springframework.data.domain.Page; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -31,11 +29,9 @@ import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import java.lang.reflect.Type; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Set; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/AdminServiceAddressLocator.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/AdminServiceAddressLocator.java index ebd7e1a3497..cb38b11ff81 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/AdminServiceAddressLocator.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/AdminServiceAddressLocator.java @@ -5,7 +5,7 @@ import com.ctrip.framework.apollo.core.MetaDomainConsts; import com.ctrip.framework.apollo.core.dto.ServiceDTO; import com.ctrip.framework.apollo.core.enums.Env; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -117,7 +117,7 @@ private boolean refreshServerAddressCache(Env env) { } catch (Throwable e) { logger.error(String.format("Get admin server address from meta server failed. env: %s, meta server address:%s", env, MetaDomainConsts.getDomain(env)), e); - Cat.logError(String.format("Get admin server address from meta server failed. env: %s, meta server address:%s", + Tracer.logError(String.format("Get admin server address from meta server failed. env: %s, meta server address:%s", env, MetaDomainConsts.getDomain(env)), e); } } diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/PermissionValidator.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/PermissionValidator.java index 9efefe75714..1277485b2f4 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/PermissionValidator.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/PermissionValidator.java @@ -2,8 +2,8 @@ import com.ctrip.framework.apollo.common.entity.AppNamespace; import com.ctrip.framework.apollo.portal.constant.PermissionType; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.service.RolePermissionService; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.util.RoleUtils; import org.springframework.beans.factory.annotation.Autowired; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/RetryableRestTemplate.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/RetryableRestTemplate.java index 01f6096938b..5890df07336 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/RetryableRestTemplate.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/components/RetryableRestTemplate.java @@ -4,9 +4,8 @@ import com.ctrip.framework.apollo.core.dto.ServiceDTO; import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.portal.constant.CatEventType; -import com.dianping.cat.Cat; -import com.dianping.cat.message.Message; -import com.dianping.cat.message.Transaction; +import com.ctrip.framework.apollo.tracer.Tracer; +import com.ctrip.framework.apollo.tracer.spi.Transaction; import org.apache.http.conn.ConnectTimeoutException; import org.apache.http.conn.HttpHostConnectException; @@ -84,7 +83,7 @@ private T execute(HttpMethod method, Env env, String path, Object request, C } String uri = uriTemplateHandler.expand(path, uriVariables).getPath(); - Transaction ct = Cat.newTransaction("AdminAPI", uri); + Transaction ct = Tracer.newTransaction("AdminAPI", uri); List services = getAdminServices(env, ct); @@ -93,14 +92,14 @@ private T execute(HttpMethod method, Env env, String path, Object request, C T result = doExecute(method, serviceDTO, path, request, responseType, uriVariables); - ct.setStatus(Message.SUCCESS); + ct.setStatus(Transaction.SUCCESS); ct.complete(); return result; } catch (Throwable t) { logger.error("Http request failed, uri: {}, method: {}", uri, method, t); - Cat.logError(t); + Tracer.logError(t); if (canRetry(t, method)) { - Cat.logEvent(CatEventType.API_RETRY, uri); + Tracer.logEvent(CatEventType.API_RETRY, uri); } else {//biz exception rethrow ct.setStatus(t); ct.complete(); @@ -123,7 +122,7 @@ private ResponseEntity exchangeGet(Env env, String path, ParameterizedTyp } String uri = uriTemplateHandler.expand(path, uriVariables).getPath(); - Transaction ct = Cat.newTransaction("AdminAPI", uri); + Transaction ct = Tracer.newTransaction("AdminAPI", uri); List services = getAdminServices(env, ct); @@ -133,14 +132,14 @@ private ResponseEntity exchangeGet(Env env, String path, ParameterizedTyp ResponseEntity result = restTemplate.exchange(parseHost(serviceDTO) + path, HttpMethod.GET, null, reference, uriVariables); - ct.setStatus(Message.SUCCESS); + ct.setStatus(Transaction.SUCCESS); ct.complete(); return result; } catch (Throwable t) { logger.error("Http request failed, uri: {}, method: {}", uri, HttpMethod.GET, t); - Cat.logError(t); + Tracer.logError(t); if (canRetry(t, HttpMethod.GET)){ - Cat.logEvent(CatEventType.API_RETRY, uri); + Tracer.logEvent(CatEventType.API_RETRY, uri); }else {// biz exception rethrow ct.setStatus(t); ct.complete(); diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java index aef933e0ece..2ca157dd6ca 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ClusterController.java @@ -5,8 +5,8 @@ import com.ctrip.framework.apollo.common.utils.InputValidator; import com.ctrip.framework.apollo.common.utils.RequestPrecondition; import com.ctrip.framework.apollo.core.enums.Env; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.service.ClusterService; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java index d8e9cf7f6e3..b90b4181efc 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ItemController.java @@ -4,11 +4,11 @@ import com.ctrip.framework.apollo.common.exception.BadRequestException; import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.core.utils.StringUtils; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.entity.model.NamespaceSyncModel; import com.ctrip.framework.apollo.portal.entity.model.NamespaceTextModel; import com.ctrip.framework.apollo.portal.entity.vo.ItemDiffs; import com.ctrip.framework.apollo.portal.service.ItemService; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java index e2649cf773a..f14ef7e28b2 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/NamespaceController.java @@ -11,9 +11,8 @@ import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.core.utils.StringUtils; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; -import com.ctrip.framework.apollo.portal.entity.model.NamespaceCreationModel; import com.ctrip.framework.apollo.portal.constant.RoleType; +import com.ctrip.framework.apollo.portal.entity.model.NamespaceCreationModel; import com.ctrip.framework.apollo.portal.entity.vo.NamespaceVO; import com.ctrip.framework.apollo.portal.listener.AppNamespaceCreationEvent; import com.ctrip.framework.apollo.portal.service.AppNamespaceService; @@ -21,8 +20,9 @@ import com.ctrip.framework.apollo.portal.service.NamespaceService; import com.ctrip.framework.apollo.portal.service.RoleInitializationService; import com.ctrip.framework.apollo.portal.service.RolePermissionService; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.util.RoleUtils; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -101,7 +101,7 @@ public ResponseEntity createNamespace(@PathVariable String appId, namespaceService.createNamespace(Env.valueOf(model.getEnv()), namespace); } catch (Exception e) { logger.error("create namespace fail.", e); - Cat.logError( + Tracer.logError( String.format("create namespace fail. (env=%s namespace=%s)", model.getEnv(), namespace.getNamespaceName()), e); } diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java index e753b65803d..69fb5582b53 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/PermissionController.java @@ -4,13 +4,13 @@ import com.ctrip.framework.apollo.common.exception.BadRequestException; import com.ctrip.framework.apollo.common.utils.RequestPrecondition; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.constant.RoleType; import com.ctrip.framework.apollo.portal.entity.po.UserInfo; import com.ctrip.framework.apollo.portal.entity.vo.AppRolesAssignedUsers; import com.ctrip.framework.apollo.portal.entity.vo.NamespaceRolesAssignedUsers; import com.ctrip.framework.apollo.portal.entity.vo.PermissionCondition; import com.ctrip.framework.apollo.portal.service.RolePermissionService; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.spi.UserService; import com.ctrip.framework.apollo.portal.util.RoleUtils; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ServerConfigController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ServerConfigController.java index 4564635b9b4..94108951553 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ServerConfigController.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/ServerConfigController.java @@ -3,9 +3,9 @@ import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.common.utils.RequestPrecondition; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.entity.po.ServerConfig; import com.ctrip.framework.apollo.portal.repository.ServerConfigRepository; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/UserInfoController.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/UserInfoController.java index 2a0273bd7cf..dbfc265ba45 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/UserInfoController.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/controller/UserInfoController.java @@ -1,8 +1,8 @@ package com.ctrip.framework.apollo.portal.controller; +import com.ctrip.framework.apollo.portal.entity.po.UserInfo; import com.ctrip.framework.apollo.portal.spi.LogoutHandler; import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; -import com.ctrip.framework.apollo.portal.entity.po.UserInfo; import com.ctrip.framework.apollo.portal.spi.UserService; import org.springframework.beans.factory.annotation.Autowired; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/CreationListener.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/CreationListener.java index de0ae058647..dee999c3704 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/CreationListener.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/listener/CreationListener.java @@ -4,9 +4,9 @@ import com.ctrip.framework.apollo.common.dto.AppNamespaceDTO; import com.ctrip.framework.apollo.common.utils.BeanUtils; import com.ctrip.framework.apollo.core.enums.Env; -import com.ctrip.framework.apollo.portal.components.PortalSettings; import com.ctrip.framework.apollo.portal.api.AdminServiceAPI; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.portal.components.PortalSettings; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +37,7 @@ public void onAppCreationEvent(AppCreationEvent event) { appAPI.createApp(env, appDTO); } catch (Throwable e) { logger.error("call appAPI.createApp error.(appId={appId}, env={env})", appDTO.getAppId(), env, e); - Cat.logError(String.format("call appAPI.createApp error. (appId=%s, env=%s)", appDTO.getAppId(), env), e); + Tracer.logError(String.format("call appAPI.createApp error. (appId=%s, env=%s)", appDTO.getAppId(), env), e); } } } @@ -51,7 +51,7 @@ public void onAppNamespaceCreationEvent(AppNamespaceCreationEvent event) { namespaceAPI.createAppNamespace(env, appNamespace); } catch (Throwable e) { logger.error("call appAPI.createApp error.(appId={appId}, env={env})", appNamespace.getAppId(), env, e); - Cat.logError(String.format("call appAPI.createApp error. (appId=%s, env=%s)", appNamespace.getAppId(), env), e); + Tracer.logError(String.format("call appAPI.createApp error. (appId=%s, env=%s)", appNamespace.getAppId(), env), e); } } } diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppNamespaceService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppNamespaceService.java index 8320b891d56..fbba8e5575f 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppNamespaceService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppNamespaceService.java @@ -5,8 +5,8 @@ import com.ctrip.framework.apollo.common.exception.ServiceException; import com.ctrip.framework.apollo.core.ConfigConsts; import com.ctrip.framework.apollo.core.enums.ConfigFileFormat; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.repository.AppNamespaceRepository; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java index dfe76ababf9..bbacd6c6d4d 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/AppService.java @@ -9,11 +9,11 @@ import com.ctrip.framework.apollo.common.utils.ExceptionUtils; import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.portal.api.AdminServiceAPI; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.constant.CatEventType; import com.ctrip.framework.apollo.portal.entity.vo.EnvClusterInfo; import com.ctrip.framework.apollo.portal.repository.AppRepository; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; +import com.ctrip.framework.apollo.tracer.Tracer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -107,7 +107,7 @@ public App create(App app) { //role roleInitializationService.initAppRoles(createdApp); - Cat.logEvent(CatEventType.CREATE_APP, appId); + Tracer.logEvent(CatEventType.CREATE_APP, appId); return createdApp; } } diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ClusterService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ClusterService.java index 70413e5cee4..39fa62c6218 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ClusterService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ClusterService.java @@ -4,9 +4,9 @@ import com.ctrip.framework.apollo.common.exception.BadRequestException; import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.portal.api.AdminServiceAPI; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.constant.CatEventType; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,7 +31,7 @@ public ClusterDTO createCluster(Env env, ClusterDTO cluster) { } ClusterDTO clusterDTO = clusterAPI.create(env, cluster); - Cat.logEvent(CatEventType.CREATE_CLUSTER, cluster.getAppId(), "0", cluster.getName()); + Tracer.logEvent(CatEventType.CREATE_CLUSTER, cluster.getAppId(), "0", cluster.getName()); return clusterDTO; } diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/FavoriteService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/FavoriteService.java index 5c9b3a37466..cdf69746e94 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/FavoriteService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/FavoriteService.java @@ -1,11 +1,11 @@ package com.ctrip.framework.apollo.portal.service; import com.ctrip.framework.apollo.common.exception.BadRequestException; -import com.ctrip.framework.apollo.portal.spi.UserService; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; import com.ctrip.framework.apollo.portal.entity.po.Favorite; import com.ctrip.framework.apollo.portal.entity.po.UserInfo; import com.ctrip.framework.apollo.portal.repository.FavoriteRepository; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; +import com.ctrip.framework.apollo.portal.spi.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; diff --git a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ItemService.java b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ItemService.java index 0363e8f0e67..33e471ae644 100644 --- a/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ItemService.java +++ b/apollo-portal/src/main/java/com/ctrip/framework/apollo/portal/service/ItemService.java @@ -10,13 +10,13 @@ import com.ctrip.framework.apollo.core.enums.Env; import com.ctrip.framework.apollo.core.utils.StringUtils; import com.ctrip.framework.apollo.portal.api.AdminServiceAPI; -import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; +import com.ctrip.framework.apollo.portal.components.txtresolver.ConfigTextResolver; import com.ctrip.framework.apollo.portal.constant.CatEventType; import com.ctrip.framework.apollo.portal.entity.model.NamespaceTextModel; import com.ctrip.framework.apollo.portal.entity.vo.ItemDiffs; import com.ctrip.framework.apollo.portal.entity.vo.NamespaceIdentifier; -import com.ctrip.framework.apollo.portal.components.txtresolver.ConfigTextResolver; -import com.dianping.cat.Cat; +import com.ctrip.framework.apollo.portal.spi.UserInfoHolder; +import com.ctrip.framework.apollo.tracer.Tracer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -73,9 +73,9 @@ public void updateConfigItemByText(NamespaceTextModel model) { changeSets.setDataChangeLastModifiedBy(userInfoHolder.getUser().getUserId()); updateItems(appId, env, clusterName, namespaceName, changeSets); - Cat.logEvent(CatEventType.MODIFY_NAMESPACE_BY_TEXT, + Tracer.logEvent(CatEventType.MODIFY_NAMESPACE_BY_TEXT, String.format("%s+%s+%s+%s", appId, env, clusterName, namespaceName)); - Cat.logEvent(CatEventType.MODIFY_NAMESPACE, String.format("%s+%s+%s+%s", appId, env, clusterName, namespaceName)); + Tracer.logEvent(CatEventType.MODIFY_NAMESPACE, String.format("%s+%s+%s+%s", appId, env, clusterName, namespaceName)); } public void updateItems(String appId, Env env, String clusterName, String namespaceName, ItemChangeSets changeSets){ @@ -92,7 +92,7 @@ public ItemDTO createItem(String appId, Env env, String clusterName, String name item.setNamespaceId(namespace.getId()); ItemDTO itemDTO = itemAPI.createItem(appId, env, clusterName, namespaceName, item); - Cat.logEvent(CatEventType.MODIFY_NAMESPACE, String.format("%s+%s+%s+%s", appId, env, clusterName, namespaceName)); + Tracer.logEvent(CatEventType.MODIFY_NAMESPACE, String.format("%s+%s+%s+%s", appId, env, clusterName, namespaceName)); return itemDTO; } @@ -126,7 +126,7 @@ public void syncItems(List comparedNamespaces, List - - - com.dianping.cat.configuration.ClientConfigManager - com.ctrip.framework.apollo.cat.NullClientConfigManager - - - - com.dianping.cat.message.io.TransportManager - com.ctrip.framework.apollo.cat.NullTransportManager - - - - com.dianping.cat.message.spi.MessageManager - com.ctrip.framework.apollo.cat.NullMessageManager - - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - com.dianping.cat.message.MessageProducer - com.ctrip.framework.apollo.cat.NullMessageProducer - - - - com.dianping.cat.message.spi.MessageManager - - - com.dianping.cat.message.internal.MessageIdFactory - - - - - org.codehaus.plexus.logging.LoggerManager - com.ctrip.framework.apollo.cat.NullLoggerManager - - - - diff --git a/pom.xml b/pom.xml index 52d5c381f42..333803018f7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.ctrip.framework.apollo apollo - 0.3.0 + 0.4.0-SNAPSHOT Apollo pom Ctrip Configuration Center @@ -144,7 +144,12 @@ com.dianping.cat cat-client - 1.5.0 + 2.1.2 + + + org.unidal.framework + foundation-service + 2.5.0 com.ctrip.platform @@ -433,6 +438,18 @@ true + + ctrip-dev + + dev + + + + com.dianping.cat + cat-client + + + ctrip @@ -447,6 +464,10 @@ com.ctrip.framework.clogging clogging-agent + + com.dianping.cat + cat-client + diff --git a/scripts/build.sh b/scripts/build.sh index c1f5e76285d..630dfbeb33a 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -24,13 +24,13 @@ cd .. # package config-service and admin-service echo "==== starting to build config-service and admin-service ====" -mvn clean package -DskipTests -pl apollo-configservice,apollo-adminservice -am -Pgithub -Dapollo_profile=dev -Dspring_datasource_url=$apollo_config_db_url -Dspring_datasource_username=$apollo_config_db_username -Dspring_datasource_password=$apollo_config_db_password +mvn clean package -DskipTests -pl apollo-configservice,apollo-adminservice -am -Dapollo_profile=dev -Dspring_datasource_url=$apollo_config_db_url -Dspring_datasource_username=$apollo_config_db_username -Dspring_datasource_password=$apollo_config_db_password echo "==== building config-service and admin-service finished ====" echo "==== starting to build portal ====" -mvn clean package -DskipTests -pl apollo-portal -am -Pgithub -Dapollo_profile=dev -Dspring_datasource_url=$apollo_portal_db_url -Dspring_datasource_username=$apollo_portal_db_username -Dspring_datasource_password=$apollo_portal_db_password $META_SERVERS_OPTS +mvn clean package -DskipTests -pl apollo-portal -am -Dapollo_profile=dev -Dspring_datasource_url=$apollo_portal_db_url -Dspring_datasource_username=$apollo_portal_db_username -Dspring_datasource_password=$apollo_portal_db_password $META_SERVERS_OPTS echo "==== building portal finished ===="