diff --git a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/Cafe.java b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/Cafe.java
index f3e7a8f207..590da1f950 100644
--- a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/Cafe.java
+++ b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/Cafe.java
@@ -16,29 +16,18 @@
package org.springframework.integration.samples.cafe;
-import org.springframework.integration.channel.MessageChannel;
-import org.springframework.integration.message.MessageBuilder;
-
/**
- * The entry point for Cafe Demo. When the 'placeOrder'
- * method is invoked, it passes the {@link Order} as the payload of a
+ * The entry point for Cafe Demo. The demo's main() method invokes the
+ * 'placeOrder' method on a generated MessagingGateway proxy.
+ * The gateway then passes the {@link Order} as the payload of a
* {@link org.springframework.integration.message.Message} to the
- * 'orderChannel'. The channel reference is configured in the "cafe" bean
- * definition within 'cafeDemo.xml'.
+ * configured requestChannel. The channel reference ('orders')
+ * is configured in the 'cafeDemo.xml' file.
*
* @author Mark Fisher
*/
-public class Cafe {
+public interface Cafe {
- private MessageChannel orderChannel;
-
-
- public void setOrderChannel(MessageChannel orderChannel) {
- this.orderChannel = orderChannel;
- }
-
- public void placeOrder(Order order) {
- this.orderChannel.send(MessageBuilder.fromPayload(order).build());
- }
+ void placeOrder(Order order);
}
diff --git a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/DeliveryAssembler.java b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/Waiter.java
similarity index 97%
rename from org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/DeliveryAssembler.java
rename to org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/Waiter.java
index fd01c6c3f9..0d27bbbf07 100644
--- a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/DeliveryAssembler.java
+++ b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/Waiter.java
@@ -27,7 +27,7 @@ import org.springframework.integration.samples.cafe.Drink;
* @author Marius Bogoevici
*/
@MessageEndpoint
-public class DeliveryAssembler {
+public class Waiter {
@Aggregator(inputChannel = "preparedDrinks", outputChannel = "deliveries", timeout = 5 * 60 * 1000)
public Delivery prepareDelivery(List drinks) {
diff --git a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/cafeDemo.xml b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/cafeDemo.xml
index a3f96a6fbe..a5e4873b21 100644
--- a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/cafeDemo.xml
+++ b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/annotation/cafeDemo.xml
@@ -15,6 +15,8 @@
+
+
@@ -28,10 +30,6 @@
-
-
-
-
diff --git a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/DeliveryAssembler.java b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/Waiter.java
similarity index 96%
rename from org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/DeliveryAssembler.java
rename to org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/Waiter.java
index aee8777ed4..2a6c5ebcdb 100644
--- a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/DeliveryAssembler.java
+++ b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/Waiter.java
@@ -24,7 +24,7 @@ import org.springframework.integration.samples.cafe.Drink;
/**
* @author Marius Bogoevici
*/
-public class DeliveryAssembler {
+public class Waiter {
public Delivery prepareDelivery(List drinks) {
return new Delivery(drinks);
diff --git a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/cafeDemo.xml b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/cafeDemo.xml
index 8b54b792e8..a45abac939 100644
--- a/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/cafeDemo.xml
+++ b/org.springframework.integration.samples/src/main/java/org/springframework/integration/samples/cafe/xml/cafeDemo.xml
@@ -10,6 +10,8 @@
+
+
@@ -27,20 +29,16 @@
-
+
-
-
-
-
-
+