From 2d74722e60aa6fc98604ee4a555f6bb689d7f584 Mon Sep 17 00:00:00 2001 From: antelder Date: Thu, 24 Jun 2010 10:34:08 +0000 Subject: TUSCANY-3517: Apply latest updates to the async servelt sample in async-servlet-sca-0.0.3.zip git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@957497 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/sample/StockServlet.java | 58 ++++++++++++++++++---- .../async-servlet-sca/src/main/webapp/monitor.html | 29 +++++++++++ .../async-servlet-sca/src/main/webapp/stock.html | 4 +- 3 files changed, 78 insertions(+), 13 deletions(-) create mode 100644 sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/monitor.html diff --git a/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/java/sample/StockServlet.java b/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/java/sample/StockServlet.java index 0c0cc6fb2d..dde6b83c34 100644 --- a/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/java/sample/StockServlet.java +++ b/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/java/sample/StockServlet.java @@ -42,7 +42,7 @@ public class StockServlet extends HttpServlet { private StockService service = new StockServiceImpl(); private AsyncContext asyncContext; private Timer timer; - private long updatePeriod = 1L; // default 1 sec + private long updatePeriod = 1L; // default 1 sec private Logger logger = Logger.getLogger(StockServlet.class); protected void doGet(HttpServletRequest req, HttpServletResponse resp) @@ -50,40 +50,76 @@ public class StockServlet extends HttpServlet { logger.debug("Received request."); logger.debug("Starting async context..."); asyncContext = req.startAsync(); + resp.setContentType("text/html"); + + logger.debug("Sending initial response..."); + try { + Writer writer = asyncContext.getResponse().getWriter(); + writer.write("\n"); + writer.write("\n"); + writer.write("Stock Monitor\n"); + + writer.write("\n"); + writer.write("\n"); + writer.write("\n"); + writer.write("

Apache Tuscany Asynchronous Servlet Sample

\n"); + writer.write("

Stock Monitor

\n"); + writer.write("\n"); + writer.write("\n"); + writer.write("\n"); + writer.write("\n"); + writer.write("\n"); + writer.write("\n"); + resp.flushBuffer(); + } catch (IOException e) { + e.printStackTrace(); + } + logger.debug("Service reference: " + service); logger.debug("Setting timer..."); timer = new Timer(); logger.debug("Setting update period..."); - this.updatePeriod = Long.parseLong(req.getParameter("period")); + if (req.getParameter("interval") != null) { + this.updatePeriod = Long.parseLong(req.getParameter("interval")); + } timer.scheduleAtFixedRate(new StockTask(), 0, updatePeriod * MILLIS_PER_SECOND); logger.debug("Exiting doGet method..."); } - + public void updateClient() { try { logger.debug("Updating response..."); - asyncContext.getResponse().setContentType("text/plain"); Writer writer = asyncContext.getResponse().getWriter(); - writer.write("Symbol: " + service.getSymbol() + ", Price " - + service.getValue() + "\n"); + writer.write("\n"); + // writer.write("Symbol: " + service.getSymbol() + ", Price: " + service.getValue() + "\n"); writer.flush(); asyncContext.getResponse().flushBuffer(); logger.debug("Flushed response."); } catch (IOException e) { logger.debug(e.getMessage(), e); - asyncContext.complete(); + asyncContext.complete(); } } - //----------------------------------------------------------- - + // ----------------------------------------------------------- + public class StockTask extends TimerTask { @Override public void run() { updateClient(); } - + } - + } diff --git a/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/monitor.html b/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/monitor.html new file mode 100644 index 0000000000..631ad1909b --- /dev/null +++ b/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/monitor.html @@ -0,0 +1,29 @@ + + +Stock Monitor + + + + + +

Apache Tuscany Asynchronous Servlet Sample

+ +

Stock Monitor

+ + +a + +1 + + + + + diff --git a/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/stock.html b/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/stock.html index 9fc1d37791..3910434d33 100644 --- a/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/stock.html +++ b/sca-java-2.x/contrib/samples/async-servlet-sca/src/main/webapp/stock.html @@ -29,8 +29,8 @@

Stock Monitor

- - + +
-- cgit v1.2.3