Skip to content

Commit 8afd4d4

Browse files
authored
[#4682] Support framework information can be updated when service information is updated (#4683)
1 parent 2ec1cc0 commit 8afd4d4

File tree

5 files changed

+20
-4
lines changed

5 files changed

+20
-4
lines changed

clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterClient.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.apache.servicecomb.service.center.client.model.CreateSchemaRequest;
4040
import org.apache.servicecomb.service.center.client.model.ErrorMessage;
4141
import org.apache.servicecomb.service.center.client.model.FindMicroserviceInstancesResponse;
42+
import org.apache.servicecomb.service.center.client.model.Framework;
4243
import org.apache.servicecomb.service.center.client.model.GetSchemaListResponse;
4344
import org.apache.servicecomb.service.center.client.model.GetSchemaResponse;
4445
import org.apache.servicecomb.service.center.client.model.HeartbeatsRequest;
@@ -535,10 +536,12 @@ public RbacTokenResponse queryToken(RbacTokenRequest request) {
535536
}
536537

537538
@Override
538-
public boolean updateMicroserviceProperties(String serviceId, Map<String, String> serviceProperties) {
539+
public boolean updateMicroserviceProperties(String serviceId, Map<String, String> serviceProperties,
540+
Framework framework) {
539541
try {
540542
UpdatePropertiesRequest request = new UpdatePropertiesRequest();
541543
request.setProperties(serviceProperties);
544+
request.setFramework(framework);
542545
HttpResponse response = httpClient.putHttpRequest(
543546
"/registry/microservices/" + serviceId + "/properties", null, HttpUtils.serialize(request));
544547
if (response.getStatusCode() == HttpStatus.SC_OK) {

clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterOperation.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.apache.servicecomb.service.center.client.exception.OperationException;
2424
import org.apache.servicecomb.service.center.client.model.CreateSchemaRequest;
2525
import org.apache.servicecomb.service.center.client.model.FindMicroserviceInstancesResponse;
26+
import org.apache.servicecomb.service.center.client.model.Framework;
2627
import org.apache.servicecomb.service.center.client.model.HeartbeatsRequest;
2728
import org.apache.servicecomb.service.center.client.model.Microservice;
2829
import org.apache.servicecomb.service.center.client.model.MicroserviceInstance;
@@ -192,7 +193,8 @@ boolean updateMicroserviceInstanceStatus(String serviceId, String instanceId,
192193
* @return if update is successful
193194
* @throws OperationException If some problems happened to contact service center or non http 200 returned.
194195
*/
195-
boolean updateMicroserviceProperties(String microserviceId, Map<String, String> serviceProperties);
196+
boolean updateMicroserviceProperties(String microserviceId, Map<String, String> serviceProperties,
197+
Framework framework);
196198

197199
/**
198200
* Check serviceCenter isolation address available

clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/ServiceCenterRegistration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ public void execute() {
148148
microservice.setProperties(newMicroservice.getProperties());
149149
microservice.getProperties().putAll(propertiesTemp);
150150
if (serviceCenterClient.updateMicroserviceProperties(serviceResponse.getServiceId(),
151-
microservice.getProperties())) {
151+
microservice.getProperties(), microservice.getFramework())) {
152152
LOGGER.info(
153153
"microservice is already registered. Update microservice properties successfully. properties=[{}]",
154154
microservice.getProperties());

clients/service-center-client/src/main/java/org/apache/servicecomb/service/center/client/model/UpdatePropertiesRequest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,21 @@
2222
public class UpdatePropertiesRequest {
2323
private Map<String, String> properties;
2424

25+
private Framework framework;
26+
2527
public Map<String, String> getProperties() {
2628
return properties;
2729
}
2830

2931
public void setProperties(Map<String, String> properties) {
3032
this.properties = properties;
3133
}
34+
35+
public Framework getFramework() {
36+
return framework;
37+
}
38+
39+
public void setFramework(Framework framework) {
40+
this.framework = framework;
41+
}
3242
}

clients/service-center-client/src/test/java/org/apache/servicecomb/service/center/client/ServiceCenterClientTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.List;
2525

2626
import org.apache.servicecomb.http.client.common.HttpResponse;
27+
import org.apache.servicecomb.service.center.client.model.Framework;
2728
import org.apache.servicecomb.service.center.client.model.HeartbeatsRequest;
2829
import org.apache.servicecomb.service.center.client.model.InstancesRequest;
2930
import org.apache.servicecomb.service.center.client.model.Microservice;
@@ -516,7 +517,7 @@ public void testUpdateMicroserviceProperties() throws IOException {
516517

517518
ServiceCenterClient serviceCenterClient = new ServiceCenterClient(serviceCenterRawClient, addressManager);
518519
boolean result = serviceCenterClient
519-
.updateMicroserviceProperties("111", new HashMap<String, String>());
520+
.updateMicroserviceProperties("111", new HashMap<String, String>(), new Framework());
520521

521522
Assertions.assertTrue(result);
522523
}

0 commit comments

Comments
 (0)