From 2002bb121b9ed51b2692c68280ffc3b3e2a4f51d Mon Sep 17 00:00:00 2001 From: Pavel Kotelevsky <38818382+chillleader@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:37:19 +0200 Subject: [PATCH] feat(kafka,sqs): support inbound connector deduplication (#2340) --- .../aws-sqs-boundary-connector.json | 64 +++++++++++++++++++ ...ws-sqs-inbound-intermediate-connector.json | 64 +++++++++++++++++++ .../aws-sqs-start-event-connector.json | 64 +++++++++++++++++++ .../aws-sqs-start-message.json | 64 +++++++++++++++++++ connectors/aws/aws-sqs/pom.xml | 3 + ...fka-inbound-connector-boundary-hybrid.json | 64 +++++++++++++++++++ ...inbound-connector-intermediate-hybrid.json | 64 +++++++++++++++++++ ...-inbound-connector-start-event-hybrid.json | 64 +++++++++++++++++++ ...nbound-connector-start-message-hybrid.json | 64 +++++++++++++++++++ .../kafka-inbound-connector-boundary.json | 64 +++++++++++++++++++ .../kafka-inbound-connector-intermediate.json | 64 +++++++++++++++++++ .../kafka-inbound-connector-start-event.json | 64 +++++++++++++++++++ ...kafka-inbound-connector-start-message.json | 64 +++++++++++++++++++ connectors/kafka/pom.xml | 3 + 14 files changed, 774 insertions(+) diff --git a/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json index 920588e153..393154d8b1 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json @@ -35,6 +35,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -246,6 +250,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json index 89d298a605..d0a047c96b 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json @@ -35,6 +35,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -246,6 +250,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json index 7e849e54c3..a4258369e8 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json @@ -31,6 +31,10 @@ }, { "id" : "activation", "label" : "Activation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -191,6 +195,66 @@ "type" : "zeebe:property" }, "type" : "String" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json index 33d557dc5c..ecc04c72f4 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json @@ -35,6 +35,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -274,6 +278,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/aws/aws-sqs/pom.xml b/connectors/aws/aws-sqs/pom.xml index 274e968d66..a4170297d2 100644 --- a/connectors/aws/aws-sqs/pom.xml +++ b/connectors/aws/aws-sqs/pom.xml @@ -75,6 +75,9 @@ aws-sqs-boundary-connector.json + + true + diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json index 943a3f9231..066aaa856d 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json @@ -32,6 +32,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -279,6 +283,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json index 0491b9532d..98cb917f45 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json @@ -32,6 +32,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -279,6 +283,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json index 0b95f24a24..5e05261dbf 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json @@ -28,6 +28,10 @@ }, { "id" : "activation", "label" : "Activation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -224,6 +228,66 @@ "type" : "zeebe:property" }, "type" : "String" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json index 46a35519a0..596a838d04 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json @@ -32,6 +32,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -307,6 +311,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json b/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json index 5ec13a6aad..88e7e7810e 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json @@ -29,6 +29,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -274,6 +278,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json b/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json index 80919c2f20..dcb62b1628 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json @@ -29,6 +29,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -274,6 +278,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json b/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json index fdeb6437b0..abc72f469d 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json @@ -25,6 +25,10 @@ }, { "id" : "activation", "label" : "Activation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -219,6 +223,66 @@ "type" : "zeebe:property" }, "type" : "String" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json b/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json index 75f1358ffe..6633c2220c 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json @@ -29,6 +29,10 @@ }, { "id" : "correlation", "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." }, { "id" : "output", "label" : "Output mapping" @@ -302,6 +306,66 @@ "type" : "bpmn:Message#property" }, "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" }, { "id" : "resultVariable", "label" : "Result variable", diff --git a/connectors/kafka/pom.xml b/connectors/kafka/pom.xml index 43a386c15e..6dc664b60c 100644 --- a/connectors/kafka/pom.xml +++ b/connectors/kafka/pom.xml @@ -118,6 +118,9 @@ except in compliance with the proprietary license. true + + true +