Multitenant

The Cep service has a multi tenant mode, on this mode it prefix the application.id automatically on all the Kafka topics, except the bootstrapper and the metrics topic.

On this mode when you define a processing model, for example:

{
  "streams": [
    {
      "streamName": "streaminput",
      "attributes": [
        {
          "name": "timestamp",
          "type": "long"
        }
      ]
    }
  ],
  "rules": [
    {
      "id": 1,
      "version": "v1",
      "streams": {
        "in": [
          {
            "streamName": "streaminput",
            "kafkaTopic": "kafkainput"
          }
        ],
        "out": [
          {
            "streamName": "streamoutput",
            "kafkaTopic": "kafkaoutput"
          }
        ]
      },
      "executionPlan": "from streaminput select * insert into streamoutput"
    }
  ]
}

You define the topic kafkainput but really you read from Kafka topic ${APP_ID}_kafkainput and when you produce to the output topic, you really send data to the topic ${APP_ID}_kafkaoutput. On this mode we define the APP_ID == TENANT_ID. To enable this mode you can configure the property multi.id to true.