diff --git a/applications/cafe/pom.xml b/applications/cafe/pom.xml index b0483d22..a823958b 100644 --- a/applications/cafe/pom.xml +++ b/applications/cafe/pom.xml @@ -8,10 +8,21 @@ Spring Integration Cafe Sample 2.1.0.M3 + 3.1.0.RC1 1.2.16 4.7 + + org.springframework + spring-tx + ${spring.core.version} + + + org.springframework + spring-context + ${spring.core.version} + org.springframework.integration spring-integration-amqp diff --git a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppAmqp.java b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppAmqp.java index db802315..4d259852 100644 --- a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppAmqp.java +++ b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppAmqp.java @@ -38,12 +38,14 @@ import org.springframework.integration.samples.cafe.Order; * * @author Tom McCuch */ -public class CafeDemoAppAmqp { - - public static void main(String[] args) { - AbstractApplicationContext context = - new ClassPathXmlApplicationContext("/META-INF/spring/integration/amqp/cafeDemo-amqp-xml.xml", CafeDemoAppAmqp.class); - +public class CafeDemoAppAmqp { + + /** + * place some orders + * @param context spring context + * @param count the number of standard orders + */ + public static void order(AbstractApplicationContext context, int count){ Cafe cafe = (Cafe) context.getBean("cafe"); for (int i = 1; i <= 100; i++) { Order order = new Order(i); @@ -51,7 +53,14 @@ public class CafeDemoAppAmqp { order.addItem(DrinkType.MOCHA, 3, true); cafe.placeOrder(order); } - + } + + public static void main(String[] args) { + AbstractApplicationContext context = + CafeDemoAppUtilities.loadProfileContext( + "/META-INF/spring/integration/amqp/cafeDemo-amqp-xml.xml", + CafeDemoAppAmqp.class,CafeDemoAppUtilities.DEV); + order(context, 100); context.close(); } } diff --git a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaColdAmqp.java b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaColdAmqp.java index bde92220..2fa94d32 100644 --- a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaColdAmqp.java +++ b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaColdAmqp.java @@ -44,9 +44,9 @@ public class CafeDemoAppBaristaColdAmqp { public static void main(String[] args) { AbstractApplicationContext context = - new ClassPathXmlApplicationContext( + CafeDemoAppUtilities.loadProfileContext( "/META-INF/spring/integration/amqp/cafeDemo-amqp-baristaCold-xml.xml", - CafeDemoAppBaristaColdAmqp.class); + CafeDemoAppBaristaColdAmqp.class,CafeDemoAppUtilities.DEV); System.out.println("Press Enter/Return in the console to exit the Barista Cold App"); try { diff --git a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaHotAmqp.java b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaHotAmqp.java index 0f0d8d9c..0d37cad6 100644 --- a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaHotAmqp.java +++ b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppBaristaHotAmqp.java @@ -44,9 +44,9 @@ public class CafeDemoAppBaristaHotAmqp { public static void main(String[] args) { AbstractApplicationContext context = - new ClassPathXmlApplicationContext( + CafeDemoAppUtilities.loadProfileContext( "/META-INF/spring/integration/amqp/cafeDemo-amqp-baristaHot-xml.xml", - CafeDemoAppBaristaHotAmqp.class); + CafeDemoAppBaristaHotAmqp.class,CafeDemoAppUtilities.DEV); System.out.println("Press Enter/Return in the console to exit the Barista Hot App"); try { diff --git a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppOperationsAmqp.java b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppOperationsAmqp.java index ec894dc8..f2246647 100644 --- a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppOperationsAmqp.java +++ b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppOperationsAmqp.java @@ -50,9 +50,9 @@ public class CafeDemoAppOperationsAmqp { public static void main(String[] args) { AbstractApplicationContext context = - new ClassPathXmlApplicationContext( + CafeDemoAppUtilities.loadProfileContext( "/META-INF/spring/integration/amqp/cafeDemo-amqp-operations-xml.xml", - CafeDemoAppOperationsAmqp.class); + CafeDemoAppOperationsAmqp.class,CafeDemoAppUtilities.DEV); System.out.println("Press Enter/Return in the console to exit the Cafe Operations App"); try { diff --git a/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppUtilities.java b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppUtilities.java new file mode 100644 index 00000000..6eac278f --- /dev/null +++ b/applications/cafe/src/main/java/org/springframework/integration/samples/cafe/xml/CafeDemoAppUtilities.java @@ -0,0 +1,36 @@ +package org.springframework.integration.samples.cafe.xml; + +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.GenericXmlApplicationContext; +import org.springframework.integration.samples.cafe.Cafe; +import org.springframework.integration.samples.cafe.DrinkType; +import org.springframework.integration.samples.cafe.Order; + +public class CafeDemoAppUtilities { + + /** spring profile for running locally */ + public static final String DEV = "dev"; + /** spring profile for running in cloud foundry */ + public static final String CLOUD = "cloud"; + + + /** + * + * @param path path to the file + * @param targetClass the class who's classloader we will use to laod the context file + * @param profile a profile name + * @return the spring context + */ + public static AbstractApplicationContext loadProfileContext(String path, Class targetClass, String profile) { + GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); + ctx.getEnvironment().setActiveProfiles(profile); + ctx.setClassLoader(targetClass.getClassLoader()); + ctx.load(path); + ctx.refresh(); + return ctx; + } + + + + +} diff --git a/applications/cafe/src/main/resources/META-INF/spring/integration/amqp/cafeDemo-amqp-config-xml.xml b/applications/cafe/src/main/resources/META-INF/spring/integration/amqp/cafeDemo-amqp-config-xml.xml index cd82b341..3ac623d0 100644 --- a/applications/cafe/src/main/resources/META-INF/spring/integration/amqp/cafeDemo-amqp-config-xml.xml +++ b/applications/cafe/src/main/resources/META-INF/spring/integration/amqp/cafeDemo-amqp-config-xml.xml @@ -1,32 +1,39 @@ - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + +