コード例 #1
0
  // 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);
    }
  }
コード例 #2
0
  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);
  }