This is an automated email from the ASF dual-hosted git repository.

SvenO3 pushed a commit to branch 
remove-groovy-support-from-adapter-script-transformation
in repository https://gitbox.apache.org/repos/asf/streampipes.git

commit 4ae6667d9dc354130af5754849b95180630900cf
Merge: 7ed9d3fa03 87ffcff1ae
Author: Sven Oehler <[email protected]>
AuthorDate: Mon Jun 29 15:31:21 2026 +0200

    Merge branch 'dev' of https://github.com/apache/streampipes into 
remove-groovy-support-from-adapter-script-transformation

 .../connect/AdapterTransitionRegistry.java         |  80 +++++++++++++
 .../connect/AdapterWorkerManagement.java           |  83 +++++++------
 .../connect/AdapterWorkerRequestManagement.java    |   7 +-
 .../monitoring/HealthCheckManagement.java          |  53 +++++++--
 .../connect/AdapterWorkerManagementTest.java       |  17 ++-
 .../health/monitoring/AdapterHealthCheck.java      |  19 ++-
 .../ExtensionInstanceAvailabilityCheck.java        |   7 +-
 .../health/monitoring/AdapterHealthCheckTest.java  | 129 +++++++++++++++++++++
 ...stanceHealth.java => AdapterInstanceState.java} |   8 +-
 .../model/health/ExtensionInstanceHealth.java      |   3 +-
 10 files changed, 345 insertions(+), 61 deletions(-)

diff --cc 
streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterWorkerManagement.java
index f3d17fd20e,4df5066ff1..ea0df9a89d
--- 
a/streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterWorkerManagement.java
+++ 
b/streampipes-extensions-management/src/main/java/org/apache/streampipes/extensions/management/connect/AdapterWorkerManagement.java
@@@ -54,32 -56,36 +57,37 @@@ public class AdapterWorkerManagement 
    }
  
    public void invokeAdapter(AdapterDescription adapterDescription) throws 
AdapterException {
-     var adapter = declarers
-         .getAdapter(adapterDescription.getAppId());
- 
-     if (adapter.isPresent()) {
-       var newAdapterInstance = 
adapter.get().declareConfig().getSupplier().get();
-       validateScriptLanguage(adapterDescription);
-       runningAdapterInstances.addAdapter(
-           adapterDescription.getElementId(),
-           newAdapterInstance,
-           adapterDescription);
- 
-       // This method allows adapters to modify the adapter description prior 
to invocation.
-       // It is particularly useful for adapters like FileReplayAdapter that 
need to manipulate timestamp values
-       // internally, bypassing the adapter preprocessing pipeline.
-       newAdapterInstance.preprocessAdapterDescription(adapterDescription);
- 
-       var registeredParsers = 
newAdapterInstance.declareConfig().getSupportedParsers();
-       var extractor = AdapterParameterExtractor.from(adapterDescription, 
registeredParsers);
-       var runtimeContext = 
makeRuntimeContext(adapterDescription.getElementId());
-       var eventCollector = EventCollector.from(adapterDescription, 
runtimeContext);
- 
-       newAdapterInstance.onAdapterStarted(extractor, eventCollector, 
runtimeContext);
-     } else {
-       var errorMessage = "Adapter with id %s could not be 
found".formatted(adapterDescription.getAppId());
-       LOG.error(errorMessage);
-       throw new AdapterException(errorMessage);
+     
adapterTransitionRegistry.registerStarting(adapterDescription.getElementId());
+     try {
+       var adapter = declarers
+           .getAdapter(adapterDescription.getAppId());
+ 
+       if (adapter.isPresent()) {
+         var newAdapterInstance = 
adapter.get().declareConfig().getSupplier().get();
++        validateScriptLanguage(adapterDescription);
+         runningAdapterInstances.addAdapter(
+             adapterDescription.getElementId(),
+             newAdapterInstance,
+             adapterDescription);
+ 
+         // This method allows adapters to modify the adapter description 
prior to invocation.
+         // It is particularly useful for adapters like FileReplayAdapter that 
need to manipulate timestamp values
+         // internally, bypassing the adapter preprocessing pipeline.
+         newAdapterInstance.preprocessAdapterDescription(adapterDescription);
+ 
+         var registeredParsers = 
newAdapterInstance.declareConfig().getSupportedParsers();
+         var extractor = AdapterParameterExtractor.from(adapterDescription, 
registeredParsers);
+         var runtimeContext = 
makeRuntimeContext(adapterDescription.getElementId());
+         var eventCollector = EventCollector.from(adapterDescription, 
runtimeContext);
+ 
+         newAdapterInstance.onAdapterStarted(extractor, eventCollector, 
runtimeContext);
+       } else {
+         var errorMessage = "Adapter with id %s could not be 
found".formatted(adapterDescription.getAppId());
+         LOG.error(errorMessage);
+         throw new AdapterException(errorMessage);
+       }
+     } finally {
+       
adapterTransitionRegistry.deregisterStarting(adapterDescription.getElementId());
      }
    }
  

Reply via email to