CRecordForwardToMicroServiceInstance
Send a message to the microservice registry, which forwards it to a desired microservice.
This message belongs to the microservice registry API.
{
"id": "4dad52bd-3071-46d9-a79b-c5188e311131",
"name": "FORWARD_TO_MICRO_SERVICE_INSTANCE",
"isService": "false",
"description": "Forward a message to an instance of a given microservice ID.\nIf more than one instance is registered, forward the message to a random instance.",
"slots": [
{
"key": "1",
"name": "MESSAGE",
"direction": "REQUEST",
"mandatory": "true",
"type": "MESSAGE",
"description": "The message to forward."
},
{
"key": "2",
"name": "MICRO_SERVICE_ID",
"direction": "REQUEST",
"mandatory": "true",
"type": "ID",
"description": "The microservice to search for."
}
]
}
Example of use (after generating of the class CRecordForwardToMicroServiceInstance):
private void sendViaMicroserviceRegistry(@NotNull final CTargetAddress aAddressOfMicroserviceRegistry, @NotNull final IId aMicroserviceId, @NotNull final CMessage aMessage) throws CException { final CEnvelope env = CEnvelope.forSingleTarget(aAddressOfMicroserviceRegistry); final CRecord rec = CRecordForwardToMicroServiceInstance.create(); CRecordForwardToMicroServiceInstance.setMicroServiceId(rec, aMicroserviceId); CRecordForwardToMicroServiceInstance.setMessage(rec, aMessage); sendRequest(env, rec); }