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