// 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 sendMessage(WebClient client, String[] stocks) throws JMSException { Session session = client.getSession(); int idx = 0; while (true) { idx = (int) Math.round(stocks.length * Math.random()); if (idx < stocks.length) { break; } } String stock = stocks[idx]; Destination destination = session.createTopic("STOCKS." + stock); String stockText = createStockText(stock); log("Sending: " + stockText + " on destination: " + destination); Message message = session.createTextMessage(stockText); client.send(destination, message); }