This is an automated email from the ASF dual-hosted git repository.

alexstocks pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new e4690d1ea chore: remove apollo config center (#1932)
e4690d1ea is described below

commit e4690d1ea7bb5ab50c94bcb6fe9ad8d69de8296e
Author: MasterKenway <[email protected]>
AuthorDate: Sun Jun 12 10:46:06 2022 +0800

    chore: remove apollo config center (#1932)
---
 README.md                                          |   2 +-
 README_CN.md                                       |   2 +-
 config/config_center_config_test.go                |  90 ---------
 config/testdata/config/center/apollo.yaml          |   8 -
 .../consumer_config_with_configcenter_apollo.yml   |  24 ---
 config_center/apollo/doc.go                        |  19 --
 config_center/apollo/factory.go                    |  45 -----
 config_center/apollo/impl.go                       | 171 ----------------
 config_center/apollo/impl_test.go                  | 216 ---------------------
 config_center/apollo/listener.go                   |  77 --------
 config_center/apollo/mockDubbogo.yaml.json         |   1 -
 imports/imports.go                                 |   1 -
 12 files changed, 2 insertions(+), 654 deletions(-)

diff --git a/README.md b/README.md
index d97918d09..bb92459f1 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ Dubbo-go has supported many RPC protocol, like Triple, Dubbo 
JSONRPC, gRPC, HTTP
 ![](https://dubbogo.github.io/img/devops.png)
 
 - **Registry**: Nacos, Zookeeper, ETCD, Polaris-mesh, Consul.
-- **ConfigCenter**: Nacos, Apollo, Zookeeper
+- **ConfigCenter**: Nacos, Zookeeper
 - **Cluster Strategy**: Failover, 
[Failfast](https://github.com/apache/dubbo-go/pull/140), 
[Failsafe/Failback](https://github.com/apache/dubbo-go/pull/136), 
[Available](https://github.com/apache/dubbo-go/pull/155), 
[Broadcast](https://github.com/apache/dubbo-go/pull/158), 
[Forking](https://github.com/apache/dubbo-go/pull/161)
 - **Load Balance**: 
[AdaptiveService](https://github.com/apache/dubbo-go/pull/1649), Random, 
[RoundRobin](https://github.com/apache/dubbo-go/pull/66), 
[LeastActive](https://github.com/apache/dubbo-go/pull/65), 
[ConsistentHash](https://github.com/apache/dubbo-go/pull/261)
 - [**Filter**](./filter): Echo, Hystrix, Token, AccessLog, TpsLimiter, 
ExecuteLimit, Generic, Auth/Sign, Metrics, Tracing, Active, Seata, Sentinel
diff --git a/README_CN.md b/README_CN.md
index a87921bf1..217e5e4da 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -32,7 +32,7 @@ Dubbo-go 生态覆盖多种网络协议:Triple、Dubbo、JSONRPC、gRPC、HTTP
 
 - **配置中心**
 
-  开发者可以使用Nacos、Apollo(携程开源)、Zookeeper 进行框架/用户的配置的发布和拉取。
+  开发者可以使用Nacos、Zookeeper 进行框架/用户的配置的发布和拉取。
 
 - **集群策略**: Failover, [Failfast](https://github.com/apache/dubbo-go/pull/140), 
[Failsafe/Failback](https://github.com/apache/dubbo-go/pull/136), 
[Available](https://github.com/apache/dubbo-go/pull/155), 
[Broadcast](https://github.com/apache/dubbo-go/pull/158), 
[Forking](https://github.com/apache/dubbo-go/pull/161) 等
 
diff --git a/config/config_center_config_test.go 
b/config/config_center_config_test.go
deleted file mode 100644
index b32c4c5da..000000000
--- a/config/config_center_config_test.go
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package config
-
-import (
-       "testing"
-)
-
-import (
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-       _ "dubbo.apache.org/dubbo-go/v3/config_center/apollo"
-)
-
-func TestApolloConfigCenterConfig(t *testing.T) {
-
-       err := Load(WithPath("./testdata/config/center/apollo.yaml"))
-       assert.Nil(t, err)
-
-       registries := rootConfig.Registries
-       assert.NotNil(t, registries)
-}
-func TestConfigCenterConfig(t *testing.T) {
-       var (
-               config *CenterConfig
-               err    error
-       )
-
-       t.Run("ConfigCenterConfigBuilder", func(t *testing.T) {
-               config = NewConfigCenterConfigBuilder().
-                       SetProtocol("protocol").
-                       SetUserName("userName").
-                       SetAddress("address").
-                       SetPassword("password").
-                       SetNamespace("namespace").
-                       SetGroup("group").
-                       SetDataID("dataId").
-                       Build()
-
-               err = config.check()
-               assert.Nil(t, err)
-
-               assert.Equal(t, config.Protocol, "protocol")
-               assert.Equal(t, config.Username, "userName")
-               assert.Equal(t, config.Address, "address")
-               assert.Equal(t, config.Password, "password")
-               assert.Equal(t, config.Namespace, "namespace")
-               assert.Equal(t, config.Group, "group")
-               assert.Equal(t, config.DataId, "dataId")
-               assert.Equal(t, config.Prefix(), constant.ConfigCenterPrefix)
-               //assert.Equal(t, config.NameId(),
-               //      strings.Join([]string{constant.ConfigCenterPrefix, 
"protocol", "address"}, "-"))
-       })
-
-       t.Run("GetUrlMap", func(t *testing.T) {
-               url := config.GetUrlMap()
-               assert.Equal(t, url.Get(constant.ConfigNamespaceKey), 
config.Namespace)
-               assert.Equal(t, url.Get(constant.ConfigClusterKey), 
config.Cluster)
-       })
-
-       t.Run("translateConfigAddress", func(t *testing.T) {
-               address := config.translateConfigAddress()
-               assert.Equal(t, address, "address")
-       })
-
-       t.Run("toUrl", func(t *testing.T) {
-               url, err := config.toURL()
-               assert.Nil(t, err)
-               namespace := url.GetParam(constant.ConfigNamespaceKey, 
"namespace")
-               assert.Equal(t, namespace, "namespace")
-       })
-}
diff --git a/config/testdata/config/center/apollo.yaml 
b/config/testdata/config/center/apollo.yaml
deleted file mode 100644
index 0b10e9e79..000000000
--- a/config/testdata/config/center/apollo.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-dubbo:
-  config-center:
-    address: apollo://106.54.227.205:8080
-    cluster: dev
-    namespace: dubbogo.yaml
-    app-id: dubbo-go
-    params:
-      secret: 3a64cf5cd9ac4fcd94eb045de433689c
\ No newline at end of file
diff --git a/config/testdata/consumer_config_with_configcenter_apollo.yml 
b/config/testdata/consumer_config_with_configcenter_apollo.yml
deleted file mode 100644
index 71a8b8c9d..000000000
--- a/config/testdata/consumer_config_with_configcenter_apollo.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-# use apollo config center for fetch config file
-# default config file namespace is dubbo.properties
-# consumer config file Ref:consumer_config.properties
-# provider config file Ref:provider_config.properties
-config_center:
-  protocol: apollo
-  address: 106.12.25.204:8080
-  group: testApplication_yang
-  cluster: dev
-  # 'namespace' can be used for router rule , default value is dubbo.properties
-  # but if you want to change router rule config file ,just open this item
-#  namespace: governance.properties
-  # 'config_file' is not necessary ,default : dubbo.properties
-  # but if you want to change config file ,just open this item
-#  config_file: mockDubbog.properties
-
-# application config required
-application:
-  organization: "ikurento.com"
-  name: "BDTService"
-  module: "dubbogo user-info server"
-  version: "0.0.1"
-  owner: "ZX"
-  environment: "dev"
\ No newline at end of file
diff --git a/config_center/apollo/doc.go b/config_center/apollo/doc.go
deleted file mode 100644
index a94ed5f44..000000000
--- a/config_center/apollo/doc.go
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Package apollo implements config center around Apollo.
-package apollo
diff --git a/config_center/apollo/factory.go b/config_center/apollo/factory.go
deleted file mode 100644
index 536c22feb..000000000
--- a/config_center/apollo/factory.go
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package apollo
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common"
-       "dubbo.apache.org/dubbo-go/v3/common/extension"
-       "dubbo.apache.org/dubbo-go/v3/config_center"
-       "dubbo.apache.org/dubbo-go/v3/config_center/parser"
-)
-
-func init() {
-       extension.SetConfigCenterFactory("apollo", 
createDynamicConfigurationFactory)
-}
-
-func createDynamicConfigurationFactory() 
config_center.DynamicConfigurationFactory {
-       return &apolloConfigurationFactory{}
-}
-
-type apolloConfigurationFactory struct{}
-
-// GetDynamicConfiguration gets the dynamic configuration
-func (f *apolloConfigurationFactory) GetDynamicConfiguration(url *common.URL) 
(config_center.DynamicConfiguration, error) {
-       dynamicConfiguration, err := newApolloConfiguration(url)
-       if err != nil {
-               return nil, err
-       }
-       dynamicConfiguration.SetParser(&parser.DefaultConfigurationParser{})
-       return dynamicConfiguration, err
-}
diff --git a/config_center/apollo/impl.go b/config_center/apollo/impl.go
deleted file mode 100644
index f6f64e47e..000000000
--- a/config_center/apollo/impl.go
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package apollo
-
-import (
-       "fmt"
-       "regexp"
-       "strings"
-       "sync"
-)
-
-import (
-       gxset "github.com/dubbogo/gost/container/set"
-
-       perrors "github.com/pkg/errors"
-
-       "github.com/zouyx/agollo/v3"
-       "github.com/zouyx/agollo/v3/env/config"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common"
-       "dubbo.apache.org/dubbo-go/v3/common/constant"
-       "dubbo.apache.org/dubbo-go/v3/common/logger"
-       cc "dubbo.apache.org/dubbo-go/v3/config_center"
-       "dubbo.apache.org/dubbo-go/v3/config_center/parser"
-)
-
-const (
-       apolloProtocolPrefix = "http://";
-)
-
-type apolloConfiguration struct {
-       cc.BaseDynamicConfiguration
-       url *common.URL
-
-       listeners sync.Map
-       appConf   *config.AppConfig
-       parser    parser.ConfigurationParser
-}
-
-func newApolloConfiguration(url *common.URL) (*apolloConfiguration, error) {
-       c := &apolloConfiguration{
-               url: url,
-       }
-       c.appConf = &config.AppConfig{
-               AppID:            url.GetParam(constant.ConfigAppIDKey, ""),
-               Cluster:          url.GetParam(constant.ConfigClusterKey, ""),
-               NamespaceName:    url.GetParam(constant.ConfigNamespaceKey, 
cc.DefaultGroup),
-               IP:               c.getAddressWithProtocolPrefix(url),
-               Secret:           url.GetParam(constant.ConfigSecretKey, ""),
-               IsBackupConfig:   
url.GetParamBool(constant.ConfigBackupConfigKey, true),
-               BackupConfigPath: 
url.GetParam(constant.ConfigBackupConfigPathKey, ""),
-       }
-       logger.Infof("[Apollo ConfigCenter] New Apollo ConfigCenter with 
Configuration: %+v, url = %+v", c.appConf, c.url)
-       agollo.InitCustomConfig(func() (*config.AppConfig, error) {
-               return c.appConf, nil
-       })
-       return c, agollo.Start()
-}
-
-func (c *apolloConfiguration) AddListener(key string, listener 
cc.ConfigurationListener, opts ...cc.Option) {
-       k := &cc.Options{}
-       for _, opt := range opts {
-               opt(k)
-       }
-
-       key = k.Group + key
-       l, _ := c.listeners.LoadOrStore(key, newApolloListener())
-       l.(*apolloListener).AddListener(listener)
-}
-
-func (c *apolloConfiguration) RemoveListener(key string, listener 
cc.ConfigurationListener, opts ...cc.Option) {
-       k := &cc.Options{}
-       for _, opt := range opts {
-               opt(k)
-       }
-
-       key = k.Group + key
-       l, ok := c.listeners.Load(key)
-       if ok {
-               l.(*apolloListener).RemoveListener(listener)
-       }
-}
-
-func (c *apolloConfiguration) GetInternalProperty(key string, opts 
...cc.Option) (string, error) {
-       newConfig := agollo.GetConfig(c.appConf.NamespaceName)
-       if newConfig == nil {
-               return "", perrors.New(fmt.Sprintf("nothing in namespace:%s ", 
key))
-       }
-       return newConfig.GetStringValue(key, ""), nil
-}
-
-func (c *apolloConfiguration) GetRule(key string, opts ...cc.Option) (string, 
error) {
-       return c.GetInternalProperty(key, opts...)
-}
-
-// PublishConfig will publish the config with the (key, group, value) pair
-func (c *apolloConfiguration) PublishConfig(string, string, string) error {
-       return perrors.New("unsupport operation")
-}
-
-// GetConfigKeysByGroup will return all keys with the group
-func (c *apolloConfiguration) GetConfigKeysByGroup(group string) 
(*gxset.HashSet, error) {
-       return nil, perrors.New("unsupport operation")
-}
-
-func (c *apolloConfiguration) GetProperties(key string, opts ...cc.Option) 
(string, error) {
-       /**
-        * when group is not null, we are getting startup configs(config file) 
from ShutdownConfig Center, for example:
-        * key=dubbo.propertie
-        */
-       if key == "" {
-               key = c.appConf.NamespaceName
-       }
-       tmpConfig := agollo.GetConfig(key)
-       if tmpConfig == nil {
-               return "", perrors.New(fmt.Sprintf("nothing in namespace:%s ", 
key))
-       }
-
-       content := tmpConfig.GetContent()
-       b := []byte(content)
-       if len(b) == 0 {
-               return "", perrors.New(fmt.Sprintf("nothing in namespace:%s ", 
key))
-       }
-
-       content = string(b[8:]) //remove defalut content= prefix
-       return content, nil
-}
-
-func (c *apolloConfiguration) getAddressWithProtocolPrefix(url *common.URL) 
string {
-       address := url.Location
-       converted := address
-       if len(address) != 0 {
-               addr := regexp.MustCompile(`\s+`).ReplaceAllString(address, "")
-               parts := strings.Split(addr, ",")
-               addrs := make([]string, 0)
-               for _, part := range parts {
-                       addr := part
-                       if !strings.HasPrefix(part, apolloProtocolPrefix) {
-                               addr = apolloProtocolPrefix + part
-                       }
-                       addrs = append(addrs, addr)
-               }
-               converted = strings.Join(addrs, ",")
-       }
-       return converted
-}
-
-func (c *apolloConfiguration) Parser() parser.ConfigurationParser {
-       return c.parser
-}
-
-func (c *apolloConfiguration) SetParser(p parser.ConfigurationParser) {
-       c.parser = p
-}
diff --git a/config_center/apollo/impl_test.go 
b/config_center/apollo/impl_test.go
deleted file mode 100644
index 70b03af11..000000000
--- a/config_center/apollo/impl_test.go
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package apollo
-
-import (
-       "encoding/json"
-       "fmt"
-       "net/http"
-       "net/http/httptest"
-       "strings"
-       "sync"
-       "testing"
-)
-
-import (
-       "github.com/knadh/koanf"
-       "github.com/knadh/koanf/parsers/yaml"
-       "github.com/knadh/koanf/providers/rawbytes"
-
-       "github.com/stretchr/testify/assert"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common"
-       "dubbo.apache.org/dubbo-go/v3/config"
-       "dubbo.apache.org/dubbo-go/v3/config_center"
-       "dubbo.apache.org/dubbo-go/v3/config_center/parser"
-       "dubbo.apache.org/dubbo-go/v3/remoting"
-)
-
-const (
-       mockAppId     = "testApplication_yang"
-       mockCluster   = "dev"
-       mockNamespace = "mockDubbogo.yaml"
-       mockNotifyRes = `[{
-       "namespaceName": "mockDubbogo.yaml",
-       "notificationId": 53050,
-       "messages": {
-               "details": {
-                       "testApplication_yang+default+mockDubbogo": 53050
-               }
-       }
-}]`
-       mockServiceConfigRes = `[{
-       "appName": "APOLLO-CONFIGSERVICE",
-       "instanceId": "instance-300408ep:apollo-configservice:8080",
-       "homepageUrl": "http://localhost:8080";
-}]`
-)
-
-var mockConfigRes = `{
-       "appId": "testApplication_yang",
-       "cluster": "default",
-       "namespaceName": "mockDubbogo.yaml",
-       "configurations":{
-               "content":"dubbo:\n  application:\n     name: \"demo-server\"\n 
    version: \"2.0\"\n"
-    },
-       "releaseKey": "20191104105242-0f13805d89f834a4"
-}`
-
-func initApollo() *httptest.Server {
-       handlerMap := make(map[string]func(http.ResponseWriter, *http.Request), 
1)
-       handlerMap[mockNamespace] = configResponse
-
-       return runMockConfigServer(handlerMap, notifyResponse)
-}
-
-func configResponse(rw http.ResponseWriter, _ *http.Request) {
-       result := mockConfigRes
-       fmt.Fprintf(rw, "%s", result)
-}
-
-func notifyResponse(rw http.ResponseWriter, req *http.Request) {
-       result := mockNotifyRes
-       fmt.Fprintf(rw, "%s", result)
-}
-
-func serviceConfigResponse(rw http.ResponseWriter, _ *http.Request) {
-       result := mockServiceConfigRes
-       fmt.Fprintf(rw, "%s", result)
-}
-
-// run mock config server
-func runMockConfigServer(handlerMap map[string]func(http.ResponseWriter, 
*http.Request),
-       notifyHandler func(http.ResponseWriter, *http.Request)) 
*httptest.Server {
-       uriHandlerMap := make(map[string]func(http.ResponseWriter, 
*http.Request))
-       for namespace, handler := range handlerMap {
-               uri := fmt.Sprintf("/configs/%s/%s/%s", mockAppId, mockCluster, 
namespace)
-               uriHandlerMap[uri] = handler
-       }
-       uriHandlerMap["/notifications/v2"] = notifyHandler
-       uriHandlerMap["/services/config"] = serviceConfigResponse
-
-       ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r 
*http.Request) {
-               uri := r.RequestURI
-               for path, handler := range uriHandlerMap {
-                       if strings.HasPrefix(uri, path) {
-                               handler(w, r)
-                               break
-                       }
-               }
-       }))
-
-       return ts
-}
-
-func TestGetConfig(t *testing.T) {
-       configuration := initMockApollo(t)
-       configs, err := configuration.GetProperties(mockNamespace, 
config_center.WithGroup("dubbo"))
-       assert.NoError(t, err)
-       koan := koanf.New(".")
-       err = koan.Load(rawbytes.Provider([]byte(configs)), yaml.Parser())
-       assert.NoError(t, err)
-       rc := &config.RootConfig{}
-       err = koan.UnmarshalWithConf(rc.Prefix(), rc, koanf.UnmarshalConf{Tag: 
"yaml"})
-       assert.NoError(t, err)
-
-       assert.Equal(t, "demo-server", rc.Application.Name)
-}
-
-func TestGetConfigItem(t *testing.T) {
-       configuration := initMockApollo(t)
-       configs, err := configuration.GetInternalProperty("content")
-       assert.NoError(t, err)
-       configuration.SetParser(&parser.DefaultConfigurationParser{})
-       assert.NoError(t, err)
-       type MockRes struct {
-               Configurations struct {
-                       Content string
-               }
-       }
-       mockRes := &MockRes{}
-       err = json.Unmarshal([]byte(mockConfigRes), mockRes)
-       assert.NoError(t, err)
-       assert.Equal(t, mockRes.Configurations.Content, configs)
-}
-
-func initMockApollo(t *testing.T) *apolloConfiguration {
-       c := &config.RootConfig{ConfigCenter: &config.CenterConfig{
-               Protocol:  "apollo",
-               Address:   "106.12.25.204:8080",
-               AppID:     "testApplication_yang",
-               Cluster:   "dev",
-               Namespace: "mockDubbogo.yaml",
-       }}
-       apollo := initApollo()
-       apolloUrl := strings.ReplaceAll(apollo.URL, "http", "apollo")
-       url, err := common.NewURL(apolloUrl, 
common.WithParams(c.ConfigCenter.GetUrlMap()))
-       assert.NoError(t, err)
-       configuration, err := newApolloConfiguration(url)
-       assert.NoError(t, err)
-       return configuration
-}
-
-func TestListener(t *testing.T) {
-       listener := &apolloDataListener{}
-       listener.wg.Add(2)
-       apollo := initMockApollo(t)
-       mockConfigRes = `{
-       "appId": "testApplication_yang",
-       "cluster": "default",
-       "namespaceName": "mockDubbogo.yaml",
-       "configurations": {
-               "registries.hangzhouzk.username": "11111"
-       },
-       "releaseKey": "20191104105242-0f13805d89f834a4"
-}`
-       // test add
-       apollo.AddListener(mockNamespace, listener)
-       listener.wg.Wait()
-       assert.Equal(t, "mockDubbogo.yaml", listener.event)
-       assert.Greater(t, listener.count, 0)
-
-       // test remove
-       apollo.RemoveListener(mockNamespace, listener)
-       listenerCount := 0
-       apollo.listeners.Range(func(_, value interface{}) bool {
-               apolloListener := value.(*apolloListener)
-               for e := range apolloListener.listeners {
-                       t.Logf("listener:%v", e)
-                       listenerCount++
-               }
-               return true
-       })
-       assert.Equal(t, listenerCount, 0)
-}
-
-type apolloDataListener struct {
-       wg    sync.WaitGroup
-       count int
-       event string
-}
-
-func (l *apolloDataListener) Process(configType 
*config_center.ConfigChangeEvent) {
-       if configType.ConfigType != remoting.EventTypeUpdate {
-               return
-       }
-       l.wg.Done()
-       l.count++
-       l.event = configType.Key
-}
diff --git a/config_center/apollo/listener.go b/config_center/apollo/listener.go
deleted file mode 100644
index 9080b7387..000000000
--- a/config_center/apollo/listener.go
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package apollo
-
-import (
-       "github.com/zouyx/agollo/v3"
-       "github.com/zouyx/agollo/v3/storage"
-
-       "gopkg.in/yaml.v2"
-)
-
-import (
-       "dubbo.apache.org/dubbo-go/v3/common/logger"
-       "dubbo.apache.org/dubbo-go/v3/config_center"
-       "dubbo.apache.org/dubbo-go/v3/remoting"
-)
-
-type apolloListener struct {
-       listeners map[config_center.ConfigurationListener]struct{}
-}
-
-// nolint
-func newApolloListener() *apolloListener {
-       return &apolloListener{
-               listeners: 
make(map[config_center.ConfigurationListener]struct{}),
-       }
-}
-
-// OnChange process each listener
-func (a *apolloListener) OnChange(changeEvent *storage.ChangeEvent) {
-}
-
-// OnNewestChange process each listener by all changes
-func (a *apolloListener) OnNewestChange(changeEvent *storage.FullChangeEvent) {
-       b, err := yaml.Marshal(changeEvent.Changes)
-       if err != nil {
-               logger.Errorf("apollo onNewestChange err %+v",
-                       err)
-               return
-       }
-       content := string(b)
-       for listener := range a.listeners {
-               listener.Process(&config_center.ConfigChangeEvent{
-                       ConfigType: remoting.EventTypeUpdate,
-                       Key:        changeEvent.Namespace,
-                       Value:      content,
-               })
-       }
-}
-
-// AddListener adds a listener for apollo
-func (a *apolloListener) AddListener(l config_center.ConfigurationListener) {
-       if _, ok := a.listeners[l]; !ok {
-               a.listeners[l] = struct{}{}
-               agollo.AddChangeListener(a)
-       }
-}
-
-// RemoveListener removes listeners of apollo
-func (a *apolloListener) RemoveListener(l config_center.ConfigurationListener) 
{
-       delete(a.listeners, l)
-}
diff --git a/config_center/apollo/mockDubbogo.yaml.json 
b/config_center/apollo/mockDubbogo.yaml.json
deleted file mode 100644
index 4131beded..000000000
--- a/config_center/apollo/mockDubbogo.yaml.json
+++ /dev/null
@@ -1 +0,0 @@
-{"appId":"testApplication_yang","cluster":"default","namespaceName":"mockDubbogo.yaml","releaseKey":"20191104105242-0f13805d89f834a4","configurations":{"registries.hangzhouzk.username":"11111"}}
diff --git a/imports/imports.go b/imports/imports.go
index fdb845878..9e26015fa 100644
--- a/imports/imports.go
+++ b/imports/imports.go
@@ -34,7 +34,6 @@ import (
        _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance/roundrobin"
        _ "dubbo.apache.org/dubbo-go/v3/cluster/router/meshrouter"
        _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
-       _ "dubbo.apache.org/dubbo-go/v3/config_center/apollo"
        _ "dubbo.apache.org/dubbo-go/v3/config_center/nacos"
        _ "dubbo.apache.org/dubbo-go/v3/config_center/zookeeper"
        _ "dubbo.apache.org/dubbo-go/v3/filter/accesslog"

Reply via email to