diff --git a/pom.xml b/pom.xml index e71fdd77..cf343e9c 100644 --- a/pom.xml +++ b/pom.xml @@ -26,8 +26,8 @@ 1.2.0-alpha2 1.4.0-alpha1 8.1.17 - 0.16.1 - 0.6.0 + 0.17.0 + 0.7.0 1.8.10 2.7.8 diff --git a/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorService.kt b/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorService.kt index bc8a32de..14ec4ebc 100644 --- a/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorService.kt +++ b/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorService.kt @@ -1,7 +1,7 @@ package org.camunda.community.zeebe.play.connectors import io.camunda.connector.impl.outbound.OutboundConnectorConfiguration -import io.camunda.connector.runtime.util.outbound.OutboundConnectorRegistrationHelper +import io.camunda.connector.runtime.util.discovery.SPIConnectorDiscovery import io.camunda.zeebe.model.bpmn.Bpmn import io.camunda.zeebe.model.bpmn.BpmnModelInstance import io.camunda.zeebe.model.bpmn.instance.zeebe.ZeebeInput @@ -55,9 +55,7 @@ class ConnectorService( } fun findAvailableConnectors(): List { - return OutboundConnectorRegistrationHelper - .parseFromSPI() - .toList() + return SPIConnectorDiscovery.discoverOutbound().toList() } } \ No newline at end of file diff --git a/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorsConfig.kt b/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorsConfig.kt index 85a9c0b1..4f3fb2f0 100644 --- a/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorsConfig.kt +++ b/src/main/kotlin/org/camunda/community/zeebe/play/connectors/ConnectorsConfig.kt @@ -1,6 +1,7 @@ package org.camunda.community.zeebe.play.connectors import io.camunda.connector.api.secret.SecretProvider +import io.camunda.connector.runtime.util.ConnectorHelper import io.camunda.connector.runtime.util.outbound.ConnectorJobHandler import io.camunda.zeebe.client.ZeebeClient import io.camunda.zeebe.spring.client.lifecycle.ZeebeClientLifecycle @@ -39,10 +40,14 @@ class ConnectorsConfig( connectorService .findAvailableConnectors() .forEach { connectorConfig -> + val connector = + ConnectorHelper.instantiateConnector(connectorConfig.connectorClass) + val jobHandler = ConnectorJobHandler(connector, secretProvider) + zeebeClient .newWorker() .jobType(connectorConfig.type) - .handler(ConnectorJobHandler(connectorConfig.function, secretProvider)) + .handler(jobHandler) .name(connectorConfig.name) .fetchVariables(connectorConfig.inputVariables.toList()) .open() diff --git a/src/main/kotlin/org/camunda/community/zeebe/play/rest/ConnectorsResource.kt b/src/main/kotlin/org/camunda/community/zeebe/play/rest/ConnectorsResource.kt index ef79ef46..14cf2707 100644 --- a/src/main/kotlin/org/camunda/community/zeebe/play/rest/ConnectorsResource.kt +++ b/src/main/kotlin/org/camunda/community/zeebe/play/rest/ConnectorsResource.kt @@ -1,6 +1,7 @@ package org.camunda.community.zeebe.play.rest import io.camunda.connector.impl.outbound.OutboundConnectorConfiguration +import io.camunda.connector.runtime.util.ConnectorHelper import io.camunda.connector.runtime.util.outbound.ConnectorJobHandler import io.camunda.zeebe.client.ZeebeClient import io.camunda.zeebe.client.api.response.ActivatedJob @@ -35,7 +36,8 @@ class ConnectorsResource( .find { it.type == jobType } ?: throw RuntimeException("No connector found with job type '$jobType'.")) - val jobHandler = ConnectorJobHandler(connectorConfig.function, connectorsSecretProvider) + val connector = ConnectorHelper.instantiateConnector(connectorConfig.connectorClass) + val jobHandler = ConnectorJobHandler(connector, connectorsSecretProvider) findConnectorJob(connectorConfig, jobKey) ?.let { jobHandler.handle(zeebeClient, it) }