2020-06-03 08:48:30 UTC - Gilles Barbier: @Thomas Jamet to obtain this result 
and keeping the benefits of using schema, I use an envelope: a message that 
contains a type and one of possible message, eg.
```{
    "type": "record",
    "name": "AvroForEngineMessage",
    "namespace": "com.zenaton.jobManager.messages",
    "fields": [
        {
            "name": "type",
            "type": {
                "type": "enum",
                "name": "AvroForEngineMessageType",
                "symbols": [
                    "CancelJob",
                    "DispatchJob",
                    "RetryJob",
                    "RetryJobAttempt",
                    "JobAttemptCompleted",
                    "JobAttemptFailed",
                    "JobAttemptStarted"
                ]
             }
        }, {
            "name": "jobId",
            "type": "string",
            "logicalType": "uuid"
        }, {
             "name": "CancelJob",
             "type": ["null", "com.zenaton.jobManager.messages.AvroCancelJob"],
             "default": null
        }, {
            "name": "DispatchJob",
            "type": ["null", "com.zenaton.jobManager.messages.AvroDispatchJob"],
            "default": null
        }, {
            "name": "RetryJob",
            "type": ["null", "com.zenaton.jobManager.messages.AvroRetryJob"],
            "default": null
        }, {
            "name": "RetryJobAttempt",
            "type": ["null", 
"com.zenaton.jobManager.messages.AvroRetryJobAttempt"],
            "default": null
        }, {
            "name": "JobAttemptCompleted",
            "type": ["null", 
"com.zenaton.jobManager.messages.AvroJobAttemptCompleted"],
            "default": null
        }, {
            "name": "JobAttemptFailed",
            "type": ["null", 
"com.zenaton.jobManager.messages.AvroJobAttemptFailed"],
            "default": null
        }, {
            "name": "JobAttemptStarted",
            "type": ["null", 
"com.zenaton.jobManager.messages.AvroJobAttemptStarted"],
            "default": null
        }
    ]
}```

----

Reply via email to