From 96950fd915c7de2b75b2b964733df350a4da3215 Mon Sep 17 00:00:00 2001 From: skin27 Date: Mon, 14 Oct 2024 06:26:50 +0000 Subject: [PATCH 01/28] Update version to 5.0.1-SNAPSHOT --- broker/pom.xml | 2 +- brokerRest/pom.xml | 2 +- dil/pom.xml | 2 +- integration/pom.xml | 2 +- integrationRest/pom.xml | 2 +- pom.xml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/broker/pom.xml b/broker/pom.xml index 9626b885..57099042 100644 --- a/broker/pom.xml +++ b/broker/pom.xml @@ -6,7 +6,7 @@ runtime org.assimbly - 5.0.0 + 5.0.1-SNAPSHOT broker diff --git a/brokerRest/pom.xml b/brokerRest/pom.xml index 464f0a99..c1bb341d 100644 --- a/brokerRest/pom.xml +++ b/brokerRest/pom.xml @@ -6,7 +6,7 @@ runtime org.assimbly - 5.0.0 + 5.0.1-SNAPSHOT broker-rest diff --git a/dil/pom.xml b/dil/pom.xml index 7fa6224d..e68f9fef 100644 --- a/dil/pom.xml +++ b/dil/pom.xml @@ -4,7 +4,7 @@ runtime org.assimbly - 5.0.0 + 5.0.1-SNAPSHOT dil diff --git a/integration/pom.xml b/integration/pom.xml index cc9b3416..a8984f5e 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -4,7 +4,7 @@ runtime org.assimbly - 5.0.0 + 5.0.1-SNAPSHOT integration diff --git a/integrationRest/pom.xml b/integrationRest/pom.xml index 7e51ca78..d218be4c 100644 --- a/integrationRest/pom.xml +++ b/integrationRest/pom.xml @@ -6,7 +6,7 @@ runtime org.assimbly - 5.0.0 + 5.0.1-SNAPSHOT integration-rest diff --git a/pom.xml b/pom.xml index 78207e4c..61329d72 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ org.assimbly runtime - 5.0.0 + 5.0.1-SNAPSHOT broker @@ -25,7 +25,7 @@ UTF-8 ${project.basedir} 6.1.3 - 5.0.0 + 5.0.1-SNAPSHOT 3.0 3.3.4 3.9.9 From ca86984183a4015093f24e1c4a8fa78c70832a85 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Thu, 24 Oct 2024 16:54:09 +0200 Subject: [PATCH 02/28] Set max connections to 5000 --- .../java/org/assimbly/integration/impl/CamelIntegration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 6f4e8d45..9c593c83 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -1069,7 +1069,7 @@ private static JmsComponent getJmsComponent(String activemqUrl) { PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(); pooledConnectionFactory.setConnectionFactory(activeMQConnectionFactory); - pooledConnectionFactory.setMaxConnections(1000); // Max connections in the pool + pooledConnectionFactory.setMaxConnections(5000); // Max connections in the pool pooledConnectionFactory.setIdleTimeout(5000); // Idle timeout in milliseconds JmsComponent jmsComponent = new JmsComponent(); From 1f0523616c2bf98edc54e71120be1ca0766b5629 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Thu, 24 Oct 2024 16:56:06 +0200 Subject: [PATCH 03/28] set max connections to 3 per connection --- .../dil/blocks/connections/broker/ActiveMQConnection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java b/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java index edd38dfb..754916cf 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java @@ -73,10 +73,10 @@ private void setFields(){ } else if (conType.equals("pooled")) { if (maxConnections == null) { - maxConnections = "10"; + maxConnections = "3"; } if (concurentConsumers == null) { - concurentConsumers = "10"; + concurentConsumers = "3"; } } From 3109c89ec07cbf30f43e1720f2e99137355b3949 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Fri, 25 Oct 2024 15:09:47 +0200 Subject: [PATCH 04/28] update dependencies --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 61329d72..1c8541fe 100644 --- a/pom.xml +++ b/pom.xml @@ -27,9 +27,9 @@ 6.1.3 5.0.1-SNAPSHOT 3.0 - 3.3.4 + 3.3.5 3.9.9 - 4.8.0 + 4.8.1 2.3.232 2.7.3 2.11.5 From 4f43d27de562f5952cbdb793b463388778974f7d Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Mon, 28 Oct 2024 16:05:53 +0100 Subject: [PATCH 05/28] comment custom loggers --- .../java/org/assimbly/integration/impl/CamelIntegration.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 9c593c83..4dbdecee 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -289,8 +289,8 @@ public void setDefaultBlocks() throws Exception { registry.bind("FlowLogger", new FlowLogger()); registry.bind("exceptionAsJson", new ExceptionAsJsonProcessor()); - registry.bind("SetLogProcessor", new SetLogProcessor()); - registry.bind("JsonExchangeFormatter", new JsonExchangeFormatter()); + //registry.bind("SetLogProcessor", new SetLogProcessor()); + //registry.bind("JsonExchangeFormatter", new JsonExchangeFormatter()); } From 5c2738ef3c51baf47044218b3dc2ece500704fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Mon, 4 Nov 2024 18:06:10 +0000 Subject: [PATCH 06/28] getLastExchangeCompletedTimestamp instead of getLastExchangeFailureTimestamp, when getting lastCompleted --- .../java/org/assimbly/integration/impl/CamelIntegration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 4dbdecee..947db21a 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2162,7 +2162,7 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta if(lastCompleted==null){ lastCompleted = route.getLastExchangeCompletedTimestamp(); }else{ - Date completed = route.getLastExchangeFailureTimestamp(); + Date completed = route.getLastExchangeCompletedTimestamp(); if(completed!=null && completed.after(lastCompleted)){ lastCompleted = completed; } From 150db7731775cab732a602d55012a18b25a37ddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Mon, 4 Nov 2024 18:10:33 +0000 Subject: [PATCH 07/28] removed unreachable code --- .../assimbly/integration/impl/CamelIntegration.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 947db21a..b27be903 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2169,17 +2169,7 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } if(includeSteps){ - JSONObject step = new JSONObject();; - if(fullStats){ - step = getStepStats(routeId, fullStats); - }else{ - String stepId = StringUtils.substringAfter(routeId,flowId + "-"); - step.put("id", stepId); - step.put("total",route.getExchangesTotal()); - step.put("completed",route.getExchangesCompleted()); - step.put("failed",route.getExchangesFailed()); - step.put("pending",route.getExchangesInflight()); - } + JSONObject step = getStepStats(routeId, fullStats); steps.put(step); } From 476ff013e25b7ec6d1e8128650a36091185f5e61 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Tue, 5 Nov 2024 08:31:01 +0100 Subject: [PATCH 08/28] update statistic API --- .../org/assimbly/integration/Integration.java | 23 ++- .../integration/impl/BaseIntegration.java | 4 + .../integration/impl/CamelIntegration.java | 154 +++++++++++------- .../integrationrest/StatisticsRuntime.java | 39 +++++ 4 files changed, 162 insertions(+), 58 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/Integration.java b/integration/src/main/java/org/assimbly/integration/Integration.java index 980e9a9b..afdf77dc 100644 --- a/integration/src/main/java/org/assimbly/integration/Integration.java +++ b/integration/src/main/java/org/assimbly/integration/Integration.java @@ -262,11 +262,30 @@ public interface Integration { * Gets the stats of an integration * * @param mediaType (xml or json) - * @throws Exception if flow doesn't start - * @return returns number of messages + * @throws Exception if stats can't be retrieved + * @return returns stats of integration (system) + * */ public String getStats(String mediaType) throws Exception; + /** + * Gets the stats of all steps + * + * @param mediaType (xml or json) + * @throws Exception if stats can't be retrieved + * @return returns stats of integration (system) + */ + public String getStepsStats(String mediaType) throws Exception; + + /** + * Gets the stats of all flows + * + * @param mediaType (xml or json) + * @throws Exception if stats can't be retrieved + * @return returns stats of integration (system) + */ + public String getFlowsStats(String mediaType) throws Exception; + /** * Gets the stats of an integration * diff --git a/integration/src/main/java/org/assimbly/integration/impl/BaseIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/BaseIntegration.java index 74893063..f0d2de9f 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/BaseIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/BaseIntegration.java @@ -289,6 +289,10 @@ public String testConnection(String host, int port, int timeOut) { public abstract String getStats(String mediaType) throws Exception; + public abstract String getFlowsStats(String mediaType) throws Exception; + + public abstract String getStepsStats(String mediaType) throws Exception; + public abstract String getMessages(String mediaType) throws Exception; public abstract String getStatsByFlowIds(String flowIds, String filter, String mediaType) throws Exception; diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 4dbdecee..285b020c 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -36,6 +36,7 @@ import org.apache.camel.support.ResourceHelper; import org.apache.camel.support.jsse.SSLContextParameters; import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy; +import org.apache.camel.util.concurrent.ThreadType; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; @@ -84,6 +85,8 @@ import java.io.File; import java.io.IOException; import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; import java.lang.reflect.Method; import java.net.URL; import java.nio.charset.Charset; @@ -93,9 +96,10 @@ import java.nio.file.Paths; import java.security.KeyStoreException; import java.security.cert.Certificate; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -169,7 +173,7 @@ public void setDefaultSettings() throws Exception { setDefaultThreadProfile(5,50,5000); - setThreadProfile("wiretapProfile", 0,5,2000); + setThreadProfile("wiretapProfile", 0,10,2500); setCertificateStore(true); @@ -183,7 +187,7 @@ public void setDefaultSettings() throws Exception { setHistoryMetrics(true); - setTracing(true,"backlog"); + //setTracing(true,"backlog"); } @@ -309,10 +313,13 @@ public void setThreadProfile(String name, int poolSize, int maxPoolSize, int max public void setGlobalOptions(){ //enable virtual threads - System.setProperty("camel.threads.virtual.enabled","true"); + //System.setProperty("camel.threads.virtual.enabled","true"); context.setUseBreadcrumb(true); + //enable performance stats + context.getManagementStrategy().getManagementAgent().setLoadStatisticsEnabled(true); + // Enable Jackson JSON type converter for more types. context.getGlobalOptions().put("CamelJacksonEnableTypeConverter", "true"); // Allow Jackson JSON to convert to pojo types also @@ -2116,8 +2123,11 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta long completedMessages = 0; long failedMessages = 0; long pendingMessages = 0; - String uptime = null; + double cpuLoadLastMinute = 0.00; + double cpuLoadLast5Minutes = 0.00; + double cpuLoadLast15Minutes = 0.00; long uptimeMillis = 0; + String uptime = null; Date lastFailed = null; Date lastCompleted = null; @@ -2168,6 +2178,10 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } + cpuLoadLastMinute += Double.parseDouble(route.getLoad01()); + cpuLoadLast5Minutes += Double.parseDouble(route.getLoad05()); + cpuLoadLast15Minutes += Double.parseDouble(route.getLoad15()); + if(includeSteps){ JSONObject step = new JSONObject();; if(fullStats){ @@ -2182,7 +2196,6 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } steps.put(step); } - } } @@ -2193,10 +2206,13 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta flow.put("pending",pendingMessages); if(fullStats){ + flow.put("status",getFlowStatus(flowId)); flow.put("timeout",getTimeout(context)); flow.put("uptime",uptime); flow.put("uptimeMillis",uptimeMillis); - flow.put("status",getFlowStatus(flowId)); + flow.put("cpuLoadLastMinute",cpuLoadLastMinute); + flow.put("cpuLoadLast5Minutes",cpuLoadLast5Minutes); + flow.put("cpuLoadLast15Minutes",cpuLoadLast15Minutes); flow.put("lastFailed",lastFailed != null ? lastFailed : ""); flow.put("lastCompleted",lastCompleted != null ? lastCompleted : ""); } @@ -2241,36 +2257,6 @@ private long getTimeout(CamelContext context) throws MalformedObjectNameExceptio } } - /* - public String getFlowStats(String id, boolean fullStats, String mediaType) throws Exception { - - JSONObject json = new JSONObject(); - JSONObject flow = new JSONObject(); - JSONArray steps = new JSONArray(); - - List routes = getRoutesByFlowId(id); - - for(Route route: routes){ - JSONObject step = getStepStats(route.getId(), fullStats); - steps.put(step); - } - - flow.put("id",id); - flow.put("steps",steps); - json.put("flow",flow); - - String flowStats = json.toString(4); - if(mediaType.contains("xml")) { - flowStats = DocConverter.convertJsonToXml(flowStats); - } - - return flowStats; - - } - */ - - - public String getFlowStepStats(String flowId, String stepid, boolean fullStats, String mediaType) throws Exception { String routeid = flowId + "-" + stepid; @@ -2307,15 +2293,15 @@ private JSONObject getStepStats(String routeid, boolean fullStats) throws Except JSONObject load = new JSONObject(); - String throughput = "0"; //route.getThroughput(); + //String throughput = route.getThroughput(); String stepLoad01 = route.getLoad01(); String stepLoad05 = route.getLoad05(); String stepLoad15 = route.getLoad15(); - load.put("throughput", throughput); - load.put("load01", stepLoad01); - load.put("load05", stepLoad05); - load.put("load15", stepLoad15); + //load.put("throughput", throughput); + load.put("cpuLoadLastMinute", stepLoad01); + load.put("cpuLoadLast5Minutes", stepLoad05); + load.put("cpuLoadLast15Minutes", stepLoad15); step.put("load", load); } @@ -2329,33 +2315,67 @@ private JSONObject getStepStats(String routeid, boolean fullStats) throws Except json.put("step", step); return json; + } public String getStats(String mediaType) throws Exception { - Set flowIds = new HashSet(); + JSONObject json = new JSONObject(); - List routes = context.getRoutes(); + ManagedCamelContextMBean managedCamelContext = managed.getManagedCamelContext(); - for(Route route: routes){ - String routeId = route.getId(); - String flowId = StringUtils.substringBefore(routeId,"-"); - if(flowId!=null && !flowId.isEmpty()) { - flowIds.add(flowId); - } + json.put("camelId",managedCamelContext.getCamelId()); + json.put("status",managedCamelContext.getState()); + json.put("uptime",managedCamelContext.getUptime()); + json.put("uptimeMillis",managedCamelContext.getUptimeMillis()); + json.put("startedRoutes",managedCamelContext.getStartedRoutes()); + json.put("cpuLoadLastMinute",managedCamelContext.getLoad01()); + json.put("cpuLoadLast5Minutes",managedCamelContext.getLoad05()); + json.put("cpuLoadLast15Minutes",managedCamelContext.getLoad15()); + json.put("memoryUsage",getMemoryUsage()); + json.put("totalThreads",ManagementFactory.getThreadMXBean().getThreadCount()); + + String stats = json.toString(4); + if(mediaType.contains("xml")) { + stats = DocConverter.convertJsonToXml(stats); } - String result = getStatsFromList(flowIds, true, false, false); + return stats; + } - if(mediaType.contains("xml")) { - result = DocConverter.convertJsonToXml(result); + private double getMemoryUsage(){ + + MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean(); + MemoryUsage heapMemoryUsage = memoryBean.getHeapMemoryUsage(); + + long maxMemory = heapMemoryUsage.getMax(); // Maximum available memory + long usedMemory = heapMemoryUsage.getUsed(); // Currently used memory + + double memoryUsagePercentage = ((double) usedMemory / maxMemory) * 100; + + DecimalFormat df = new DecimalFormat("#.##"); + memoryUsagePercentage = Double.valueOf(df.format(memoryUsagePercentage)); + + return memoryUsagePercentage; + + } + + public String getStepsStats(String mediaType) throws Exception { + + ManagedCamelContextMBean managedCamelContext = managed.getManagedCamelContext(); + + String result = managedCamelContext.dumpRoutesStatsAsXml(true,false); + + if(mediaType.contains("json")) { + result = DocConverter.convertXmlToJson(result); } return result; } - public String getMessages(String mediaType) throws Exception { + + public String getFlowsStats(String mediaType) throws Exception { Set flowIds = new HashSet(); @@ -2369,7 +2389,7 @@ public String getMessages(String mediaType) throws Exception { } } - String result = getStatsFromList(flowIds, false, false, false); + String result = getStatsFromList(flowIds, true, false, false); if(mediaType.contains("xml")) { result = DocConverter.convertJsonToXml(result); @@ -2414,7 +2434,29 @@ private String getStatsFromList(Set flowIds, String filter, boolean full return result; } + public String getMessages(String mediaType) throws Exception { + Set flowIds = new HashSet(); + + List routes = context.getRoutes(); + + for(Route route: routes){ + String routeId = route.getId(); + String flowId = StringUtils.substringBefore(routeId,"-"); + if(flowId!=null && !flowId.isEmpty()) { + flowIds.add(flowId); + } + } + + String result = getStatsFromList(flowIds, false, false, false); + + if(mediaType.contains("xml")) { + result = DocConverter.convertJsonToXml(result); + } + + return result; + + } public String getMetrics(String mediaType) throws Exception { @@ -3102,4 +3144,4 @@ private String getKeystorePassword() { return keystorePwd; } -} +} \ No newline at end of file diff --git a/integrationRest/src/main/java/org/assimbly/integrationrest/StatisticsRuntime.java b/integrationRest/src/main/java/org/assimbly/integrationrest/StatisticsRuntime.java index 6f87adae..ce84f0c8 100644 --- a/integrationRest/src/main/java/org/assimbly/integrationrest/StatisticsRuntime.java +++ b/integrationRest/src/main/java/org/assimbly/integrationrest/StatisticsRuntime.java @@ -53,6 +53,45 @@ public ResponseEntity getStats(@Parameter(hidden = true) @RequestHeader( } } + @GetMapping( + path = "/integration/stats/steps", + produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_PLAIN_VALUE} + ) + public ResponseEntity getRoutesStats(@Parameter(hidden = true) @RequestHeader(value = "Accept") String mediaType) throws Exception { + + plainResponse = true; + integration = integrationRuntime.getIntegration(); + + try { + String stats = integration.getStepsStats(mediaType); + if(stats.startsWith("Error")||stats.startsWith("Warning")) {plainResponse = false;} + return ResponseUtil.createSuccessResponse(1L, mediaType,"/integration/stats/steps",stats,plainResponse); + } catch (Exception e) { + log.error("Get stats failed",e); + return ResponseUtil.createFailureResponse(1L, mediaType,"/integration/stats/steps",e.getMessage()); + } + } + + @GetMapping( + path = "/integration/stats/flows", + produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_PLAIN_VALUE} + ) + public ResponseEntity getFlowsStats(@Parameter(hidden = true) @RequestHeader(value = "Accept") String mediaType) throws Exception { + + plainResponse = true; + integration = integrationRuntime.getIntegration(); + + try { + String stats = integration.getFlowsStats(mediaType); + if(stats.startsWith("Error")||stats.startsWith("Warning")) {plainResponse = false;} + return ResponseUtil.createSuccessResponse(1L, mediaType,"/integration/stats/flows",stats,plainResponse); + } catch (Exception e) { + log.error("Get stats failed",e); + return ResponseUtil.createFailureResponse(1L, mediaType,"/integration/stats/flows",e.getMessage()); + } + } + + @GetMapping( path = "/integration/messages", produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE, MediaType.TEXT_PLAIN_VALUE} From feec5d23c814d047e11548a6c4d0484c60892174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Tue, 5 Nov 2024 10:37:57 +0000 Subject: [PATCH 09/28] renamed bundleId to flowId --- .../main/java/org/assimbly/dil/event/domain/MessageEvent.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dil/src/main/java/org/assimbly/dil/event/domain/MessageEvent.java b/dil/src/main/java/org/assimbly/dil/event/domain/MessageEvent.java index 2d71f6fa..c26b4047 100644 --- a/dil/src/main/java/org/assimbly/dil/event/domain/MessageEvent.java +++ b/dil/src/main/java/org/assimbly/dil/event/domain/MessageEvent.java @@ -90,7 +90,7 @@ public String getId() { return id; } - @JsonProperty("bundleId") + @JsonProperty("flowId") public String getFlowId() { return flowId; } @@ -100,7 +100,7 @@ public String getFlowVersion() { return flowVersion; } - @JsonProperty("previousBundleId") + @JsonProperty("previousFlowId") public String getPreviousFlowId() { return previousFlowId; } From 7c5bad35e772086bbfb4ad0ac8224cfb5d03665c Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Tue, 5 Nov 2024 15:38:39 +0100 Subject: [PATCH 10/28] Enhance statistic API --- .../dil/blocks/connections/broker/ActiveMQConnection.java | 4 ++-- .../org/assimbly/integration/impl/CamelIntegration.java | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java b/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java index 754916cf..91eae2f8 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/connections/broker/ActiveMQConnection.java @@ -73,10 +73,10 @@ private void setFields(){ } else if (conType.equals("pooled")) { if (maxConnections == null) { - maxConnections = "3"; + maxConnections = "2"; } if (concurentConsumers == null) { - concurentConsumers = "3"; + concurentConsumers = "2"; } } diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 1ade3cf8..b6825a17 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -1056,12 +1056,8 @@ private void addCustomActiveMQConnection(TreeMap props, String f Component activemqComp = this.context.getComponent(activemqName); if (activemqComp == null) { - JmsComponent jmsComponent = getJmsComponent(activemqUrl); - this.context.addComponent(activemqName, jmsComponent); - - } } catch (Exception e) { @@ -1076,7 +1072,7 @@ private static JmsComponent getJmsComponent(String activemqUrl) { PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(); pooledConnectionFactory.setConnectionFactory(activeMQConnectionFactory); - pooledConnectionFactory.setMaxConnections(5000); // Max connections in the pool + pooledConnectionFactory.setMaxConnections(20); // Max connections in the pool pooledConnectionFactory.setIdleTimeout(5000); // Idle timeout in milliseconds JmsComponent jmsComponent = new JmsComponent(); From fb3a657dad6143a40dfda17da223b45fe67379ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Tue, 5 Nov 2024 16:08:45 +0000 Subject: [PATCH 11/28] use 0 if string cannot be parsed --- .../integration/impl/CamelIntegration.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index b6825a17..ac654752 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2174,9 +2174,9 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } - cpuLoadLastMinute += Double.parseDouble(route.getLoad01()); - cpuLoadLast5Minutes += Double.parseDouble(route.getLoad05()); - cpuLoadLast15Minutes += Double.parseDouble(route.getLoad15()); + cpuLoadLastMinute += ParseDouble(route.getLoad01()); + cpuLoadLast5Minutes += ParseDouble(route.getLoad05()); + cpuLoadLast15Minutes += ParseDouble(route.getLoad15()); if(includeSteps){ JSONObject step = getStepStats(routeId, fullStats); @@ -3130,4 +3130,15 @@ private String getKeystorePassword() { return keystorePwd; } + private double ParseDouble(String strNumber) { + if (strNumber != null && strNumber.length() > 0) { + try { + return Double.parseDouble(strNumber); + } catch(Exception e) { + return 0; + } + } + return 0; + } + } \ No newline at end of file From dfab5248cccfe25aa2475d5c3e369bfd42d9c4ea Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Wed, 6 Nov 2024 08:09:10 +0100 Subject: [PATCH 12/28] Small fix to parse CPU to two decimals --- .../java/org/assimbly/integration/impl/CamelIntegration.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index ac654752..6ea29780 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -3133,7 +3133,10 @@ private String getKeystorePassword() { private double ParseDouble(String strNumber) { if (strNumber != null && strNumber.length() > 0) { try { - return Double.parseDouble(strNumber); + Double doubleNumber = Double.parseDouble(strNumber); + DecimalFormat df = new DecimalFormat("#.##"); + doubleNumber = Double.valueOf(df.format(doubleNumber)); + return doubleNumber; } catch(Exception e) { return 0; } From 42697911579ad5bf8c989ef4af68621dd6dda469 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Wed, 6 Nov 2024 08:19:56 +0100 Subject: [PATCH 13/28] parseDouble for other double values --- .../integration/impl/CamelIntegration.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 6ea29780..b68f7255 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2174,9 +2174,9 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } - cpuLoadLastMinute += ParseDouble(route.getLoad01()); - cpuLoadLast5Minutes += ParseDouble(route.getLoad05()); - cpuLoadLast15Minutes += ParseDouble(route.getLoad15()); + cpuLoadLastMinute += parseDouble(route.getLoad01()); + cpuLoadLast5Minutes += parseDouble(route.getLoad05()); + cpuLoadLast15Minutes += parseDouble(route.getLoad15()); if(includeSteps){ JSONObject step = getStepStats(routeId, fullStats); @@ -2280,9 +2280,9 @@ private JSONObject getStepStats(String routeid, boolean fullStats) throws Except JSONObject load = new JSONObject(); //String throughput = route.getThroughput(); - String stepLoad01 = route.getLoad01(); - String stepLoad05 = route.getLoad05(); - String stepLoad15 = route.getLoad15(); + Double stepLoad01 = parseDouble(route.getLoad01()); + Double stepLoad05 = parseDouble(route.getLoad05()); + Double stepLoad15 = parseDouble(route.getLoad15()); //load.put("throughput", throughput); load.put("cpuLoadLastMinute", stepLoad01); @@ -2315,9 +2315,9 @@ public String getStats(String mediaType) throws Exception { json.put("uptime",managedCamelContext.getUptime()); json.put("uptimeMillis",managedCamelContext.getUptimeMillis()); json.put("startedRoutes",managedCamelContext.getStartedRoutes()); - json.put("cpuLoadLastMinute",managedCamelContext.getLoad01()); - json.put("cpuLoadLast5Minutes",managedCamelContext.getLoad05()); - json.put("cpuLoadLast15Minutes",managedCamelContext.getLoad15()); + json.put("cpuLoadLastMinute",parseDouble(managedCamelContext.getLoad01())); + json.put("cpuLoadLast5Minutes",parseDouble(managedCamelContext.getLoad05()); + json.put("cpuLoadLast15Minutes",parseDouble(managedCamelContext.getLoad15()); json.put("memoryUsage",getMemoryUsage()); json.put("totalThreads",ManagementFactory.getThreadMXBean().getThreadCount()); @@ -2755,7 +2755,7 @@ public String resolveDependency(String scheme) throws Exception { String groupId = component.getString("groupId"); String artifactId = component.getString("artifactId"); - String version = catalog.getCatalogVersion(); //versionManager.getLoadedVersion(); //component.getString("version"); + String version = catalog.getCatalogVersion(); String dependency = groupId + ":" + artifactId + ":" + version; String result; @@ -3130,7 +3130,7 @@ private String getKeystorePassword() { return keystorePwd; } - private double ParseDouble(String strNumber) { + private double parseDouble(String strNumber) { if (strNumber != null && strNumber.length() > 0) { try { Double doubleNumber = Double.parseDouble(strNumber); From 94e846e6c8d87cb9ee7404ff7263f825d6489936 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Wed, 6 Nov 2024 10:55:05 +0100 Subject: [PATCH 14/28] update flow dependencies property --- .../transpiler/marshalling/Unmarshall.java | 31 ++++++++++++------- .../integration/impl/CamelIntegration.java | 4 +-- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/dil/src/main/java/org/assimbly/dil/transpiler/marshalling/Unmarshall.java b/dil/src/main/java/org/assimbly/dil/transpiler/marshalling/Unmarshall.java index 7a1c7fc3..6e0a90b9 100644 --- a/dil/src/main/java/org/assimbly/dil/transpiler/marshalling/Unmarshall.java +++ b/dil/src/main/java/org/assimbly/dil/transpiler/marshalling/Unmarshall.java @@ -17,7 +17,6 @@ // This class unmarshalls an XML file into a Java treemap object // The XML file must be in DIL (Data Integration Language) format public class Unmarshall { - private Document doc; private TreeMap properties; private XMLConfiguration conf; @@ -97,17 +96,13 @@ private void addDependencies(Element element){ } String flowDependencies = null; - NodeList dependenciesList = dependencies.getChildNodes(); - - for (int i = 0; i < dependenciesList.getLength(); i++) { - Node dependency = dependenciesList.item(i); - if (dependency instanceof Element) { - if(i == 0){ - flowDependencies = dependency.getTextContent(); - }else{ - flowDependencies = flowDependencies + "," + dependency.getTextContent(); - } + List dependenciesList = getElementChildren(dependencies); + for(Element dependency: dependenciesList){ + if(flowDependencies==null){ + flowDependencies = dependency.getTextContent(); + }else{ + flowDependencies = flowDependencies + "," + dependency.getTextContent(); } } @@ -229,4 +224,18 @@ private String evaluateXpath(String xpath) throws TransformerException, XPathExp return xp.evaluate(doc); } + List getElementChildren(Node parent) { + List elementChildren = new ArrayList<>(); + NodeList childNodes = parent.getChildNodes(); + + for (int i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + if (node.getNodeType() == Node.ELEMENT_NODE) { + elementChildren.add((Element) node); + } + } + + return elementChildren; + } + } diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index b68f7255..3dd2d2f4 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2316,8 +2316,8 @@ public String getStats(String mediaType) throws Exception { json.put("uptimeMillis",managedCamelContext.getUptimeMillis()); json.put("startedRoutes",managedCamelContext.getStartedRoutes()); json.put("cpuLoadLastMinute",parseDouble(managedCamelContext.getLoad01())); - json.put("cpuLoadLast5Minutes",parseDouble(managedCamelContext.getLoad05()); - json.put("cpuLoadLast15Minutes",parseDouble(managedCamelContext.getLoad15()); + json.put("cpuLoadLast5Minutes",parseDouble(managedCamelContext.getLoad05())); + json.put("cpuLoadLast15Minutes",parseDouble(managedCamelContext.getLoad15())); json.put("memoryUsage",getMemoryUsage()); json.put("totalThreads",ManagementFactory.getThreadMXBean().getThreadCount()); From 704582079fc8780a1233e38c9dd10c540837ec69 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Wed, 6 Nov 2024 12:02:18 +0100 Subject: [PATCH 15/28] Update CPU load statistic to use BigDecimal instead of Double --- .../integration/impl/CamelIntegration.java | 39 +++++++------------ 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 3dd2d2f4..89e2b8cd 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -88,6 +88,7 @@ import java.lang.management.MemoryMXBean; import java.lang.management.MemoryUsage; import java.lang.reflect.Method; +import java.math.BigDecimal; import java.net.URL; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -2119,9 +2120,9 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta long completedMessages = 0; long failedMessages = 0; long pendingMessages = 0; - double cpuLoadLastMinute = 0.00; - double cpuLoadLast5Minutes = 0.00; - double cpuLoadLast15Minutes = 0.00; + BigDecimal cpuLoadLastMinute = new BigDecimal("0.00"); + BigDecimal cpuLoadLast5Minutes = new BigDecimal("0.00"); + BigDecimal cpuLoadLast15Minutes = new BigDecimal("0.00"); long uptimeMillis = 0; String uptime = null; Date lastFailed = null; @@ -2174,9 +2175,9 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } - cpuLoadLastMinute += parseDouble(route.getLoad01()); - cpuLoadLast5Minutes += parseDouble(route.getLoad05()); - cpuLoadLast15Minutes += parseDouble(route.getLoad15()); + cpuLoadLastMinute = cpuLoadLastMinute.add(new BigDecimal(route.getLoad01())); + cpuLoadLast5Minutes = cpuLoadLast5Minutes.add(new BigDecimal(route.getLoad05())); + cpuLoadLast15Minutes = cpuLoadLast15Minutes.add(new BigDecimal(route.getLoad05())); if(includeSteps){ JSONObject step = getStepStats(routeId, fullStats); @@ -2280,9 +2281,9 @@ private JSONObject getStepStats(String routeid, boolean fullStats) throws Except JSONObject load = new JSONObject(); //String throughput = route.getThroughput(); - Double stepLoad01 = parseDouble(route.getLoad01()); - Double stepLoad05 = parseDouble(route.getLoad05()); - Double stepLoad15 = parseDouble(route.getLoad15()); + String stepLoad01 = route.getLoad01(); + String stepLoad05 = route.getLoad05(); + String stepLoad15 = route.getLoad15(); //load.put("throughput", throughput); load.put("cpuLoadLastMinute", stepLoad01); @@ -2315,9 +2316,9 @@ public String getStats(String mediaType) throws Exception { json.put("uptime",managedCamelContext.getUptime()); json.put("uptimeMillis",managedCamelContext.getUptimeMillis()); json.put("startedRoutes",managedCamelContext.getStartedRoutes()); - json.put("cpuLoadLastMinute",parseDouble(managedCamelContext.getLoad01())); - json.put("cpuLoadLast5Minutes",parseDouble(managedCamelContext.getLoad05())); - json.put("cpuLoadLast15Minutes",parseDouble(managedCamelContext.getLoad15())); + json.put("cpuLoadLastMinute",managedCamelContext.getLoad01()); + json.put("cpuLoadLast5Minutes",managedCamelContext.getLoad05()); + json.put("cpuLoadLast15Minutes",managedCamelContext.getLoad15()); json.put("memoryUsage",getMemoryUsage()); json.put("totalThreads",ManagementFactory.getThreadMXBean().getThreadCount()); @@ -3130,18 +3131,4 @@ private String getKeystorePassword() { return keystorePwd; } - private double parseDouble(String strNumber) { - if (strNumber != null && strNumber.length() > 0) { - try { - Double doubleNumber = Double.parseDouble(strNumber); - DecimalFormat df = new DecimalFormat("#.##"); - doubleNumber = Double.valueOf(df.format(doubleNumber)); - return doubleNumber; - } catch(Exception e) { - return 0; - } - } - return 0; - } - } \ No newline at end of file From 7f5b40cd434ca621fd6951b66b6086ae1f2478cc Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Wed, 6 Nov 2024 13:05:51 +0100 Subject: [PATCH 16/28] check null of empty for BigDecimal --- .../assimbly/integration/impl/CamelIntegration.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 89e2b8cd..995e865a 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2175,9 +2175,9 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } - cpuLoadLastMinute = cpuLoadLastMinute.add(new BigDecimal(route.getLoad01())); - cpuLoadLast5Minutes = cpuLoadLast5Minutes.add(new BigDecimal(route.getLoad05())); - cpuLoadLast15Minutes = cpuLoadLast15Minutes.add(new BigDecimal(route.getLoad05())); + cpuLoadLastMinute = cpuLoadLastMinute.add(parseBigDecimal(route.getLoad01())); + cpuLoadLast5Minutes = cpuLoadLast5Minutes.add(parseBigDecimal(route.getLoad05())); + cpuLoadLast15Minutes = cpuLoadLast15Minutes.add(parseBigDecimal(route.getLoad15())); if(includeSteps){ JSONObject step = getStepStats(routeId, fullStats); @@ -3131,4 +3131,11 @@ private String getKeystorePassword() { return keystorePwd; } + public static BigDecimal parseBigDecimal(String value) { + if (value == null || value.isEmpty()) { + return BigDecimal.ZERO; // or handle as needed + } + return new BigDecimal(value); + } + } \ No newline at end of file From 3caf130fd918e84e6f85e8304eef5254f6a94c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Thu, 14 Nov 2024 16:46:11 +0000 Subject: [PATCH 17/28] if newExchange is null, it means there's no remote file to consume --- .../blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java index b84c176d..0b537a6a 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java @@ -27,6 +27,11 @@ public class ZipFileEnrichStrategy implements AggregationStrategy { public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { elementNames = new ArrayList<>(); + if (newExchange == null) { + // there’s no remote file to consume + return oldExchange; + } + Message in = oldExchange.getIn(); Message resource = newExchange.getIn(); From c16a6c90d4ecd5c14d7b05ae6105483aa8e53f75 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Mon, 18 Nov 2024 15:09:31 +0100 Subject: [PATCH 18/28] Add environment variables to set AMQ Client settings --- .../integration/impl/CamelIntegration.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 995e865a..d276df28 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -1069,12 +1069,15 @@ private void addCustomActiveMQConnection(TreeMap props, String f private static JmsComponent getJmsComponent(String activemqUrl) { + int maxConnections = getEnvironmentVarAsInteger("AMQ_MAXIMUM_CONNECTIONS",500); + int idleTimeout = getEnvironmentVarAsInteger("AMQ_IDLE_TIMEOUT",5000); + ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(activemqUrl); PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory(); pooledConnectionFactory.setConnectionFactory(activeMQConnectionFactory); - pooledConnectionFactory.setMaxConnections(20); // Max connections in the pool - pooledConnectionFactory.setIdleTimeout(5000); // Idle timeout in milliseconds + pooledConnectionFactory.setMaxConnections(maxConnections); // Max connections in the pool + pooledConnectionFactory.setIdleTimeout(idleTimeout); // Idle timeout in milliseconds JmsComponent jmsComponent = new JmsComponent(); jmsComponent.setConnectionFactory(pooledConnectionFactory); @@ -2175,6 +2178,8 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } + System.out.println("route.getLoad01(): " + route.getLoad01()); + cpuLoadLastMinute = cpuLoadLastMinute.add(parseBigDecimal(route.getLoad01())); cpuLoadLast5Minutes = cpuLoadLast5Minutes.add(parseBigDecimal(route.getLoad05())); cpuLoadLast15Minutes = cpuLoadLast15Minutes.add(parseBigDecimal(route.getLoad15())); @@ -3138,4 +3143,16 @@ public static BigDecimal parseBigDecimal(String value) { return new BigDecimal(value); } + private static int getEnvironmentVarAsInteger(String envName, int defaultValue){ + int value = defaultValue; + if (envName != null && !envName.isEmpty()) { + try { + value = Integer.parseInt(envName); + } catch (NumberFormatException e) { + System.err.println("Invalid value for " + envName + ": " + value); + } + } + return value; + } + } \ No newline at end of file From a55bca8477d28998c33ff828e681c630abbceae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Tue, 19 Nov 2024 11:47:49 +0000 Subject: [PATCH 19/28] use FILE_NAME_CONSUMED instead of FILE_NAME --- .../dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java index 0b537a6a..069c1c92 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java @@ -38,7 +38,7 @@ public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { byte[] sourceZip = in.getBody(byte[].class); byte[] resourceData = resource.getBody(byte[].class); - String fileName = resource.getHeader(Exchange.FILE_NAME, String.class); + String fileName = resource.getHeader(Exchange.FILE_NAME_CONSUMED, String.class); ByteArrayOutputStream baos = new ByteArrayOutputStream(); From f825c3297529230fa9f77e3e715534f17c695dcf Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Tue, 19 Nov 2024 20:26:41 +0100 Subject: [PATCH 20/28] update start/stop of flows --- .../org/assimbly/dil/loader/FlowLoader.java | 24 ++++++++++++++++++- .../integration/impl/CamelIntegration.java | 14 +++++------ 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java b/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java index da6aca2e..2545d53a 100644 --- a/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java +++ b/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java @@ -4,6 +4,8 @@ import org.apache.camel.*; import org.apache.camel.builder.*; +import org.apache.camel.model.ModelCamelContext; +import org.apache.camel.model.RouteConfigurationDefinition; import org.apache.camel.spi.Resource; import org.apache.camel.spi.RoutesBuilderLoader; import org.apache.camel.spi.RoutesLoader; @@ -127,6 +129,8 @@ private void setErrorHandlers() throws Exception{ private void setRouteConfigurations() throws Exception{ + removeRouteConfiguration(flowId); + for(String prop : props.keySet()){ if(prop.endsWith("routeconfiguration")){ @@ -134,7 +138,6 @@ private void setRouteConfigurations() throws Exception{ String id = props.get(prop + ".id"); if(routeConfiguration!=null && !routeConfiguration.isEmpty()){ - context.removeRoute(id); loadStep(routeConfiguration, "routeconfiguration", id, null); } } @@ -247,6 +250,25 @@ private void setErrorHandler(String id, String errorUri) throws Exception { } + private void removeRouteConfiguration(String flowId) { + + ModelCamelContext modelContext = (ModelCamelContext) context; + + List routeConfigurationsToRemove = modelContext.getRouteConfigurationDefinitions().stream() + .filter(routeConfig -> routeConfig.getId().startsWith(flowId)) + .toList(); // Collect into a new list to avoid modifying the original list during iteration + + routeConfigurationsToRemove.forEach(routeConfig -> { + try { + modelContext.removeRouteConfiguration(routeConfig); + log.info("Removed routeConfiguration: " + routeConfig.getId()); + } catch (Exception e) { + log.warn("Failed to remove route configuration: " + routeConfig.getId()); + } + }); + + } + public String getReport(){ return flowLoaderReport.getReport(); } diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index d276df28..516a2580 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -111,7 +111,7 @@ public class CamelIntegration extends BaseIntegration { private boolean started; private static String BROKER_HOST = "ASSIMBLY_BROKER_HOST"; private static String BROKER_PORT = "ASSIMBLY_BROKER_PORT"; - private final static long stopTimeout = 1000; + private final static long stopTimeout = 500; private ServiceStatus status; private String flowStatus; private final MetricRegistry metricRegistry = new MetricRegistry(); @@ -1457,10 +1457,10 @@ public String stopFlow(String id, long timeout) { log.info("Stopping step id: " + routeId); - if(route.getConfigurationId()!=null) { - log.info("Remove routeConfiguration step id= " + routeId); - removeRouteConfiguration(route.getConfigurationId()); - } + //moved removal of routeConfiguration to the flowLoader + //if(route.getConfigurationId()!=null) { + // removeRouteConfiguration(route.getConfigurationId()); + //} context.getRouteController().stopRoute(routeId,timeout, TimeUnit.MILLISECONDS); context.removeRoute(routeId); @@ -1482,8 +1482,8 @@ private void removeRouteConfiguration(String routeConfigurationId) throws Except ModelCamelContext modelContext = (ModelCamelContext) context; RouteConfigurationDefinition routeConfigurationDefinition = modelContext.getRouteConfigurationDefinition(routeConfigurationId); if(routeConfigurationDefinition!=null){ - log.info("Remove routeConfiguration=" + routeConfigurationDefinition.getId()); modelContext.removeRouteConfiguration(routeConfigurationDefinition); + log.info("Removed routeConfiguration: " + routeConfigurationDefinition.getId()); } } @@ -2178,8 +2178,6 @@ public String getFlowStats(String flowId, boolean fullStats, boolean includeMeta } } - System.out.println("route.getLoad01(): " + route.getLoad01()); - cpuLoadLastMinute = cpuLoadLastMinute.add(parseBigDecimal(route.getLoad01())); cpuLoadLast5Minutes = cpuLoadLast5Minutes.add(parseBigDecimal(route.getLoad05())); cpuLoadLast15Minutes = cpuLoadLast15Minutes.add(parseBigDecimal(route.getLoad15())); From 41a6c347353d26ef8a3aebf0a96766c83047399e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Wed, 20 Nov 2024 14:53:03 +0000 Subject: [PATCH 21/28] convert resource body using camel type conversion framework --- .../dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java index 069c1c92..778571f2 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java @@ -36,7 +36,7 @@ public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { Message resource = newExchange.getIn(); byte[] sourceZip = in.getBody(byte[].class); - byte[] resourceData = resource.getBody(byte[].class); + byte[] resourceData = newExchange.getContext().getTypeConverter().convertTo(byte[].class, resource.getBody()); String fileName = resource.getHeader(Exchange.FILE_NAME_CONSUMED, String.class); From 189ee0081b1ffe30dc5c174228a5c6a371597d46 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Thu, 21 Nov 2024 00:25:46 +0100 Subject: [PATCH 22/28] extend stats endpoint --- .../org/assimbly/integration/impl/CamelIntegration.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 516a2580..a673af19 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2315,10 +2315,16 @@ public String getStats(String mediaType) throws Exception { ManagedCamelContextMBean managedCamelContext = managed.getManagedCamelContext(); json.put("camelId",managedCamelContext.getCamelId()); + json.put("camelVersion",managedCamelContext.getCamelVersion()); json.put("status",managedCamelContext.getState()); json.put("uptime",managedCamelContext.getUptime()); json.put("uptimeMillis",managedCamelContext.getUptimeMillis()); - json.put("startedRoutes",managedCamelContext.getStartedRoutes()); + json.put("startedFlows",countFlows("started", "text/plain")); + json.put("startedSteps",managedCamelContext.getStartedRoutes()); + json.put("exchangesTotal",managedCamelContext.getExchangesTotal()); + json.put("exchangesCompleted",managedCamelContext.getExchangesCompleted()); + json.put("exchangesInflight",managedCamelContext.getExchangesInflight()); + json.put("exchangesFailed",managedCamelContext.getExchangesFailed()); json.put("cpuLoadLastMinute",managedCamelContext.getLoad01()); json.put("cpuLoadLast5Minutes",managedCamelContext.getLoad05()); json.put("cpuLoadLast15Minutes",managedCamelContext.getLoad15()); From fbdc62dbd0b6d1b32b8e4f56dd76e5c6dc418c25 Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Thu, 21 Nov 2024 00:52:07 +0100 Subject: [PATCH 23/28] extend stats endpoint --- .../java/org/assimbly/integration/impl/CamelIntegration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index a673af19..5956dd89 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -2337,6 +2337,7 @@ public String getStats(String mediaType) throws Exception { } return stats; + } private double getMemoryUsage(){ From a6c4d7e093064e46b19550573e902d74f0ff0911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Thu, 21 Nov 2024 17:26:33 +0000 Subject: [PATCH 24/28] exclude null entries --- dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java | 1 + 1 file changed, 1 insertion(+) diff --git a/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java b/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java index 2545d53a..350ae7c0 100644 --- a/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java +++ b/dil/src/main/java/org/assimbly/dil/loader/FlowLoader.java @@ -255,6 +255,7 @@ private void removeRouteConfiguration(String flowId) { ModelCamelContext modelContext = (ModelCamelContext) context; List routeConfigurationsToRemove = modelContext.getRouteConfigurationDefinitions().stream() + .filter(Objects::nonNull) // Exclude null entries .filter(routeConfig -> routeConfig.getId().startsWith(flowId)) .toList(); // Collect into a new list to avoid modifying the original list during iteration From 42f049536a5f07f6acff0bd6edf83d25eafc9ed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Thu, 21 Nov 2024 17:27:48 +0000 Subject: [PATCH 25/28] disable stop report when stopFlow is called internally by startFlow --- .../integration/impl/CamelIntegration.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 5956dd89..336bbe97 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -1315,7 +1315,7 @@ public String startFlow(String id, long timeout) { initFlowActionReport(id, "Start"); if(hasFlow(id)) { - stopFlow(id, timeout); + stopFlow(id, timeout, false); } boolean addFlow = false; @@ -1346,13 +1346,12 @@ public String startFlow(String id, long timeout) { if (!result.equals("loaded") && !result.equals("started")){ if(result.equalsIgnoreCase("error")){ String startReport = loadReport; - stopFlow(id, timeout); + stopFlow(id, timeout, false); loadReport = startReport; }else{ finishFlowActionReport(id, "error",result,"error"); } }else if(result.equals("loaded")) { - List steps = getRoutesByFlowId(id); log.info("Starting " + steps.size() + " steps"); @@ -1373,7 +1372,7 @@ public String startFlow(String id, long timeout) { }catch (Exception e) { if(context.isStarted()) { - stopFlow(id, stopTimeout); + stopFlow(id, stopTimeout, false); finishFlowActionReport(id, "error","Start flow failed | error=" + e.getMessage(),"error"); log.error("Start flow failed. | flowid=" + id,e); }else{ @@ -1426,14 +1425,7 @@ private ServiceStatus startStep(Route route){ public String restartFlow(String id, long timeout) { try { - - if(hasFlow(id)) { - stopFlow(id, timeout); - startFlow(id, timeout); - }else { - startFlow(id, timeout); - } - + startFlow(id, timeout); }catch (Exception e) { log.error("Restart flow failed. | flowid=" + id,e); finishFlowActionReport(id, "error", e.getMessage(),"error"); @@ -1444,8 +1436,14 @@ public String restartFlow(String id, long timeout) { } public String stopFlow(String id, long timeout) { + return stopFlow(id, timeout, true); + } + + public String stopFlow(String id, long timeout, boolean enableReport) { - initFlowActionReport(id, "stop"); + if(enableReport) { + initFlowActionReport(id, "stop"); + } try { @@ -1467,10 +1465,14 @@ public String stopFlow(String id, long timeout) { } - finishFlowActionReport(id, "stop","Stopped flow successfully","info"); + if(enableReport) { + finishFlowActionReport(id, "stop", "Stopped flow successfully", "info"); + } }catch (Exception e) { - finishFlowActionReport(id, "error","Stop flow failed | error=" + e.getMessage(),"error"); + if(enableReport) { + finishFlowActionReport(id, "error", "Stop flow failed | error=" + e.getMessage(), "error"); + } log.error("Stop flow failed. | flowid=" + id,e); } @@ -2337,7 +2339,7 @@ public String getStats(String mediaType) throws Exception { } return stats; - + } private double getMemoryUsage(){ From 3d7f6965e9afd16aecaf8116f6a95d21af4b78fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Gon=C3=A7alves?= Date: Fri, 22 Nov 2024 09:48:24 +0000 Subject: [PATCH 26/28] if CamelFileNameConsumed header is null then use the CamelFileName header --- .../dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java index 778571f2..ff127a34 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/zipfile/ZipFileEnrichStrategy.java @@ -39,6 +39,9 @@ public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { byte[] resourceData = newExchange.getContext().getTypeConverter().convertTo(byte[].class, resource.getBody()); String fileName = resource.getHeader(Exchange.FILE_NAME_CONSUMED, String.class); + if(fileName == null) { + fileName = resource.getHeader(Exchange.FILE_NAME, String.class); + } ByteArrayOutputStream baos = new ByteArrayOutputStream(); From 2d2d66d21987a709d7bd77b46856cd9c171790de Mon Sep 17 00:00:00 2001 From: Raymond Meester Date: Fri, 29 Nov 2024 13:48:23 +0100 Subject: [PATCH 27/28] update log processors (not used yet) --- .../processors/JsonExchangeFormatter.java | 4 ++ .../processors/OpenTelemetryLogProcessor.java | 56 +++++++++++++++++++ .../blocks/processors/SetLogProcessor.java | 25 +-------- .../integration/impl/CamelIntegration.java | 10 +++- 4 files changed, 69 insertions(+), 26 deletions(-) create mode 100644 dil/src/main/java/org/assimbly/dil/blocks/processors/OpenTelemetryLogProcessor.java diff --git a/dil/src/main/java/org/assimbly/dil/blocks/processors/JsonExchangeFormatter.java b/dil/src/main/java/org/assimbly/dil/blocks/processors/JsonExchangeFormatter.java index c6fb2b0d..0eefa347 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/processors/JsonExchangeFormatter.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/processors/JsonExchangeFormatter.java @@ -144,6 +144,10 @@ private void addVariables(Exchange exchange) { } private void addHeaders(Exchange exchange) { + + JSONObject headers2 = getJsonFromMap(filterHeaderAndProperties(exchange.getIn().getHeaders())); + json.put("Headers", headers2); + if (showAll || showHeaders) { JSONObject headers = getJsonFromMap(filterHeaderAndProperties(exchange.getIn().getHeaders())); json.put("Headers", headers); diff --git a/dil/src/main/java/org/assimbly/dil/blocks/processors/OpenTelemetryLogProcessor.java b/dil/src/main/java/org/assimbly/dil/blocks/processors/OpenTelemetryLogProcessor.java new file mode 100644 index 00000000..34d2425f --- /dev/null +++ b/dil/src/main/java/org/assimbly/dil/blocks/processors/OpenTelemetryLogProcessor.java @@ -0,0 +1,56 @@ +package org.assimbly.dil.blocks.processors; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.camel.Exchange; +import org.apache.camel.Processor; + +import java.time.Instant; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.Map; + + +public class OpenTelemetryLogProcessor implements Processor { + + public void process(Exchange exchange) throws Exception { + + String json = format(exchange); + + System.out.println(json); + + } + + + private String format(Exchange exchange) throws JsonProcessingException { + + Object inBody = exchange.getIn().getBody(); + Map exchangeMap = new HashMap<>(); + exchangeMap.put("ExchangeId", exchange.getExchangeId()); + exchangeMap.put("ExchangePattern", exchange.getPattern().toString()); + exchangeMap.put("Body", inBody != null ? inBody.toString() : "null"); + exchangeMap.put("Headers", exchange.getIn().getHeaders()); + + Instant now = Instant.now(); + + // Convert Instant to string using a formatter + String formattedTime = DateTimeFormatter + .ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") + .withZone(ZoneOffset.UTC) + .format(now); + + Map map = new HashMap<>(); + map.put("timestamp", formattedTime); + map.put("logLevel", "INFO"); + map.put("serviceName", exchange.getFromRouteId()); + map.put("message", exchange.getFromRouteId()); + map.put("attributes",exchangeMap); + + ObjectMapper mapper = new ObjectMapper(); + String jsonString = mapper.writeValueAsString(map); + + return jsonString; + } + +} \ No newline at end of file diff --git a/dil/src/main/java/org/assimbly/dil/blocks/processors/SetLogProcessor.java b/dil/src/main/java/org/assimbly/dil/blocks/processors/SetLogProcessor.java index db53b29b..d160dd84 100644 --- a/dil/src/main/java/org/assimbly/dil/blocks/processors/SetLogProcessor.java +++ b/dil/src/main/java/org/assimbly/dil/blocks/processors/SetLogProcessor.java @@ -1,12 +1,7 @@ package org.assimbly.dil.blocks.processors; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import java.util.HashMap; -import java.util.Map; - public class SetLogProcessor implements Processor { @@ -17,26 +12,8 @@ public void process(Exchange exchange) throws Exception { String json = jsonFormatter.format(exchange); - System.out.println("-------------MyLog --------------------->\n\n" + json); - - } - - - private String formatExchangeToString(Exchange exchange) throws JsonProcessingException { - - Object inBody = exchange.getIn().getBody(); - - Map map = new HashMap<>(); - map.put("ExchangeId", exchange.getExchangeId()); - map.put("FromRouteId", exchange.getFromRouteId()); - map.put("ExchangePattern", exchange.getPattern().toString()); - map.put("Body", inBody != null ? inBody.toString() : "null"); - map.put("Headers", exchange.getIn().getHeaders()); - - ObjectMapper mapper = new ObjectMapper(); - String jsonString = mapper.writeValueAsString(map); + System.out.println(json); - return jsonString; } } \ No newline at end of file diff --git a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java index 5956dd89..8a9d7614 100644 --- a/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java +++ b/integration/src/main/java/org/assimbly/integration/impl/CamelIntegration.java @@ -1,5 +1,10 @@ package org.assimbly.integration.impl; +import ch.qos.logback.classic.Logger; +import ch.qos.logback.classic.LoggerContext; +import ch.qos.logback.classic.encoder.JsonEncoder; +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.ConsoleAppender; import com.codahale.metrics.MetricRegistry; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.io.Resources; @@ -36,7 +41,6 @@ import org.apache.camel.support.ResourceHelper; import org.apache.camel.support.jsse.SSLContextParameters; import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy; -import org.apache.camel.util.concurrent.ThreadType; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; @@ -69,6 +73,7 @@ import org.jasypt.properties.EncryptableProperties; import org.json.JSONArray; import org.json.JSONObject; +import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.xml.sax.InputSource; import org.yaml.snakeyaml.Yaml; @@ -296,6 +301,7 @@ public void setDefaultBlocks() throws Exception { //registry.bind("SetLogProcessor", new SetLogProcessor()); //registry.bind("JsonExchangeFormatter", new JsonExchangeFormatter()); + //registry.bind("opentelemetry", new OpenTelemetryLogProcessor()); } @@ -2337,7 +2343,7 @@ public String getStats(String mediaType) throws Exception { } return stats; - + } private double getMemoryUsage(){ From 84bddc5ea6c442374b4fd1ba0b3608fae3f04fb7 Mon Sep 17 00:00:00 2001 From: skin27 Date: Fri, 29 Nov 2024 13:03:34 +0000 Subject: [PATCH 28/28] Update version to 5.0.1 --- broker/pom.xml | 2 +- brokerRest/pom.xml | 2 +- dil/pom.xml | 2 +- integration/pom.xml | 2 +- integrationRest/pom.xml | 2 +- pom.xml | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/broker/pom.xml b/broker/pom.xml index 57099042..46b6bb1c 100644 --- a/broker/pom.xml +++ b/broker/pom.xml @@ -6,7 +6,7 @@ runtime org.assimbly - 5.0.1-SNAPSHOT + 5.0.1 broker diff --git a/brokerRest/pom.xml b/brokerRest/pom.xml index c1bb341d..ec6a1948 100644 --- a/brokerRest/pom.xml +++ b/brokerRest/pom.xml @@ -6,7 +6,7 @@ runtime org.assimbly - 5.0.1-SNAPSHOT + 5.0.1 broker-rest diff --git a/dil/pom.xml b/dil/pom.xml index e68f9fef..7fbe58f3 100644 --- a/dil/pom.xml +++ b/dil/pom.xml @@ -4,7 +4,7 @@ runtime org.assimbly - 5.0.1-SNAPSHOT + 5.0.1 dil diff --git a/integration/pom.xml b/integration/pom.xml index a8984f5e..a5bec61b 100644 --- a/integration/pom.xml +++ b/integration/pom.xml @@ -4,7 +4,7 @@ runtime org.assimbly - 5.0.1-SNAPSHOT + 5.0.1 integration diff --git a/integrationRest/pom.xml b/integrationRest/pom.xml index d218be4c..e3a58740 100644 --- a/integrationRest/pom.xml +++ b/integrationRest/pom.xml @@ -6,7 +6,7 @@ runtime org.assimbly - 5.0.1-SNAPSHOT + 5.0.1 integration-rest diff --git a/pom.xml b/pom.xml index 1c8541fe..560e123f 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ org.assimbly runtime - 5.0.1-SNAPSHOT + 5.0.1 broker @@ -25,7 +25,7 @@ UTF-8 ${project.basedir} 6.1.3 - 5.0.1-SNAPSHOT + 5.0.1 3.0 3.3.5 3.9.9