CRecordRemoveAppFactory

The message CRecordRemoveAppFactory is used to deregister an application factory.

This message belongs to the application factory collector API.
The Application Collector Service is located in the plugin NY_ApplicationFactoryCollectorPlugIn.

{
  "id": "1246722a-b61c-46e4-a42e-08563bb30006",
  "name": "REMOVE_APP_FACTORY",
  "isService": "false",
  "namespaces": "",
  "description": "Remove an application factory.",
  "slots": [
    {
      "key": "appId",
      "name": "APPLICATION_ID",
      "direction": "REQUEST",
      "mandatory": "true",
      "type": "UUID",
      "description": "The ID of the application."
    },
    {
      "key": "factoryAddress",
      "name": "FACTORY_ADDRESS",
      "direction": "REQUEST",
      "mandatory": "true",
      "type": "TARGET_ADDRESS",
      "description": "The address of the application factory."
    }
  ]
}

Arguments

  • APPLICATION_ID: The ID of the application.
  • FACTORY_ADDRESS: The target address of the factory.

Usage

Sending the message

Example of use (after generating of the class CRecordRemoveAppFactory):

private void removeApplicationFactory() throws CException
{
    // The message is sent to the AppCollector microservice.
    final IId microserviceId = CIdFactory.fromObject("NY_ApplicationFactoryCollector");
    final CEnvelope env = CEnvelope.forMicroService(microserviceId);

    final CRecord record = CRecordRemoveAppFactory.create();
    CRecordRemoveAppFactory.setApplicationId(record,
                                             UUID.fromString("186687b0-e99b-4479-be94-d69051c9542f"));
    CRecordRemoveAppFactory.setFactoryAddress(record,
                                              getAddress());

    sendRequest(env,
                record);
}

Dealing with the response

The response can - as always - be caught in a separate message handler.

// in the constructor of your target:
addMessageHandler(CRecordRemoveAppFactory.ID,
                  this::asyncRemoveAppFactory);
// handle the answer
private boolean asyncRemoveAppFactory(@NotNull final CEnvelope aEnvelope,
                                      @NotNull final CRecord aRecord)
{
    if (aEnvelope.isAnswer())
    {
        if (aEnvelope.getResultCode() != CResultCode.SUCCESS)
        {
            // ...
        }
        return true;
    }
    else
    {
        return false;
    }
}

See also: