You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2018/04/27 06:21:20 UTC
[incubator-servicecomb-java-chassis] branch master updated:
[SCB-520] resolve service with env re-registered will fail
This is an automated email from the ASF dual-hosted git repository.
wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new e4c47e9 [SCB-520] resolve service with env re-registered will fail
e4c47e9 is described below
commit e4c47e96e19003a58d57ee39af90083369ea6355
Author: weichao666 <we...@huawei.com>
AuthorDate: Thu Apr 26 16:09:49 2018 +0800
[SCB-520] resolve service with env re-registered will fail
---
.../client/LocalServiceRegistryClientImpl.java | 2 +-
.../serviceregistry/client/ServiceRegistryClient.java | 2 +-
.../client/http/ServiceRegistryClientImpl.java | 5 +++--
.../serviceregistry/task/MicroserviceRegisterTask.java | 3 ++-
.../client/LocalServiceRegistryClientImplTest.java | 10 +++++-----
.../serviceregistry/client/http/TestClientHttp.java | 3 ++-
.../client/http/TestServiceRegistryClientImpl.java | 3 ++-
.../serviceregistry/task/TestMicroserviceRegisterTask.java | 14 +++++++-------
8 files changed, 23 insertions(+), 19 deletions(-)
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImpl.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImpl.java
index 2cb228f..c42b991 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImpl.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImpl.java
@@ -146,7 +146,7 @@ public class LocalServiceRegistryClientImpl implements ServiceRegistryClient {
}
@Override
- public String getMicroserviceId(String appId, String microserviceName, String strVersionRule) {
+ public String getMicroserviceId(String appId, String microserviceName, String strVersionRule, String environment) {
VersionRule versionRule = VersionRuleUtils.getOrCreate(strVersionRule);
Microservice latest = findLatest(appId, microserviceName, versionRule);
return latest != null ? latest.getServiceId() : null;
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/ServiceRegistryClient.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/ServiceRegistryClient.java
index 2cf20b9..1ac9b67 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/ServiceRegistryClient.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/ServiceRegistryClient.java
@@ -40,7 +40,7 @@ public interface ServiceRegistryClient {
*
* 获取微服务唯一标识
*/
- String getMicroserviceId(String appId, String microserviceName, String versionRule);
+ String getMicroserviceId(String appId, String microserviceName, String versionRule, String environment);
/**
*
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
index 6173a17..3b42184 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/client/http/ServiceRegistryClientImpl.java
@@ -229,7 +229,7 @@ public final class ServiceRegistryClientImpl implements ServiceRegistryClient {
}
@Override
- public String getMicroserviceId(String appId, String microserviceName, String versionRule) {
+ public String getMicroserviceId(String appId, String microserviceName, String versionRule, String environment) {
Holder<GetExistenceResponse> holder = new Holder<>();
IpPort ipPort = ipPortManager.getAvailableAddress();
@@ -239,7 +239,8 @@ public final class ServiceRegistryClientImpl implements ServiceRegistryClient {
new RequestParam().addQueryParam("type", "microservice")
.addQueryParam("appId", appId)
.addQueryParam("serviceName", microserviceName)
- .addQueryParam("version", versionRule),
+ .addQueryParam("version", versionRule)
+ .addQueryParam("env", environment),
syncHandler(countDownLatch, GetExistenceResponse.class, holder));
try {
countDownLatch.await();
diff --git a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceRegisterTask.java b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceRegisterTask.java
index a0610f4..b029d62 100644
--- a/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceRegisterTask.java
+++ b/service-registry/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceRegisterTask.java
@@ -57,7 +57,8 @@ public class MicroserviceRegisterTask extends AbstractRegisterTask {
LOGGER.info("running microservice register task.");
String serviceId = srClient.getMicroserviceId(microservice.getAppId(),
microservice.getServiceName(),
- microservice.getVersion());
+ microservice.getVersion(),
+ microservice.getEnvironment());
if (!StringUtils.isEmpty(serviceId)) {
// 已经注册过了,不需要重新注册
microservice.setServiceId(serviceId);
diff --git a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImplTest.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImplTest.java
index c841f25..ea416d6 100644
--- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImplTest.java
+++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/LocalServiceRegistryClientImplTest.java
@@ -79,20 +79,20 @@ public class LocalServiceRegistryClientImplTest {
public void getMicroserviceId_appNotMatch() {
mockRegisterMicroservice("otherApp", microserviceName, "1.0.0");
- Assert.assertNull(registryClient.getMicroserviceId(appId, microserviceName, "1.0.0"));
+ Assert.assertNull(registryClient.getMicroserviceId(appId, microserviceName, "1.0.0", ""));
}
@Test
public void getMicroserviceId_nameNotMatch() {
mockRegisterMicroservice(appId, "otherName", "1.0.0");
- Assert.assertNull(registryClient.getMicroserviceId(appId, microserviceName, "1.0.0"));
+ Assert.assertNull(registryClient.getMicroserviceId(appId, microserviceName, "1.0.0", ""));
}
@Test
public void getMicroserviceId_versionNotMatch() {
mockRegisterMicroservice(appId, microserviceName, "1.0.0");
- Assert.assertNull(registryClient.getMicroserviceId(appId, microserviceName, "2.0.0"));
+ Assert.assertNull(registryClient.getMicroserviceId(appId, microserviceName, "2.0.0", ""));
}
@Test
@@ -100,7 +100,7 @@ public class LocalServiceRegistryClientImplTest {
Microservice v2 = mockRegisterMicroservice(appId, microserviceName, "2.0.0");
mockRegisterMicroservice(appId, microserviceName, "1.0.0");
- String serviceId = registryClient.getMicroserviceId(appId, microserviceName, DefinitionConst.VERSION_RULE_LATEST);
+ String serviceId = registryClient.getMicroserviceId(appId, microserviceName, DefinitionConst.VERSION_RULE_LATEST, "");
Assert.assertEquals(v2.getServiceId(), serviceId);
}
@@ -109,7 +109,7 @@ public class LocalServiceRegistryClientImplTest {
Microservice v1 = mockRegisterMicroservice(appId, microserviceName, "1.0.0");
mockRegisterMicroservice(appId, microserviceName, "2.0.0");
- String serviceId = registryClient.getMicroserviceId(appId, microserviceName, "1.0.0");
+ String serviceId = registryClient.getMicroserviceId(appId, microserviceName, "1.0.0", "");
Assert.assertEquals(v1.getServiceId(), serviceId);
}
diff --git a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestClientHttp.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestClientHttp.java
index 7aafdca..96f2daf 100644
--- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestClientHttp.java
+++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestClientHttp.java
@@ -92,7 +92,8 @@ public class TestClientHttp {
Assert.assertEquals(null,
oClient.getMicroserviceId(microservice.getAppId(),
microservice.getServiceName(),
- microservice.getVersion()));
+ microservice.getVersion(),
+ microservice.getEnvironment()));
Assert.assertEquals(null,
oClient.heartbeat(microservice.getServiceId(),
microservice.getInstance().getInstanceId()));
diff --git a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
index 925f77c..f3c8f3f 100644
--- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
+++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/client/http/TestServiceRegistryClientImpl.java
@@ -108,7 +108,8 @@ public class TestServiceRegistryClientImpl {
Assert.assertEquals(null,
oClient.getMicroserviceId(microservice.getAppId(),
microservice.getServiceName(),
- microservice.getVersion()));
+ microservice.getVersion(),
+ microservice.getEnvironment()));
Assert.assertThat(oClient.getAllMicroservices().isEmpty(), is(true));
Assert.assertEquals(null, oClient.registerMicroservice(microservice));
Assert.assertEquals(null, oClient.getMicroservice("microserviceId"));
diff --git a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceRegisterTask.java b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceRegisterTask.java
index 736b759..a59acfd 100644
--- a/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceRegisterTask.java
+++ b/service-registry/src/test/java/org/apache/servicecomb/serviceregistry/task/TestMicroserviceRegisterTask.java
@@ -62,7 +62,7 @@ public class TestMicroserviceRegisterTask {
public void testNewRegisterFailed(@Mocked ServiceRegistryClient srClient) {
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = null;
srClient.registerMicroservice((Microservice) any);
result = null;
@@ -82,7 +82,7 @@ public class TestMicroserviceRegisterTask {
public void testNewRegisterSuccess(@Mocked ServiceRegistryClient srClient) {
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = null;
srClient.registerMicroservice((Microservice) any);
result = "serviceId";
@@ -108,7 +108,7 @@ public class TestMicroserviceRegisterTask {
microservice.addSchema("exist", "");
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = null;
srClient.registerMicroservice((Microservice) any);
result = "serviceId";
@@ -136,7 +136,7 @@ public class TestMicroserviceRegisterTask {
microservice.addSchema("s1", "");
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = null;
srClient.registerMicroservice((Microservice) any);
result = "serviceId";
@@ -161,7 +161,7 @@ public class TestMicroserviceRegisterTask {
public void testAlreadyRegisteredSchemaIdSetMatch(@Mocked ServiceRegistryClient srClient) {
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = "serviceId";
srClient.getMicroservice(anyString);
result = microservice;
@@ -188,7 +188,7 @@ public class TestMicroserviceRegisterTask {
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = "serviceId";
srClient.getMicroservice(anyString);
result = otherMicroservice;
@@ -214,7 +214,7 @@ public class TestMicroserviceRegisterTask {
new Expectations() {
{
- srClient.getMicroserviceId(anyString, anyString, anyString);
+ srClient.getMicroserviceId(anyString, anyString, anyString, anyString);
result = "serviceId";
srClient.getMicroservice(anyString);
result = null;
--
To stop receiving notification emails like this one, please contact
wujimin@apache.org.