Skip to content

Commit

Permalink
add serviceId to NamingOptions (#92)
Browse files Browse the repository at this point in the history
* bugfix: healthy checktimer checks instances which are deleted by NamingService

* add serviceId to NamingOptions
  • Loading branch information
wenweihu86 authored Jun 25, 2019
1 parent aaaa724 commit fd2b7a9
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -204,15 +204,12 @@ public void setServiceInterface(Class clazz, NamingOptions namingOptions) {
}

if (namingService != null) {
subscribeInfo = new SubscribeInfo();
subscribeInfo.setInterfaceName(serviceInterface.getName());
if (namingOptions != null) {
subscribeInfo.setGroup(namingOptions.getGroup());
subscribeInfo.setVersion(namingOptions.getVersion());
subscribeInfo.setIgnoreFailOfNamingService(namingOptions.isIgnoreFailOfNamingService());
subscribeInfo.setServiceId(namingOptions.getServiceId());
subscribeInfo.setExtra(namingOptions.getExtra());
subscribeInfo = new SubscribeInfo(namingOptions);
} else {
subscribeInfo = new SubscribeInfo();
}
subscribeInfo.setInterfaceName(serviceInterface.getName());
List<ServiceInstance> instances = this.namingService.lookup(subscribeInfo);
instanceProcessor.addInstances(instances);
this.namingService.subscribe(subscribeInfo, new NotifyListener() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,18 @@ public class RegisterInfo extends NamingOptions {
* the interface class name.
*/
private String interfaceName;

public RegisterInfo() {
}

public RegisterInfo(RegisterInfo rhs) {
super(rhs);
this.host = rhs.getHost();
this.port = rhs.getPort();
this.interfaceName = rhs.getInterfaceName();
}

public RegisterInfo(NamingOptions namingOptions) {
super(namingOptions);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,17 @@ public class SubscribeInfo extends NamingOptions {
* the interface class name.
*/
private String interfaceName;

public SubscribeInfo() {
}

public SubscribeInfo(SubscribeInfo rhs) {
super(rhs);
this.interfaceName = rhs.getInterfaceName();
}

public SubscribeInfo(NamingOptions namingOptions) {
super(namingOptions);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -232,20 +232,19 @@ public void registerService(Object service, RpcServerOptions serverOptions) {
public void registerService(Object service, Class targetClass, NamingOptions namingOptions,
RpcServerOptions serverOptions) {
serviceList.add(service);
RegisterInfo registerInfo = new RegisterInfo();
RegisterInfo registerInfo = null;
if (namingOptions != null) {
registerInfo = new RegisterInfo(namingOptions);
} else {
registerInfo = new RegisterInfo();
}
if (targetClass != null) {
registerInfo.setInterfaceName(targetClass.getInterfaces()[0].getName());
} else {
registerInfo.setInterfaceName(service.getClass().getInterfaces()[0].getName());
}
registerInfo.setHost(NetUtils.getLocalAddress().getHostAddress());
registerInfo.setPort(port);
if (namingOptions != null) {
registerInfo.setGroup(namingOptions.getGroup());
registerInfo.setVersion(namingOptions.getVersion());
registerInfo.setIgnoreFailOfNamingService(namingOptions.isIgnoreFailOfNamingService());
registerInfo.setExtra(namingOptions.getExtra());
}
ServiceManager serviceManager = ServiceManager.getInstance();
ThreadPool customThreadPool = threadPool;
if (serverOptions != null) {
Expand Down

0 comments on commit fd2b7a9

Please sign in to comment.