diff --git a/config/reference_config.go b/config/reference_config.go
index c1565004c0bf12b5546f703f6b6529c438afd4fa..99d442ad4629db3fa6240c50c43bdefd7f49ac64 100644
--- a/config/reference_config.go
+++ b/config/reference_config.go
@@ -55,6 +55,7 @@ type ReferenceConfig struct {
 	Params        map[string]string `yaml:"params"  json:"params,omitempty" property:"params"`
 	invoker       protocol.Invoker
 	urls          []*common.URL
+	Generic       bool
 }
 
 func (c *ReferenceConfig) Prefix() string {
@@ -170,7 +171,10 @@ func (refconfig *ReferenceConfig) getUrlMap() url.Values {
 
 	//filter
 	urlMap.Set(constant.REFERENCE_FILTER_KEY, mergeValue(consumerConfig.Filter, refconfig.Filter, constant.DEFAULT_REFERENCE_FILTERS))
-	urlMap.Set(constant.REFERENCE_FILTER_KEY, mergeValue(consumerConfig.Filter, refconfig.Filter, constant.GENERIC_REFERENCE_FILTERS))
+	if refconfig.Generic {
+		urlMap.Set(constant.REFERENCE_FILTER_KEY, mergeValue(consumerConfig.Filter, refconfig.Filter, constant.GENERIC_REFERENCE_FILTERS))
+	}
+
 	for _, v := range refconfig.Methods {
 		urlMap.Set("methods."+v.Name+"."+constant.LOADBALANCE_KEY, v.Loadbalance)
 		urlMap.Set("methods."+v.Name+"."+constant.RETRIES_KEY, strconv.FormatInt(v.Retries, 10))
diff --git a/examples/general/dubbo/go-client/app/client.go b/examples/general/dubbo/go-client/app/client.go
index b79874b2bd1728cfb319c5e90b973e8867c0048e..62113e2d3120d901044d4143f2e52b9c8d36c60a 100644
--- a/examples/general/dubbo/go-client/app/client.go
+++ b/examples/general/dubbo/go-client/app/client.go
@@ -295,6 +295,7 @@ func test3() {
 		Cluster:       "failover",
 		Registry:      "hangzhouzk",
 		Protocol:      dubbo.DUBBO,
+		Generic:       true,
 	}
 	referenceConfig.Load(appName) //appName is the unique identification of RPCService
 
diff --git a/filter/impl/generic_filter_test.go b/filter/impl/generic_filter_test.go
index b039fbd89e0bd382b4dd990b744bc7b9feee1804..bdeb9532974297c092aef8dea9d745956f93ecb0 100644
--- a/filter/impl/generic_filter_test.go
+++ b/filter/impl/generic_filter_test.go
@@ -19,9 +19,9 @@ package impl
 
 import (
 	"github.com/stretchr/testify/assert"
-	"reflect"
 )
 import (
+	"reflect"
 	"testing"
 )
 
diff --git a/registry/directory/directory.go b/registry/directory/directory.go
index 11687f82ee5fe0dba6f2bca38b6454ee9c666d91..6a5a194391d8b2d56b22b67e395703285fbf28b8 100644
--- a/registry/directory/directory.go
+++ b/registry/directory/directory.go
@@ -116,7 +116,7 @@ func (dir *registryDirectory) Subscribe(url common.URL) {
 }
 
 //subscribe service from registry , and update the cacheServices
-func (dir *registryDirectory) update(res *registry.ServiceEvent) {
+func (dir *registryDirectory) /**/ update(res *registry.ServiceEvent) {
 	if res == nil {
 		return
 	}