diff --git a/imixs-archive-service/Dockerfile b/imixs-archive-service/Dockerfile index c67dcd03..185ffabe 100644 --- a/imixs-archive-service/Dockerfile +++ b/imixs-archive-service/Dockerfile @@ -1,4 +1,5 @@ -FROM jboss/wildfly:20.0.1.Final +FROM quay.io/wildfly/wildfly:27.0.1.Final-jdk11 +#FROM jboss/wildfly:20.0.1.Final LABEL description="Imixs-Office-Workflow" LABEL maintainer="ralph.soika@imixs.com" diff --git a/imixs-archive-service/Dockerfile-wildfly-debug b/imixs-archive-service/Dockerfile-wildfly-debug index 78bc2ab1..8aa9edf8 100644 --- a/imixs-archive-service/Dockerfile-wildfly-debug +++ b/imixs-archive-service/Dockerfile-wildfly-debug @@ -1,4 +1,5 @@ -FROM jboss/wildfly:20.0.1.Final +FROM quay.io/wildfly/wildfly:27.0.1.Final-jdk11 +#FROM jboss/wildfly:20.0.1.Final LABEL description="Imixs-Office-Workflow" LABEL maintainer="ralph.soika@imixs.com" diff --git a/imixs-archive-service/docker-compose-dev.yml b/imixs-archive-service/docker-compose-dev.yml index e069c7f7..8cb8fc74 100644 --- a/imixs-archive-service/docker-compose-dev.yml +++ b/imixs-archive-service/docker-compose-dev.yml @@ -42,11 +42,11 @@ services: - "9990:9990" - "8787:8787" volumes: - - ~/git/imixs-archive/imixs-archive-service/src/docker/deployments:/opt/wildfly/standalone/deployments/ + - ./docker/deployments:/opt/jboss/wildfly/standalone/deployments/ cassandra: - image: cassandra:3.11 + image: cassandra:4.0.6 environment: TZ: "Europe/Berlin" diff --git a/imixs-archive-service/docker-compose.yml b/imixs-archive-service/docker-compose.yml index af663092..8eb59fc6 100644 --- a/imixs-archive-service/docker-compose.yml +++ b/imixs-archive-service/docker-compose.yml @@ -18,6 +18,6 @@ services: - "8080:8080" cassandra: - image: cassandra:3.11 + image: cassandra:4.0.6 environment: TZ: "Europe/Berlin" diff --git a/imixs-archive-service/pom.xml b/imixs-archive-service/pom.xml index 72776f8e..86722950 100644 --- a/imixs-archive-service/pom.xml +++ b/imixs-archive-service/pom.xml @@ -276,13 +276,73 @@ ${project.build.sourceEncoding} - + + + + org.imixs.maven + manik-hotdeploy-maven-plugin + 2.0.0 + + + install + + deploy + + + + + + + + + target/*.{war,ear,jar} + docker/deployments/ + true + + + + + src/main/webapp + docker/deployments/imixs-archive-service.war + + + + + + + imixs-archive-service + + + + + + jakarta.platform + jakarta.jakartaee-api + ${jakarta.version} + provided + + + + + org.eclipse.microprofile + microprofile + ${microprofile.version} + pom + provided + + + org.eclipse.microprofile.metrics + microprofile-metrics-api + ${microprofile-metrics.version} + provided + + org.imixs.workflow imixs-workflow-core diff --git a/imixs-archive-service/src/main/java/org/imixs/archive/service/HealthCheckService.java b/imixs-archive-service/src/main/java/org/imixs/archive/service/HealthCheckService.java index fbc18995..1b5bb5b4 100644 --- a/imixs-archive-service/src/main/java/org/imixs/archive/service/HealthCheckService.java +++ b/imixs-archive-service/src/main/java/org/imixs/archive/service/HealthCheckService.java @@ -32,14 +32,16 @@ import java.io.InputStream; import java.util.Properties; import java.util.logging.Logger; -import javax.enterprise.context.ApplicationScoped; -import javax.inject.Inject; + import org.eclipse.microprofile.health.Health; import org.eclipse.microprofile.health.HealthCheck; import org.eclipse.microprofile.health.HealthCheckResponse; import org.eclipse.microprofile.health.HealthCheckResponseBuilder; import org.imixs.archive.service.cassandra.ClusterService; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; + /** * The Imixs HealthCheckService implements the Microservice HealthCheck * interface. diff --git a/imixs-archive-service/src/main/java/org/imixs/archive/service/RemoteAPIService.java b/imixs-archive-service/src/main/java/org/imixs/archive/service/RemoteAPIService.java index b0dcc4c2..db45e265 100644 --- a/imixs-archive-service/src/main/java/org/imixs/archive/service/RemoteAPIService.java +++ b/imixs-archive-service/src/main/java/org/imixs/archive/service/RemoteAPIService.java @@ -106,10 +106,12 @@ public XMLDataCollection readSyncData(long syncPoint) throws ArchiveException { /** * This method read the current snapshot id for a given UnqiueID. This - * information can be used to verify the sync satus of a single process + * information can be used to verify the sync status of a single process * instance. * - * @return the current snapshotid + * The method throws a ArchiveException in case the snapshot did not exist + * + * @return the current snapshotId * @throws ArchiveException * */ diff --git a/imixs-archive-service/src/main/java/org/imixs/archive/service/api/ArchiveRestService.java b/imixs-archive-service/src/main/java/org/imixs/archive/service/api/ArchiveRestService.java index be27ecca..0d4eb64b 100644 --- a/imixs-archive-service/src/main/java/org/imixs/archive/service/api/ArchiveRestService.java +++ b/imixs-archive-service/src/main/java/org/imixs/archive/service/api/ArchiveRestService.java @@ -32,6 +32,17 @@ import java.util.logging.Level; import java.util.logging.Logger; +import org.imixs.archive.service.ArchiveException; +import org.imixs.archive.service.cassandra.ClusterService; +import org.imixs.archive.service.cassandra.DataService; +import org.imixs.workflow.FileData; +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.xml.XMLDataCollectionAdapter; +import org.imixs.workflow.xml.XMLDocumentAdapter; + +import com.datastax.driver.core.Cluster; +import com.datastax.driver.core.Session; + import jakarta.ejb.Stateless; import jakarta.inject.Inject; import jakarta.servlet.http.HttpServletRequest; @@ -47,17 +58,6 @@ import jakarta.ws.rs.core.Response; import jakarta.ws.rs.core.UriInfo; -import org.imixs.archive.service.ArchiveException; -import org.imixs.archive.service.cassandra.ClusterService; -import org.imixs.archive.service.cassandra.DataService; -import org.imixs.workflow.FileData; -import org.imixs.workflow.ItemCollection; -import org.imixs.workflow.xml.XMLDataCollectionAdapter; -import org.imixs.workflow.xml.XMLDocumentAdapter; - -import com.datastax.driver.core.Cluster; -import com.datastax.driver.core.Session; - /** * The ArchiveRestService provides a Rest API to be used by external clients. *

