diff --git a/src/main/java/com/release11/Main.java b/src/main/java/com/release11/Main.java index eeb9633..022ec9c 100644 --- a/src/main/java/com/release11/Main.java +++ b/src/main/java/com/release11/Main.java @@ -43,20 +43,21 @@ public class Main { xmlDataFormat.setContextPath("generated"); JacksonDataFormat jacksonDataFormat = new JacksonDataFormat(ObjectFactory.class); jacksonDataFormat.setPrettyPrint(true); - errorHandler(deadLetterChannel("activemq:queue:dead")); + errorHandler(deadLetterChannel("activemq:queue:dead?transferExchange=true").maximumRedeliveries(3).redeliveryDelay(5000)); from("direct:start") .setBody(constant("SELECT * FROM material")) .to("jdbc:source") .split(body()) .to("activemq:queue:RawMaterial"); + //?acknowledgementModeName=CLIENT_ACKNOWLEDGE from("direct:getPackages") .setHeader("material_id", simple("${body[id]}")) .setBody(simple("SELECT * FROM package WHERE material_id = :?material_id")) .to("jdbc:source?useHeadersAsParameters=true"); - from("activemq:queue:RawMaterial") + from("activemq:queue:RawMaterial?acknowledgementModeName=CLIENT_ACKNOWLEDGE") .enrich("direct:getPackages", new MergeAggregator()) .process(new ValidatorProcess()) .choice() @@ -65,9 +66,7 @@ public class Main { .otherwise().marshal(xmlDataFormat).to("activemq:topic:Material") .to("log:?level=INFO&showBody=true"); - - - from("activemq:topic:Material?clientId=1&durableSubscriptionName=FilteredType") + from("activemq:topic:Material?clientId=4&subscriptionDurable=true&subscriptionName=NAZWA") .filter().xpath("//material_type='A1' or //material_type='A2' or //material_type='A3'") .to("activemq:queue:FilteredType"); @@ -77,14 +76,11 @@ public class Main { .marshal(jacksonDataFormat) .to("http:10.101.111.19:1080/api/json/material"); - - - - from("activemq:topic:Material?clientId=2&durableSubscriptionName=FilteredIsDeleted&acknowledgementModeName=CLIENT_ACKNOWLEDGE") + from("activemq:topic:Material?clientId=5&subscriptionDurable=true&subscriptionName=NAZWA_DELETED") .filter().xpath("//is_deleted='false'") .to("activemq:queue:FilteredIsDeleted"); - from("activemq:queue:FilteredIsDeleted") + from("activemq:queue:FilteredIsDeleted?acknowledgementModeName=CLIENT_ACKNOWLEDGE") .unmarshal(xmlDataFormat) .process(new CSVProcess()) .to("sftp:test@10.101.111.19:2222/upload/test?password=admin"); @@ -97,6 +93,8 @@ public class Main { context.start(); ProducerTemplate template = context.createProducerTemplate(); template.sendBody("direct:start", null); + + Thread.sleep(50000); context.stop(); } } \ No newline at end of file diff --git a/src/main/java/com/release11/Processors/CSVProcess.java b/src/main/java/com/release11/Processors/CSVProcess.java index 53f8ccc..8c73e10 100644 --- a/src/main/java/com/release11/Processors/CSVProcess.java +++ b/src/main/java/com/release11/Processors/CSVProcess.java @@ -5,6 +5,8 @@ import generated.Package; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import java.util.ArrayList; + public class CSVProcess implements Processor { @Override @@ -29,6 +31,9 @@ public class CSVProcess implements Processor { result+=pack; } + ArrayList tmp = new ArrayList<>(); + tmp.get(0); + exchange.getIn().setBody(result); } } diff --git a/src/main/java/com/release11/Processors/ValidatorProcess.java b/src/main/java/com/release11/Processors/ValidatorProcess.java index 2b510c6..167e55d 100644 --- a/src/main/java/com/release11/Processors/ValidatorProcess.java +++ b/src/main/java/com/release11/Processors/ValidatorProcess.java @@ -5,12 +5,19 @@ import generated.Package; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ValidatorProcess implements Processor { @Override public void process(Exchange exchange) throws Exception { + + //ArrayList tmp = new ArrayList<>(); + //System.out.println(tmp.get(0)); + + + MaterialType material = exchange.getIn().getBody(MaterialType.class); Pattern pattern = Pattern.compile("\\d\\dx\\d\\dx\\d\\d"); for (Package p: material.getPackages()) { diff --git a/target/classes/com/release11/Main$1.class b/target/classes/com/release11/Main$1.class index 97c0b79..77546dc 100644 Binary files a/target/classes/com/release11/Main$1.class and b/target/classes/com/release11/Main$1.class differ diff --git a/target/classes/com/release11/Main.class b/target/classes/com/release11/Main.class index 7d2d47c..725c101 100644 Binary files a/target/classes/com/release11/Main.class and b/target/classes/com/release11/Main.class differ diff --git a/target/classes/com/release11/Processors/CSVProcess.class b/target/classes/com/release11/Processors/CSVProcess.class index 1630e32..ff24ec3 100644 Binary files a/target/classes/com/release11/Processors/CSVProcess.class and b/target/classes/com/release11/Processors/CSVProcess.class differ diff --git a/target/classes/com/release11/Processors/ValidatorProcess.class b/target/classes/com/release11/Processors/ValidatorProcess.class index d680e85..ae415a2 100644 Binary files a/target/classes/com/release11/Processors/ValidatorProcess.class and b/target/classes/com/release11/Processors/ValidatorProcess.class differ diff --git a/target/classes/com/release11/Processors/XMLProcess.class b/target/classes/com/release11/Processors/XMLProcess.class index 3491641..e9c7560 100644 Binary files a/target/classes/com/release11/Processors/XMLProcess.class and b/target/classes/com/release11/Processors/XMLProcess.class differ