project pushed

This commit is contained in:
2021-11-23 11:11:30 +01:00
parent 9ef1da0b1a
commit 10ca7e4f0d
8 changed files with 20 additions and 10 deletions

View File

@@ -43,20 +43,21 @@ public class Main {
xmlDataFormat.setContextPath("generated"); xmlDataFormat.setContextPath("generated");
JacksonDataFormat jacksonDataFormat = new JacksonDataFormat(ObjectFactory.class); JacksonDataFormat jacksonDataFormat = new JacksonDataFormat(ObjectFactory.class);
jacksonDataFormat.setPrettyPrint(true); jacksonDataFormat.setPrettyPrint(true);
errorHandler(deadLetterChannel("activemq:queue:dead")); errorHandler(deadLetterChannel("activemq:queue:dead?transferExchange=true").maximumRedeliveries(3).redeliveryDelay(5000));
from("direct:start") from("direct:start")
.setBody(constant("SELECT * FROM material")) .setBody(constant("SELECT * FROM material"))
.to("jdbc:source") .to("jdbc:source")
.split(body()) .split(body())
.to("activemq:queue:RawMaterial"); .to("activemq:queue:RawMaterial");
//?acknowledgementModeName=CLIENT_ACKNOWLEDGE
from("direct:getPackages") from("direct:getPackages")
.setHeader("material_id", simple("${body[id]}")) .setHeader("material_id", simple("${body[id]}"))
.setBody(simple("SELECT * FROM package WHERE material_id = :?material_id")) .setBody(simple("SELECT * FROM package WHERE material_id = :?material_id"))
.to("jdbc:source?useHeadersAsParameters=true"); .to("jdbc:source?useHeadersAsParameters=true");
from("activemq:queue:RawMaterial") from("activemq:queue:RawMaterial?acknowledgementModeName=CLIENT_ACKNOWLEDGE")
.enrich("direct:getPackages", new MergeAggregator()) .enrich("direct:getPackages", new MergeAggregator())
.process(new ValidatorProcess()) .process(new ValidatorProcess())
.choice() .choice()
@@ -65,9 +66,7 @@ public class Main {
.otherwise().marshal(xmlDataFormat).to("activemq:topic:Material") .otherwise().marshal(xmlDataFormat).to("activemq:topic:Material")
.to("log:?level=INFO&showBody=true"); .to("log:?level=INFO&showBody=true");
from("activemq:topic:Material?clientId=4&subscriptionDurable=true&subscriptionName=NAZWA")
from("activemq:topic:Material?clientId=1&durableSubscriptionName=FilteredType")
.filter().xpath("//material_type='A1' or //material_type='A2' or //material_type='A3'") .filter().xpath("//material_type='A1' or //material_type='A2' or //material_type='A3'")
.to("activemq:queue:FilteredType"); .to("activemq:queue:FilteredType");
@@ -77,14 +76,11 @@ public class Main {
.marshal(jacksonDataFormat) .marshal(jacksonDataFormat)
.to("http:10.101.111.19:1080/api/json/material"); .to("http:10.101.111.19:1080/api/json/material");
from("activemq:topic:Material?clientId=5&subscriptionDurable=true&subscriptionName=NAZWA_DELETED")
from("activemq:topic:Material?clientId=2&durableSubscriptionName=FilteredIsDeleted&acknowledgementModeName=CLIENT_ACKNOWLEDGE")
.filter().xpath("//is_deleted='false'") .filter().xpath("//is_deleted='false'")
.to("activemq:queue:FilteredIsDeleted"); .to("activemq:queue:FilteredIsDeleted");
from("activemq:queue:FilteredIsDeleted") from("activemq:queue:FilteredIsDeleted?acknowledgementModeName=CLIENT_ACKNOWLEDGE")
.unmarshal(xmlDataFormat) .unmarshal(xmlDataFormat)
.process(new CSVProcess()) .process(new CSVProcess())
.to("sftp:test@10.101.111.19:2222/upload/test?password=admin"); .to("sftp:test@10.101.111.19:2222/upload/test?password=admin");
@@ -97,6 +93,8 @@ public class Main {
context.start(); context.start();
ProducerTemplate template = context.createProducerTemplate(); ProducerTemplate template = context.createProducerTemplate();
template.sendBody("direct:start", null); template.sendBody("direct:start", null);
Thread.sleep(50000);
context.stop(); context.stop();
} }
} }

View File

@@ -5,6 +5,8 @@ import generated.Package;
import org.apache.camel.Exchange; import org.apache.camel.Exchange;
import org.apache.camel.Processor; import org.apache.camel.Processor;
import java.util.ArrayList;
public class CSVProcess implements Processor { public class CSVProcess implements Processor {
@Override @Override
@@ -29,6 +31,9 @@ public class CSVProcess implements Processor {
result+=pack; result+=pack;
} }
ArrayList<Integer> tmp = new ArrayList<>();
tmp.get(0);
exchange.getIn().setBody(result); exchange.getIn().setBody(result);
} }
} }

View File

@@ -5,12 +5,19 @@ import generated.Package;
import org.apache.camel.Exchange; import org.apache.camel.Exchange;
import org.apache.camel.Processor; import org.apache.camel.Processor;
import java.util.ArrayList;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class ValidatorProcess implements Processor { public class ValidatorProcess implements Processor {
@Override @Override
public void process(Exchange exchange) throws Exception { public void process(Exchange exchange) throws Exception {
//ArrayList<Integer> tmp = new ArrayList<>();
//System.out.println(tmp.get(0));
MaterialType material = exchange.getIn().getBody(MaterialType.class); MaterialType material = exchange.getIn().getBody(MaterialType.class);
Pattern pattern = Pattern.compile("\\d\\dx\\d\\dx\\d\\d"); Pattern pattern = Pattern.compile("\\d\\dx\\d\\dx\\d\\d");
for (Package p: material.getPackages()) { for (Package p: material.getPackages()) {