diff --git a/Camel/.idea/.gitignore b/Camel/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/Camel/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/Camel/.idea/compiler.xml b/Camel/.idea/compiler.xml deleted file mode 100644 index 6ceb844..0000000 --- a/Camel/.idea/compiler.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/Camel/.idea/jarRepositories.xml b/Camel/.idea/jarRepositories.xml deleted file mode 100644 index 712ab9d..0000000 --- a/Camel/.idea/jarRepositories.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Camel/.idea/misc.xml b/Camel/.idea/misc.xml deleted file mode 100644 index 06e8b35..0000000 --- a/Camel/.idea/misc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/Camel/.idea/runConfigurations.xml b/Camel/.idea/runConfigurations.xml deleted file mode 100644 index 797acea..0000000 --- a/Camel/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Camel/.idea/uiDesigner.xml b/Camel/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/Camel/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Camel/.idea/vcs.xml b/Camel/.idea/vcs.xml deleted file mode 100644 index 6c0b863..0000000 --- a/Camel/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Camel/target/classes/com/release11/Main$1.class b/Camel/target/classes/com/release11/Main$1.class deleted file mode 100644 index 022fbec..0000000 Binary files a/Camel/target/classes/com/release11/Main$1.class and /dev/null differ diff --git a/Camel/target/classes/com/release11/Main.class b/Camel/target/classes/com/release11/Main.class deleted file mode 100644 index 9494064..0000000 Binary files a/Camel/target/classes/com/release11/Main.class and /dev/null differ diff --git a/Camel/pom.xml b/pom.xml similarity index 100% rename from Camel/pom.xml rename to pom.xml diff --git a/Camel/sql_script/sql.ddl b/sql_script/sql.ddl similarity index 100% rename from Camel/sql_script/sql.ddl rename to sql_script/sql.ddl diff --git a/Camel/sql_script/sql.dml b/sql_script/sql.dml similarity index 100% rename from Camel/sql_script/sql.dml rename to sql_script/sql.dml diff --git a/Camel/src/main/java/com/release11/DAO.java b/src/main/java/com/release11/DAO.java similarity index 100% rename from Camel/src/main/java/com/release11/DAO.java rename to src/main/java/com/release11/DAO.java diff --git a/Camel/src/main/java/com/release11/Main.java b/src/main/java/com/release11/Main.java similarity index 71% rename from Camel/src/main/java/com/release11/Main.java rename to src/main/java/com/release11/Main.java index 8ed56d2..af9b711 100644 --- a/Camel/src/main/java/com/release11/Main.java +++ b/src/main/java/com/release11/Main.java @@ -2,6 +2,7 @@ package com.release11; import com.mysql.cj.jdbc.MysqlDataSource; import org.apache.activemq.ActiveMQConnectionFactory; +import org.apache.camel.AggregationStrategy; import org.apache.camel.CamelContext; import org.apache.camel.ProducerTemplate; import org.apache.camel.builder.RouteBuilder; @@ -34,22 +35,33 @@ public class Main { connectionFactory.setPassword("admin"); context.addComponent("activemq", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory)); + + AggregationStrategy aggregationStrategy = new MyAggregation(); + + DAO dao = new DAO(); context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { - from("direct:start").to("jdbc:source").split(body()).bean(dao,"splitMaterial").to("activemq:queue:material").to("log:?level=INFO&showHeaders=true&showBody=true"); - from("activemq:queue:material").to("activemq:queue:materialPackage").to("log:?level=INFO&showHeaders=true&showBody=true"); - //from("activemq:queue:material").bean(dao,"hello").to("log:?level=INFO&showHeaders=true&showBody=true"); - //from("direct:test").to("jdbc:source").split(body()).bean(dao, "test").to("activemq:queue:type=test").to("log:?level=INFO&showHeaders=true&showBody=true"); + from("direct:start").to("jdbc:source") + .split(body()) + .bean(dao,"splitMaterial") + .to("activemq:queue:material") + .to("log:?level=INFO&showHeaders=true&showBody=true"); + + from("activemq:queue:material") + .enrich("jdbc:source",aggregationStrategy) + .to("activemq:queue:materialPackage") + .to("log:?level=INFO&showHeaders=true&showBody=true"); } }); context.start(); ProducerTemplate template = context.createProducerTemplate(); template.sendBody("direct:start", "SELECT * FROM material LIMIT 1"); - Thread.sleep(10000); - template.sendBody("activemq:queue:material",null); + + Thread.sleep(1000); + template.setDefaultEndpointUri("activemq:queue:material"); context.stop(); } diff --git a/Camel/src/main/java/com/release11/Material.java b/src/main/java/com/release11/Material.java similarity index 100% rename from Camel/src/main/java/com/release11/Material.java rename to src/main/java/com/release11/Material.java diff --git a/src/main/java/com/release11/MyAggregation.java b/src/main/java/com/release11/MyAggregation.java new file mode 100644 index 0000000..afc04d9 --- /dev/null +++ b/src/main/java/com/release11/MyAggregation.java @@ -0,0 +1,11 @@ +package com.release11; + +import org.apache.camel.AggregationStrategy; +import org.apache.camel.Exchange; + +public class MyAggregation implements AggregationStrategy { + @Override + public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { + return oldExchange; + } +} diff --git a/Camel/src/main/java/com/release11/MyBuilder.java b/src/main/java/com/release11/MyBuilder.java similarity index 100% rename from Camel/src/main/java/com/release11/MyBuilder.java rename to src/main/java/com/release11/MyBuilder.java diff --git a/Camel/src/main/java/com/release11/Package.java b/src/main/java/com/release11/Package.java similarity index 100% rename from Camel/src/main/java/com/release11/Package.java rename to src/main/java/com/release11/Package.java diff --git a/Camel/src/main/resources/material.xml b/src/main/resources/material.xml similarity index 100% rename from Camel/src/main/resources/material.xml rename to src/main/resources/material.xml diff --git a/Camel/src/main/resources/material.xsd b/src/main/resources/material.xsd similarity index 100% rename from Camel/src/main/resources/material.xsd rename to src/main/resources/material.xsd diff --git a/Camel/src/main/resources/test.xml b/src/main/resources/test.xml similarity index 100% rename from Camel/src/main/resources/test.xml rename to src/main/resources/test.xml diff --git a/Camel/target/classes/com/release11/DAO.class b/target/classes/com/release11/DAO.class similarity index 100% rename from Camel/target/classes/com/release11/DAO.class rename to target/classes/com/release11/DAO.class diff --git a/target/classes/com/release11/Main$1.class b/target/classes/com/release11/Main$1.class new file mode 100644 index 0000000..02c6665 Binary files /dev/null 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 new file mode 100644 index 0000000..0f05702 Binary files /dev/null and b/target/classes/com/release11/Main.class differ diff --git a/Camel/target/classes/com/release11/Material$enumType.class b/target/classes/com/release11/Material$enumType.class similarity index 100% rename from Camel/target/classes/com/release11/Material$enumType.class rename to target/classes/com/release11/Material$enumType.class diff --git a/Camel/target/classes/com/release11/Material.class b/target/classes/com/release11/Material.class similarity index 100% rename from Camel/target/classes/com/release11/Material.class rename to target/classes/com/release11/Material.class diff --git a/target/classes/com/release11/MyAggregation.class b/target/classes/com/release11/MyAggregation.class new file mode 100644 index 0000000..772be14 Binary files /dev/null and b/target/classes/com/release11/MyAggregation.class differ diff --git a/Camel/target/classes/com/release11/MyBuilder$enumType.class b/target/classes/com/release11/MyBuilder$enumType.class similarity index 100% rename from Camel/target/classes/com/release11/MyBuilder$enumType.class rename to target/classes/com/release11/MyBuilder$enumType.class diff --git a/Camel/target/classes/com/release11/MyBuilder.class b/target/classes/com/release11/MyBuilder.class similarity index 100% rename from Camel/target/classes/com/release11/MyBuilder.class rename to target/classes/com/release11/MyBuilder.class diff --git a/Camel/target/classes/com/release11/Package.class b/target/classes/com/release11/Package.class similarity index 100% rename from Camel/target/classes/com/release11/Package.class rename to target/classes/com/release11/Package.class diff --git a/Camel/target/classes/material.xml b/target/classes/material.xml similarity index 100% rename from Camel/target/classes/material.xml rename to target/classes/material.xml diff --git a/Camel/target/classes/material.xsd b/target/classes/material.xsd similarity index 100% rename from Camel/target/classes/material.xsd rename to target/classes/material.xsd diff --git a/Camel/target/classes/test.xml b/target/classes/test.xml similarity index 100% rename from Camel/target/classes/test.xml rename to target/classes/test.xml