// Implementation methods // ------------------------------------------------------------------------- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { WebClient client = WebClient.getWebClient(request); Session session = client.getSession(); Queue queue = getQueue(request, session); if (queue == null) { throw new ServletException("No queue URI specified"); } String msgId = request.getParameter("msgId"); if (msgId == null) { MessageRenderer renderer = getMessageRenderer(request); configureRenderer(request, renderer); String selector = getSelector(request); QueueBrowser browser = session.createBrowser(queue, selector); renderer.renderMessages(request, response, browser); } else { XmlMessageRenderer renderer = new XmlMessageRenderer(); QueueBrowser browser = session.createBrowser(queue, "JMSMessageID='" + msgId + "'"); if (!browser.getEnumeration().hasMoreElements()) { response.sendError(HttpServletResponse.SC_NOT_FOUND); return; } Message message = (Message) browser.getEnumeration().nextElement(); PrintWriter writer = response.getWriter(); renderer.renderMessage(writer, request, response, browser, message); writer.flush(); } } catch (JMSException e) { throw new ServletException(e); } }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); String[] stocks = request.getParameterValues("stocks"); if (stocks == null || stocks.length == 0) { out.println( "<html><body>No <b>stocks</b> query parameter specified. Cannot publish market data</body></html>"); } else { Integer total = (Integer) request.getSession(true).getAttribute("total"); if (total == null) { total = Integer.valueOf(0); } int count = getNumberOfMessages(request); total = Integer.valueOf(total.intValue() + count); request.getSession().setAttribute("total", total); try { WebClient client = WebClient.getWebClient(request); for (int i = 0; i < count; i++) { sendMessage(client, stocks); } out.print("<html><head><meta http-equiv='refresh' content='"); String refreshRate = request.getParameter("refresh"); if (refreshRate == null || refreshRate.length() == 0) { refreshRate = "1"; } out.print(refreshRate); out.println("'/></head>"); out.println( "<body>Published <b>" + escape(Integer.toString(count)) + "</b> of " + escape(Integer.toString(total)) + " price messages. Refresh = " + escape(refreshRate) + "s"); out.println("</body></html>"); } catch (JMSException e) { out.println( "<html><body>Failed sending price messages due to <b>" + e + "</b></body></html>"); log("Failed to send message: " + e, e); } } }