diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5ee7ff7823..87da605b20 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -70,13 +70,13 @@ jobs: push: true tags: ${{ env.DOCKERHUB_APACHE_REPO }}/backend:${{ env.MVN_VERSION }} - - name: Build and Push Docker Backend Nats Image + - name: Build and Push Docker Core Minimal Image uses: docker/build-push-action@v5 with: - context: ./streampipes-service-core-nats + context: ./streampipes-service-core-minimal platforms: linux/amd64,linux/arm64/v8,linux/arm/v7 push: true - tags: ${{ env.DOCKERHUB_APACHE_REPO }}/backend-nats:${{ env.MVN_VERSION }} + tags: ${{ env.DOCKERHUB_APACHE_REPO }}/backend-minimal:${{ env.MVN_VERSION }} - name: Build UI working-directory: ./ui diff --git a/pom.xml b/pom.xml index cf1246ffce..3ec3c1e1a5 100644 --- a/pom.xml +++ b/pom.xml @@ -1358,7 +1358,7 @@ streampipes-serializers-json streampipes-service-base streampipes-service-core - streampipes-service-core-nats + streampipes-service-core-minimal streampipes-service-discovery streampipes-service-discovery-consul streampipes-service-discovery-api diff --git a/streampipes-extensions/streampipes-extensions-iiot-minimal/pom.xml b/streampipes-extensions/streampipes-extensions-iiot-minimal/pom.xml index 6fdd279540..7a986aa2fb 100644 --- a/streampipes-extensions/streampipes-extensions-iiot-minimal/pom.xml +++ b/streampipes-extensions/streampipes-extensions-iiot-minimal/pom.xml @@ -61,6 +61,12 @@ 0.93.0-SNAPSHOT + + org.apache.streampipes + streampipes-messaging-mqtt + 0.93.0-SNAPSHOT + + org.apache.streampipes streampipes-processors-filters-jvm diff --git a/streampipes-extensions/streampipes-extensions-iiot-minimal/src/main/java/org/apache/streampipes/extensions/iiot/minimal/ExtensionsIIoTMinimalInit.java b/streampipes-extensions/streampipes-extensions-iiot-minimal/src/main/java/org/apache/streampipes/extensions/iiot/minimal/ExtensionsIIoTMinimalInit.java index 5861455e3f..e609b018c7 100644 --- a/streampipes-extensions/streampipes-extensions-iiot-minimal/src/main/java/org/apache/streampipes/extensions/iiot/minimal/ExtensionsIIoTMinimalInit.java +++ b/streampipes-extensions/streampipes-extensions-iiot-minimal/src/main/java/org/apache/streampipes/extensions/iiot/minimal/ExtensionsIIoTMinimalInit.java @@ -30,6 +30,7 @@ import org.apache.streampipes.extensions.connectors.plc.PlcConnectorsModuleExport; import org.apache.streampipes.extensions.management.model.SpServiceDefinition; import org.apache.streampipes.extensions.management.model.SpServiceDefinitionBuilder; +import org.apache.streampipes.messaging.mqtt.SpMqttProtocolFactory; import org.apache.streampipes.messaging.nats.SpNatsProtocolFactory; import org.apache.streampipes.processors.changedetection.jvm.ChangeDetectionExtensionModuleExport; import org.apache.streampipes.processors.enricher.jvm.EnricherExtensionModuleExport; @@ -79,7 +80,8 @@ public SpServiceDefinition provideServiceDefinition() { new SmileDataFormatFactory(), new FstDataFormatFactory()) .registerMessagingProtocols( - new SpNatsProtocolFactory() + new SpNatsProtocolFactory(), + new SpMqttProtocolFactory() ) .build(); } diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/endpoint/EndpointItemFetcher.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/endpoint/EndpointItemFetcher.java index 2fd3a4ef9f..f7a4974d03 100644 --- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/endpoint/EndpointItemFetcher.java +++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/endpoint/EndpointItemFetcher.java @@ -59,7 +59,11 @@ private List getEndpointItems(ExtensionsServiceEn .readValue(result, new TypeReference<>() { }); } catch (IOException e1) { - logger.warn("Processing Element Descriptions could not be fetched from endpoint: " + e.getEndpointUrl(), e1); + logger.warn( + "Processing Element Descriptions could not be fetched from endpoint {}: {} ", + e.getEndpointUrl(), + e1.getMessage() + ); return Collections.emptyList(); } } diff --git a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/health/ServiceHealthCheck.java b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/health/ServiceHealthCheck.java index 88c9292ae9..abb1dc5ea0 100644 --- a/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/health/ServiceHealthCheck.java +++ b/streampipes-pipeline-management/src/main/java/org/apache/streampipes/manager/health/ServiceHealthCheck.java @@ -56,7 +56,7 @@ private void checkServiceHealth(SpServiceRegistration service) { try { var request = ExtensionServiceExecutions.extServiceGetRequest(healthCheckUrl); var response = request.execute(); - if (response.returnResponse().getStatusLine().getStatusCode() != HttpStatus.SC_OK && !isStarting(service)) { + if (response.returnResponse().getStatusLine().getStatusCode() != HttpStatus.SC_OK) { processUnhealthyService(service); } else { if (service.getStatus() == SpServiceStatus.UNHEALTHY) { @@ -68,10 +68,6 @@ private void checkServiceHealth(SpServiceRegistration service) { } } - private boolean isStarting(SpServiceRegistration service) { - return service.getStatus() == SpServiceStatus.REGISTERED || service.getStatus() == SpServiceStatus.MIGRATING; - } - private void processUnhealthyService(SpServiceRegistration service) { if (service.getStatus() == SpServiceStatus.HEALTHY) { serviceRegistrationManager.applyServiceStatus( diff --git a/streampipes-service-core-nats/Dockerfile b/streampipes-service-core-minimal/Dockerfile similarity index 93% rename from streampipes-service-core-nats/Dockerfile rename to streampipes-service-core-minimal/Dockerfile index fd2c7ffe9b..7970c3e715 100644 --- a/streampipes-service-core-nats/Dockerfile +++ b/streampipes-service-core-minimal/Dockerfile @@ -15,6 +15,6 @@ FROM eclipse-temurin:17-jre-focal -COPY target/streampipes-core-nats.jar /streampipes-core.jar +COPY target/streampipes-core-minimal.jar /streampipes-core.jar ENTRYPOINT ["java", "-jar", "/streampipes-core.jar"] diff --git a/streampipes-service-core-nats/pom.xml b/streampipes-service-core-minimal/pom.xml similarity index 90% rename from streampipes-service-core-nats/pom.xml rename to streampipes-service-core-minimal/pom.xml index 7eb181727a..4559a9815f 100644 --- a/streampipes-service-core-nats/pom.xml +++ b/streampipes-service-core-minimal/pom.xml @@ -27,7 +27,7 @@ 0.93.0-SNAPSHOT - streampipes-service-core-nats + streampipes-service-core-minimal @@ -40,10 +40,6 @@ org.apache.streampipes streampipes-messaging-jms - - org.apache.streampipes - streampipes-messaging-mqtt - org.apache.streampipes streampipes-messaging-kafka @@ -54,6 +50,11 @@ + + org.apache.streampipes + streampipes-messaging-mqtt + 0.93.0-SNAPSHOT + @@ -67,7 +68,7 @@ repackage - org.apache.streampipes.service.core.nats.StreamPipesCoreApplicationNats + org.apache.streampipes.service.core.minimal.StreamPipesCoreApplicationMinimal @@ -88,7 +89,7 @@ maven-checkstyle-plugin - streampipes-core-nats + streampipes-core-minimal diff --git a/streampipes-service-core-nats/src/main/java/org/apache/streampipes/service/core/nats/StreamPipesCoreApplicationNats.java b/streampipes-service-core-minimal/src/main/java/org/apache/streampipes/service/core/minimal/StreamPipesCoreApplicationMinimal.java similarity index 84% rename from streampipes-service-core-nats/src/main/java/org/apache/streampipes/service/core/nats/StreamPipesCoreApplicationNats.java rename to streampipes-service-core-minimal/src/main/java/org/apache/streampipes/service/core/minimal/StreamPipesCoreApplicationMinimal.java index bf441d21ac..a580eab51d 100644 --- a/streampipes-service-core-nats/src/main/java/org/apache/streampipes/service/core/nats/StreamPipesCoreApplicationNats.java +++ b/streampipes-service-core-minimal/src/main/java/org/apache/streampipes/service/core/minimal/StreamPipesCoreApplicationMinimal.java @@ -16,8 +16,9 @@ * */ -package org.apache.streampipes.service.core.nats; +package org.apache.streampipes.service.core.minimal; +import org.apache.streampipes.messaging.mqtt.SpMqttProtocolFactory; import org.apache.streampipes.messaging.nats.SpNatsProtocolFactory; import org.apache.streampipes.rest.security.SpPermissionEvaluator; import org.apache.streampipes.service.core.StreamPipesCoreApplication; @@ -42,12 +43,13 @@ SpPermissionEvaluator.class }) @ComponentScan({"org.apache.streampipes.rest.*"}) -public class StreamPipesCoreApplicationNats extends StreamPipesCoreApplication { +public class StreamPipesCoreApplicationMinimal extends StreamPipesCoreApplication { public static void main(String[] args) { - var application = new StreamPipesCoreApplicationNats(); + var application = new StreamPipesCoreApplicationMinimal(); application.initialize(() -> List.of( - new SpNatsProtocolFactory() + new SpNatsProtocolFactory(), + new SpMqttProtocolFactory() )); } }