FINERACT-1694: Bulk event support

This commit is contained in:
Arnold Galovics
2022-09-12 14:45:34 +02:00
committed by Arnold Gálovics
parent a0749ffe19
commit 7558b09def
18 changed files with 556 additions and 13 deletions
@@ -0,0 +1,32 @@
{
"name": "BulkMessageItemV1",
"namespace": "org.apache.fineract.avro",
"type": "record",
"fields": [
{
"name": "id",
"doc": "The ID of the message to be sent",
"type": "int"
},
{
"name": "type",
"doc": "The type of event the payload refers to. For example LoanApprovedBusinessEvent",
"type": "string"
},
{
"name": "category",
"doc": "The category of event the payload refers to. For example LOAN",
"type": "string"
},
{
"name": "dataschema",
"doc": "The fully qualified name of the schema of the event payload. For example org.apache.fineract.avro.loan.v1.LoanAccountDataV1",
"type": "string"
},
{
"name": "data",
"doc": "The payload data serialized into Avro bytes",
"type": "bytes"
}
]
}
@@ -0,0 +1,13 @@
{
"name": "BulkMessagePayloadV1",
"namespace": "org.apache.fineract.avro",
"type": "record",
"fields": [{
"name": "datas",
"doc": "The individual messages within this bulk message",
"type": {
"type": "array",
"items": "org.apache.fineract.avro.BulkMessageItemV1"
}
}]
}
@@ -0,0 +1,42 @@
{
"name": "BulkMessageV1",
"namespace": "org.apache.fineract.avro",
"type": "record",
"fields": [
{
"name": "id",
"doc": "The ID of the message to be sent",
"type": "int"
},
{
"name": "source",
"doc": "A unique identifier of the source service",
"type": "string"
},
{
"name": "type",
"doc": "The type of event the payload refers to. For example LoanApprovedBusinessEvent",
"type": "string"
},
{
"name": "createdAt",
"doc": "The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30",
"type": "string"
},
{
"name": "tenantId",
"doc": "The tenantId that the event has been sent from. For example default",
"type": "string"
},
{
"name": "idempotencyKey",
"doc": "The idempotency key for this particular event for consumer de-duplication",
"type": "string"
},
{
"name": "data",
"doc": "The payload for this bulk message",
"type": "org.apache.fineract.avro.BulkMessagePayloadV1"
}
]
}