diff --git a/src/main/java/com/release11/DAO.java b/src/main/java/com/release11/DAO.java index f4165c3..b0abf50 100644 --- a/src/main/java/com/release11/DAO.java +++ b/src/main/java/com/release11/DAO.java @@ -1,5 +1,6 @@ package com.release11; +import org.apache.camel.Exchange; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -25,10 +26,11 @@ public class DAO { return xml; } - public String getId(HashMap packageMap) throws InterruptedException { - System.out.println(packageMap.get("id")); - Thread.sleep(1000); - return String.valueOf(packageMap.get("id")); + public void getId(Exchange exchange) throws InterruptedException { + + String tmp = exchange.getIn().getBody().toString(); + System.out.println(tmp); + exchange.getIn().setBody("SELECT * FROM package WHERE material_id = 1"); } public void splitPackage(LinkedHashMap packageMap) { diff --git a/src/main/java/com/release11/Main.java b/src/main/java/com/release11/Main.java index fa9f917..1404495 100644 --- a/src/main/java/com/release11/Main.java +++ b/src/main/java/com/release11/Main.java @@ -55,9 +55,10 @@ public class Main { from("activemq:queue:material") .split(body()) - .bean(myFunctions, "getId") - .setBody(constant("SELECT * FROM package WHERE material_id = 1")) - .to("jdbc:source") + //.bean(myFunctions, "getId") + .setHeader("id", constant("${body[id]}")) + .setBody(constant("SELECT * FROM package WHERE material_id = :?id")) + .to("jdbc:source?useHeadersAsParameters=true") .to("activemq:queue:materialPackage") .to("log:?level=INFO&showBody=true"); @@ -66,7 +67,7 @@ public class Main { context.start(); ProducerTemplate template = context.createProducerTemplate(); - template.sendBody("direct:start", "SELECT * FROM material LIMIT 1"); + template.sendBody("direct:start", "SELECT * FROM material"); Thread.sleep(1000); //template.setDefaultEndpointUri("activemq:queue:material"); diff --git a/target/classes/com/release11/DAO.class b/target/classes/com/release11/DAO.class index d89e9a9..bbe88b6 100644 Binary files a/target/classes/com/release11/DAO.class and b/target/classes/com/release11/DAO.class differ diff --git a/target/classes/com/release11/Main$1.class b/target/classes/com/release11/Main$1.class index c2f9b5f..943353e 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 c1b2410..d104523 100644 Binary files a/target/classes/com/release11/Main.class and b/target/classes/com/release11/Main.class differ