@@ -78,7 +78,7 @@ public class ArchiveRestService { @Inject DataService dataService; - @javax.ws.rs.core.Context + @jakarta.ws.rs.core.Context private HttpServletRequest servletRequest; private static Logger logger = Logger.getLogger(ArchiveRestService.class.getName()); @@ -284,8 +284,6 @@ public Response getSnapshotFileByName(@PathParam("snapshotid") String id, @PathP } - - /** * This method converts a single ItemCollection into a Jax-rs response object. *

diff --git a/imixs-archive-service/src/main/java/org/imixs/archive/service/resync/ResyncService.java b/imixs-archive-service/src/main/java/org/imixs/archive/service/resync/ResyncService.java index 2b9e867e..a24ff562 100644 --- a/imixs-archive-service/src/main/java/org/imixs/archive/service/resync/ResyncService.java +++ b/imixs-archive-service/src/main/java/org/imixs/archive/service/resync/ResyncService.java @@ -27,13 +27,6 @@ import java.util.List; import java.util.logging.Logger; -import javax.annotation.Resource; -import jakarta.ejb.Stateless; -import jakarta.ejb.Timeout; -import jakarta.ejb.Timer; -import jakarta.ejb.TimerConfig; -import jakarta.inject.Inject; - import org.imixs.archive.service.ArchiveException; import org.imixs.archive.service.RemoteAPIService; import org.imixs.archive.service.cassandra.ClusterService; @@ -45,6 +38,13 @@ import org.imixs.workflow.xml.XMLDocument; import org.imixs.workflow.xml.XMLDocumentAdapter; +import jakarta.annotation.Resource; +import jakarta.ejb.Stateless; +import jakarta.ejb.Timeout; +import jakarta.ejb.Timer; +import jakarta.ejb.TimerConfig; +import jakarta.inject.Inject; + /** * The SyncService synchronizes the data of a Imixs-Worklfow instance with the * cassandra cluster. The synchonrization can be started by the method sync(). @@ -260,11 +260,12 @@ void onTimeout(jakarta.ejb.Timer timer) throws Exception { syncupdate++; totalCount++; totalSize = totalSize + dataService.calculateSize(xmlDocument); - } catch ( RuntimeException e) { - logger.warning("Failed to resync snapshot id '"+snapshot.getUniqueID()+"' - error: "+e.getMessage()); + } catch (RuntimeException e) { + logger.warning("Failed to resync snapshot id '" + snapshot.getUniqueID() + "' - error: " + + e.getMessage()); // we continue.... } - + } else { // This is because in case of a restore, the same snapshot takes a new $modified // item. And we do not want to re-import the snapshot in the next sync cycle. diff --git a/imixs-archive-service/src/main/resources/bundle/messages_en.properties b/imixs-archive-service/src/main/resources/bundle/messages_en.properties index c9be0630..b40c5b1e 100644 --- a/imixs-archive-service/src/main/resources/bundle/messages_en.properties +++ b/imixs-archive-service/src/main/resources/bundle/messages_en.properties @@ -61,7 +61,7 @@ error_message=Please verify your input and correct input fields marked with a * error_message_general_title=Sorry, an error has occurred! error_message_general=We are sorry, unfortunately an unexpected error occurred. Please try again. error_message_mce_image_size=This data is to large, to be inserted. Please use a link instead! -javax.faces.component.UIInput.REQUIRED=* -javax.faces.component.UIInput.REQUIRED_detail=please enter the required value +jakarta.faces.component.UIInput.REQUIRED=* +jakarta.faces.component.UIInput.REQUIRED_detail=please enter the required value search_error_title=Invalid search term!