Search in sources :

Example 1 with MicroServiceInstance

use of com.huawei.register.entity.MicroServiceInstance in project Sermant by huaweicloud.

the class DiscoveryClientInterceptor method doBefore.

@Override
public ExecuteContext doBefore(ExecuteContext context) {
    if (isMarked()) {
        return context;
    }
    try {
        mark();
        String serviceId = (String) context.getArguments()[0];
        final RegisterCenterService service = ServiceManager.getService(RegisterCenterService.class);
        final List<MicroServiceInstance> microServiceInstances = service.getServerList(serviceId);
        if (!microServiceInstances.isEmpty()) {
            context.skip(convertAndMerge(microServiceInstances, serviceId));
        }
    } finally {
        unMark();
    }
    return context;
}
Also used : MicroServiceInstance(com.huawei.register.entity.MicroServiceInstance) RegisterCenterService(com.huawei.register.services.RegisterCenterService)

Example 2 with MicroServiceInstance

use of com.huawei.register.entity.MicroServiceInstance in project Sermant by huaweicloud.

the class ServerListInterceptor method doBefore.

@Override
public ExecuteContext doBefore(ExecuteContext context) {
    if (isMarked()) {
        // 此处针对当前线程, 如果是拦截器内部调用直接pass
        return context;
    }
    try {
        mark();
        final RegisterCenterService service = ServiceManager.getService(RegisterCenterService.class);
        final List<MicroServiceInstance> serverList = service.getServerList(context.getObject());
        if (!serverList.isEmpty()) {
            // 单注册中心场景无需合并
            context.skip(convertAndMerge(context.getObject(), serverList));
        }
    } finally {
        unMark();
    }
    return context;
}
Also used : MicroServiceInstance(com.huawei.register.entity.MicroServiceInstance) RegisterCenterService(com.huawei.register.services.RegisterCenterService)

Aggregations

MicroServiceInstance (com.huawei.register.entity.MicroServiceInstance)2 RegisterCenterService (com.huawei.register.services.RegisterCenterService)2