diff --git a/dubbo/readwriter.go b/dubbo/readwriter.go index 270b50788f614c309fe98fcfe2d077c1fb6d6d3b..9db59456c78ead7f95e238fe2ad32cf12bc892c0 100644 --- a/dubbo/readwriter.go +++ b/dubbo/readwriter.go @@ -53,3 +53,31 @@ func (p *RpcClientPackageHandler) Write(ss getty.Session, pkg interface{}) error return jerrors.Trace(ss.WriteBytes(buf.Bytes())) } + +//////////////////////////////////////////// +// RpcServerPackageHandler +//////////////////////////////////////////// + +type RpcServerPackageHandler struct { + server *Server +} + +func NewRpcServerPackageHandler(server *Server) *RpcServerPackageHandler { + return &RpcServerPackageHandler{ + server: server, + } +} + +func (p *RpcServerPackageHandler) Read(ss getty.Session, data []byte) (interface{}, int, error) { + pkg := &DubboPackage{ + Body: nil, + } + + // todo: + return pkg, len(data), nil +} + +func (p *RpcServerPackageHandler) Write(ss getty.Session, pkg interface{}) error { + // todo: + return nil +} diff --git a/dubbo/server.go b/dubbo/server.go index da959e9e98a7f1ed4840b9ac7d78c043b71cfaac..fd16495b945a5d9cd96985b52df7df299ed87d36 100644 --- a/dubbo/server.go +++ b/dubbo/server.go @@ -96,7 +96,7 @@ func (s *Server) newSession(session getty.Session) error { session.SetName(s.conf.GettySessionParam.SessionName) session.SetMaxMsgLen(s.conf.GettySessionParam.MaxMsgLen) - //session.SetPkgHandler(NewRpcServerPackageHandler(s)) + session.SetPkgHandler(NewRpcServerPackageHandler(s)) //session.SetEventListener(NewRpcServerHandler(s.conf.SessionNumber, s.conf.sessionTimeout)) session.SetRQLen(s.conf.GettySessionParam.PkgRQSize) session.SetWQLen(s.conf.GettySessionParam.PkgWQSize) diff --git a/examples/client_config.go b/examples/client_config.go index 63bd492e6501969f50907c6464100aaf517822c9..859d8af23466b15a5dfaadae313f2f6d52f3758c 100644 --- a/examples/client_config.go +++ b/examples/client_config.go @@ -19,7 +19,6 @@ import ( import ( "github.com/dubbo/dubbo-go/registry" "github.com/dubbo/dubbo-go/registry/zookeeper" - "github.com/dubbo/dubbo-go/service" ) const ( @@ -51,7 +50,7 @@ type ( Application_Config registry.ApplicationConfig `yaml:"application_config" json:"application_config,omitempty"` ZkRegistryConfig zookeeper.ZkRegistryConfig `yaml:"zk_registry_config" json:"zk_registry_config,omitempty"` // 涓€涓鎴风鍙厑璁镐娇鐢ㄤ竴涓猻ervice鐨勫叾涓竴涓猤roup鍜屽叾涓竴涓獀ersion - Service_List []service.ServiceConfig `yaml:"service_list" json:"service_list,omitempty"` + Service_List []registry.ServiceConfig `yaml:"service_list" json:"service_list,omitempty"` } ) diff --git a/examples/dubbo/go-client/app/test.go b/examples/dubbo/go-client/app/test.go index 9850917588487c742a39d6e58284b2544d12904c..e881e7d17552c490f53f99e9dcd0b380a942b9c5 100644 --- a/examples/dubbo/go-client/app/test.go +++ b/examples/dubbo/go-client/app/test.go @@ -2,21 +2,21 @@ package main import ( "fmt" - "github.com/dubbo/dubbo-go/examples" - "github.com/dubbo/dubbo-go/service" - "github.com/dubbogo/hessian2" _ "net/http/pprof" ) import ( // "github.com/AlexStocks/goext/log" log "github.com/AlexStocks/log4go" + "github.com/dubbogo/hessian2" jerrors "github.com/juju/errors" ) import ( "github.com/dubbo/dubbo-go/dubbo" + "github.com/dubbo/dubbo-go/examples" "github.com/dubbo/dubbo-go/public" + "github.com/dubbo/dubbo-go/registry" ) func testDubborpc(clientConfig *examples.ClientConfig, userKey string) { @@ -26,7 +26,7 @@ func testDubborpc(clientConfig *examples.ClientConfig, userKey string) { method string serviceIdx int user *DubboUser - conf service.ServiceConfig + conf registry.ServiceConfig ) serviceIdx = -1 svc = "com.ikurento.user.UserProvider" @@ -42,7 +42,7 @@ func testDubborpc(clientConfig *examples.ClientConfig, userKey string) { // Create request method = string("GetUser") - conf = service.ServiceConfig{ + conf = registry.ServiceConfig{ Group: clientConfig.Service_List[serviceIdx].Group, Protocol: public.CodecType(public.CODECTYPE_DUBBO).String(), Version: clientConfig.Service_List[serviceIdx].Version, diff --git a/examples/dubbo/java-client/pom.xml b/examples/dubbo/java-client/pom.xml index 6d53c3c26575fd8745aaedaa4b1ebd31b147d6f9..414ca2bb963c8d8f17df35ad426b42506b944d22 100755 --- a/examples/dubbo/java-client/pom.xml +++ b/examples/dubbo/java-client/pom.xml @@ -27,9 +27,21 @@ <skip_maven_deploy>false</skip_maven_deploy> <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version> - <dubbo-version>2.5.10</dubbo-version> + <dubbo-version>2.6.5</dubbo-version> </properties> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>dubbo-dependencies-bom</artifactId> + <version>${dubbo-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> <dependency> <groupId>com.qianmi</groupId> @@ -41,6 +53,17 @@ <artifactId>dubbo</artifactId> <version>${dubbo-version}</version> </dependency> + + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + <dependency> + <groupId>org.apache.curator</groupId> + <artifactId>curator-framework</artifactId> + <version>2.12.0</version> + </dependency> + <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> diff --git a/examples/dubbo/java-server/pom.xml b/examples/dubbo/java-server/pom.xml index 4044ad15d239340a0a6312984b60d030f489493c..12d00ebbcd58262afb00f249445fd9e7b68857ca 100644 --- a/examples/dubbo/java-server/pom.xml +++ b/examples/dubbo/java-server/pom.xml @@ -12,10 +12,22 @@ <properties> <skip_maven_deploy>false</skip_maven_deploy> - <dubbo-version>2.5.10</dubbo-version> + <dubbo-version>2.6.5</dubbo-version> <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version> </properties> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>dubbo-dependencies-bom</artifactId> + <version>${dubbo-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> <dependency> <groupId>org.slf4j</groupId> @@ -31,6 +43,16 @@ </exclusions> </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + <dependency> + <groupId>org.apache.curator</groupId> + <artifactId>curator-framework</artifactId> + <version>2.12.0</version> + </dependency> + <dependency> <groupId>com.qianmi</groupId> <artifactId>dubbo-rpc-jsonrpc</artifactId> diff --git a/examples/jsonrpc/go-server/app/config.go b/examples/jsonrpc/go-server/app/config.go index 23c1d853ec768b102e00d6b964af914657a205d4..08c2d85660893483bdc8188e7b8933f847052cad 100644 --- a/examples/jsonrpc/go-server/app/config.go +++ b/examples/jsonrpc/go-server/app/config.go @@ -19,7 +19,6 @@ import ( "github.com/dubbo/dubbo-go/registry" "github.com/dubbo/dubbo-go/registry/zookeeper" "github.com/dubbo/dubbo-go/server" - "github.com/dubbo/dubbo-go/service" ) const ( @@ -46,7 +45,7 @@ type ( // Registry_Address string `default:"192.168.35.3:2181"` Registry string `default:"zookeeper" yaml:"registry" json:"registry,omitempty"` ZkRegistryConfig zookeeper.ZkRegistryConfig `yaml:"zk_registry_config" json:"zk_registry_config,omitempty"` - Service_List []service.ServiceConfig `yaml:"service_list" json:"service_list,omitempty"` + Service_List []registry.ServiceConfig `yaml:"service_list" json:"service_list,omitempty"` Server_List []server.ServerConfig `yaml:"server_list" json:"server_list,omitempty"` } ) diff --git a/examples/jsonrpc/java-client/pom.xml b/examples/jsonrpc/java-client/pom.xml index 6d53c3c26575fd8745aaedaa4b1ebd31b147d6f9..bc6d2b7ff022d5de0a473962adf5ed82628f20a3 100644 --- a/examples/jsonrpc/java-client/pom.xml +++ b/examples/jsonrpc/java-client/pom.xml @@ -1,207 +1,230 @@ -<!-- - - Copyright 1999-2011 Alibaba Group. - - - - Licensed 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. ---> -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>com.ikurento</groupId> - <artifactId>user-info-client</artifactId> - <packaging>jar</packaging> - <version>0.2.0</version> - <description>The demo consumer module of dubbo project</description> - - <properties> - <skip_maven_deploy>false</skip_maven_deploy> - - <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version> - <dubbo-version>2.5.10</dubbo-version> - </properties> - - <dependencies> - <dependency> - <groupId>com.qianmi</groupId> - <artifactId>dubbo-rpc-jsonrpc</artifactId> - <version>${dubbo-jsonrpc-version}</version> - </dependency> - <dependency> - <groupId>com.alibaba</groupId> - <artifactId>dubbo</artifactId> - <version>${dubbo-version}</version> - </dependency> - <dependency> - <groupId>org.javassist</groupId> - <artifactId>javassist</artifactId> - <version>3.20.0-GA</version> - </dependency> - <dependency> - <groupId>org.jboss.netty</groupId> - <artifactId>netty</artifactId> - <version>3.2.5.Final</version> - </dependency> - <dependency> - <groupId>org.apache.mina</groupId> - <artifactId>mina-core</artifactId> - <version>1.1.7</version> - </dependency> - <dependency> - <groupId>org.glassfish.grizzly</groupId> - <artifactId>grizzly-core</artifactId> - <version>2.1.4</version> - </dependency> - <dependency> - <groupId>org.apache.httpcomponents</groupId> - <artifactId>httpclient</artifactId> - <version>4.5.7</version> - </dependency> - <dependency> - <groupId>com.alibaba</groupId> - <artifactId>fastjson</artifactId> - <version>1.2.56</version> - </dependency> - <dependency> - <groupId>com.thoughtworks.xstream</groupId> - <artifactId>xstream</artifactId> - <version>1.4.1</version> - </dependency> - <dependency> - <groupId>org.apache.bsf</groupId> - <artifactId>bsf-api</artifactId> - <version>3.1</version> - </dependency> - <dependency> - <groupId>org.apache.zookeeper</groupId> - <artifactId>zookeeper</artifactId> - <version>3.3.3</version> - </dependency> - <dependency> - <groupId>com.github.sgroschupf</groupId> - <artifactId>zkclient</artifactId> - <version>0.1</version> - </dependency> - <dependency> - <groupId>com.netflix.curator</groupId> - <artifactId>curator-framework</artifactId> - <version>1.1.16</version> - </dependency> - <dependency> - <groupId>com.googlecode.xmemcached</groupId> - <artifactId>xmemcached</artifactId> - <version>1.3.6</version> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-frontend-simple</artifactId> - <version>2.6.1</version> - </dependency> - <dependency> - <groupId>org.apache.cxf</groupId> - <artifactId>cxf-rt-transports-http</artifactId> - <version>2.6.1</version> - </dependency> - <dependency> - <groupId>org.apache.thrift</groupId> - <artifactId>libthrift</artifactId> - <version>0.12.0</version> - </dependency> - <dependency> - <groupId>com.caucho</groupId> - <artifactId>hessian</artifactId> - <version>4.0.7</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.5</version> - </dependency> - <dependency> - <groupId>org.mortbay.jetty</groupId> - <artifactId>jetty</artifactId> - <version>6.1.26</version> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.16</version> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>1.6.2</version> - </dependency> - <dependency> - <groupId>redis.clients</groupId> - <artifactId>jedis</artifactId> - <version>2.1.0</version> - </dependency> - <dependency> - <groupId>javax.validation</groupId> - <artifactId>validation-api</artifactId> - <version>1.0.0.GA</version> - </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-validator</artifactId> - <version>4.2.0.Final</version> - </dependency> - <dependency> - <groupId>javax.cache</groupId> - <artifactId>cache-api</artifactId> - <version>0.4</version> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <artifactId>maven-dependency-plugin</artifactId> - <executions> - <execution> - <id>unpack</id> - <phase>package</phase> - <goals> - <goal>unpack</goal> - </goals> - <configuration> - <artifactItems> - <artifactItem> - <groupId>com.alibaba</groupId> - <artifactId>dubbo</artifactId> - <version>${dubbo-version}</version> - <outputDirectory>${project.build.directory}/dubbo</outputDirectory> - <includes>META-INF/assembly/**</includes> - </artifactItem> - </artifactItems> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <descriptor>src/main/assembly/assembly.xml</descriptor> - </configuration> - <executions> - <execution> - <id>make-assembly</id> - <phase>package</phase> - <goals> - <goal>single</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> -</project> +<!-- + - Copyright 1999-2011 Alibaba Group. + - + - Licensed 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. +--> +<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>com.ikurento</groupId> + <artifactId>user-info-client</artifactId> + <packaging>jar</packaging> + <version>0.2.0</version> + <description>The demo consumer module of dubbo project</description> + + <properties> + <skip_maven_deploy>false</skip_maven_deploy> + + <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version> + <dubbo-version>2.6.5</dubbo-version> + </properties> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>dubbo-dependencies-bom</artifactId> + <version>${dubbo-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>com.qianmi</groupId> + <artifactId>dubbo-rpc-jsonrpc</artifactId> + <version>${dubbo-jsonrpc-version}</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>dubbo</artifactId> + <version>${dubbo-version}</version> + </dependency> + + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + <dependency> + <groupId>org.apache.curator</groupId> + <artifactId>curator-framework</artifactId> + <version>2.12.0</version> + </dependency> + + <dependency> + <groupId>org.javassist</groupId> + <artifactId>javassist</artifactId> + <version>3.20.0-GA</version> + </dependency> + <dependency> + <groupId>org.jboss.netty</groupId> + <artifactId>netty</artifactId> + <version>3.2.5.Final</version> + </dependency> + <dependency> + <groupId>org.apache.mina</groupId> + <artifactId>mina-core</artifactId> + <version>1.1.7</version> + </dependency> + <dependency> + <groupId>org.glassfish.grizzly</groupId> + <artifactId>grizzly-core</artifactId> + <version>2.1.4</version> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.5.7</version> + </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>fastjson</artifactId> + <version>1.2.56</version> + </dependency> + <dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + <version>1.4.1</version> + </dependency> + <dependency> + <groupId>org.apache.bsf</groupId> + <artifactId>bsf-api</artifactId> + <version>3.1</version> + </dependency> + <dependency> + <groupId>org.apache.zookeeper</groupId> + <artifactId>zookeeper</artifactId> + <version>3.3.3</version> + </dependency> + <dependency> + <groupId>com.github.sgroschupf</groupId> + <artifactId>zkclient</artifactId> + <version>0.1</version> + </dependency> + <dependency> + <groupId>com.netflix.curator</groupId> + <artifactId>curator-framework</artifactId> + <version>1.1.16</version> + </dependency> + <dependency> + <groupId>com.googlecode.xmemcached</groupId> + <artifactId>xmemcached</artifactId> + <version>1.3.6</version> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-frontend-simple</artifactId> + <version>2.6.1</version> + </dependency> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-rt-transports-http</artifactId> + <version>2.6.1</version> + </dependency> + <dependency> + <groupId>org.apache.thrift</groupId> + <artifactId>libthrift</artifactId> + <version>0.12.0</version> + </dependency> + <dependency> + <groupId>com.caucho</groupId> + <artifactId>hessian</artifactId> + <version>4.0.7</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.5</version> + </dependency> + <dependency> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty</artifactId> + <version>6.1.26</version> + </dependency> + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <version>1.2.16</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.6.2</version> + </dependency> + <dependency> + <groupId>redis.clients</groupId> + <artifactId>jedis</artifactId> + <version>2.1.0</version> + </dependency> + <dependency> + <groupId>javax.validation</groupId> + <artifactId>validation-api</artifactId> + <version>1.0.0.GA</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-validator</artifactId> + <version>4.2.0.Final</version> + </dependency> + <dependency> + <groupId>javax.cache</groupId> + <artifactId>cache-api</artifactId> + <version>0.4</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <artifactId>maven-dependency-plugin</artifactId> + <executions> + <execution> + <id>unpack</id> + <phase>package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>com.alibaba</groupId> + <artifactId>dubbo</artifactId> + <version>${dubbo-version}</version> + <outputDirectory>${project.build.directory}/dubbo</outputDirectory> + <includes>META-INF/assembly/**</includes> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <descriptor>src/main/assembly/assembly.xml</descriptor> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/examples/jsonrpc/java-server/pom.xml b/examples/jsonrpc/java-server/pom.xml index 4044ad15d239340a0a6312984b60d030f489493c..12d00ebbcd58262afb00f249445fd9e7b68857ca 100644 --- a/examples/jsonrpc/java-server/pom.xml +++ b/examples/jsonrpc/java-server/pom.xml @@ -12,10 +12,22 @@ <properties> <skip_maven_deploy>false</skip_maven_deploy> - <dubbo-version>2.5.10</dubbo-version> + <dubbo-version>2.6.5</dubbo-version> <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version> </properties> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>dubbo-dependencies-bom</artifactId> + <version>${dubbo-version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> <dependency> <groupId>org.slf4j</groupId> @@ -31,6 +43,16 @@ </exclusions> </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-all</artifactId> + </dependency> + <dependency> + <groupId>org.apache.curator</groupId> + <artifactId>curator-framework</artifactId> + <version>2.12.0</version> + </dependency> + <dependency> <groupId>com.qianmi</groupId> <artifactId>dubbo-rpc-jsonrpc</artifactId> diff --git a/jsonrpc/server.go b/jsonrpc/server.go index a38241f1d588b71a6e68fae026c1a0d3b8dc4261..4b0b5b9a183fde6fc174603a1d14ef77be7cdf86 100644 --- a/jsonrpc/server.go +++ b/jsonrpc/server.go @@ -265,7 +265,7 @@ func (s *Server) Handle(h Handler) error { } serviceConf.Path = opts.ConfList[j].Address() - err = opts.Registry.RegisterProvider(registry.ProviderServiceConfig{serviceConf}) + err = opts.Registry.RegisterProvider(serviceConf) if err != nil { return err } diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go index 521d8aad32371425f8af4dfb96957a7bf332189c..8f75027346e311aa5dd1a6a08bdfa9191f15f422 100644 --- a/registry/zookeeper/registry.go +++ b/registry/zookeeper/registry.go @@ -276,8 +276,8 @@ func (r *ZkRegistry) register(c registry.ServiceConfigIf) error { params.Add("revision", revision) // revision鏄痯ox.xml涓璦pplication鐨剉ersion灞炴€х殑鍊� if r.DubboType == registry.PROVIDER { - conf, ok := c.(*registry.ProviderServiceConfig) - if ok { + conf, ok := c.(registry.ProviderServiceConfig) + if !ok { return fmt.Errorf("the type of @c:%+v is not *registry.ProviderServiceConfig", c) }