From fd59bec7752735f19cbbe4b60a480924d88c28ad Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Fri, 17 Aug 2012 04:04:03 -0400 Subject: [PATCH] Update code for 3.2 M2 changes --- stocks/pom.xml | 6 ++++++ .../rabbit/stocks/web/QuoteController.java | 20 ++++++++++--------- stocks/src/main/resources/log4j.properties | 1 + stocks/src/main/webapp/WEB-INF/web.xml | 2 ++ stocks/src/main/webapp/index.jsp | 2 +- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/stocks/pom.xml b/stocks/pom.xml index a5ed4a9..4d14fd3 100644 --- a/stocks/pom.xml +++ b/stocks/pom.xml @@ -75,6 +75,11 @@ spring-oxm ${spring.framework.version} + + org.springframework + spring-tx + ${spring.framework.version} + org.springframework spring-webmvc @@ -152,6 +157,7 @@ + ${project.artifactId} diff --git a/stocks/src/main/java/org/springframework/amqp/rabbit/stocks/web/QuoteController.java b/stocks/src/main/java/org/springframework/amqp/rabbit/stocks/web/QuoteController.java index 31b0de4..0b0ceaf 100644 --- a/stocks/src/main/java/org/springframework/amqp/rabbit/stocks/web/QuoteController.java +++ b/stocks/src/main/java/org/springframework/amqp/rabbit/stocks/web/QuoteController.java @@ -55,9 +55,11 @@ public class QuoteController { private Queue quotes = new PriorityBlockingQueue(100, new QuoteComparator()); - private Map suspendedTradeRequests = new ConcurrentHashMap(); + private Map> suspendedTradeRequests = + new ConcurrentHashMap>(); - private Map suspendedQuoteRequests = new ConcurrentHashMap(); + private Map>, Long> suspendedQuoteRequests = + new ConcurrentHashMap>, Long>(); private long timeout = 30000; // 30 seconds of data @@ -79,8 +81,8 @@ public class QuoteController { responses.remove(requestId); } if (suspendedTradeRequests.containsKey(requestId)) { - DeferredResult deferredResult = suspendedTradeRequests.remove(requestId); - deferredResult.trySet(tradeResponse); + DeferredResult deferredResult = suspendedTradeRequests.remove(requestId); + deferredResult.setResult(tradeResponse); } } } @@ -89,11 +91,11 @@ public class QuoteController { logger.info("Client received: " + message); quotes.add(message); - for (Entry entry : suspendedQuoteRequests.entrySet()) { + for (Entry>, Long> entry : suspendedQuoteRequests.entrySet()) { List list = getLatestQuotes(entry.getValue()); if (!list.isEmpty()) { - DeferredResult deferredResult = entry.getKey(); - deferredResult.trySet(list); + DeferredResult> deferredResult = entry.getKey(); + deferredResult.setResult(list); suspendedQuoteRequests.remove(entry.getKey()); } } @@ -112,7 +114,7 @@ public class QuoteController { public Object quotes(@RequestParam(required = false) Long timestamp) { List list = getLatestQuotes(timestamp); if (list.isEmpty()) { - DeferredResult deferredResult = new DeferredResult(Collections.emptyList()); + DeferredResult> deferredResult = new DeferredResult>(null, Collections.emptyList()); suspendedQuoteRequests.put(deferredResult, timestamp); return deferredResult; } @@ -144,7 +146,7 @@ public class QuoteController { // error return null; } else { - DeferredResult deferredResult = new DeferredResult(); + DeferredResult deferredResult = new DeferredResult(); suspendedTradeRequests.put(tradeRequest.getId(), deferredResult); // Fake rest of request while UI is basic diff --git a/stocks/src/main/resources/log4j.properties b/stocks/src/main/resources/log4j.properties index b19a9c2..f5f9334 100644 --- a/stocks/src/main/resources/log4j.properties +++ b/stocks/src/main/resources/log4j.properties @@ -9,3 +9,4 @@ log4j.appender.stdout.layout.ConversionPattern=%-5p %8t [%40.40c{4}]: %m%n log4j.category.org.springframework.amqp.rabbit=INFO log4j.category.org.springframework.beans.factory=INFO +log4j.category.org.springframework.web=DEBUG diff --git a/stocks/src/main/webapp/WEB-INF/web.xml b/stocks/src/main/webapp/WEB-INF/web.xml index e44b3aa..8abaa5b 100644 --- a/stocks/src/main/webapp/WEB-INF/web.xml +++ b/stocks/src/main/webapp/WEB-INF/web.xml @@ -27,6 +27,8 @@ shallowEtagHeaderFilter /* + REQUEST + ASYNC diff --git a/stocks/src/main/webapp/index.jsp b/stocks/src/main/webapp/index.jsp index ce71bb8..cd87864 100644 --- a/stocks/src/main/webapp/index.jsp +++ b/stocks/src/main/webapp/index.jsp @@ -84,7 +84,7 @@ if (response && response.requestId) { $('#confirmations').append($.mustache(confirmation, {response : response})); } else { - $('#messages').html("

The trade request was invalid. Please provide a quantity and a stock ticker.

"); + $('#messages').html("

Invalid response.

"); } }); return false;