org.codehaus.activemq.web
Class MessageServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended byorg.codehaus.activemq.web.MessageServletSupport
              extended byorg.codehaus.activemq.web.MessageServlet
All Implemented Interfaces:
Serializable, Servlet, ServletConfig

public class MessageServlet
extends MessageServletSupport

A servlet for sending and receiving messages to/from JMS destinations using HTTP POST for sending and HTTP GET for receiving.

You can specify the destination and whether it is a topic or queue via configuration details on the servlet or as request parameters.

For reading messages you can specify a readTimeout parameter to determine how long the servlet should block for.

Version:
$Revision: 1.7 $
See Also:
Serialized Form

Constructor Summary
MessageServlet()
           
 
Method Summary
protected  void doDelete(HttpServletRequest request, HttpServletResponse response)
          Supports a HTTP DELETE to be equivlanent of consuming a message from a queue
protected  void doGet(HttpServletRequest request, HttpServletResponse response)
          Reads a message from a destination up to some specific timeout period
protected  void doPost(HttpServletRequest request, HttpServletResponse response)
          Sends a message to a destination
protected  String getContentType(HttpServletRequest request)
           
protected  long getReadTimeout(HttpServletRequest request)
           
 void init()
           
protected  void sendMessageResponse(HttpServletRequest request, HttpServletResponse response, Message message)
           
protected  void setResponseHeaders(HttpServletResponse response, Message message)
           
 
Methods inherited from class org.codehaus.activemq.web.MessageServletSupport
appendParametersToMessage, asBoolean, asLong, createWebClient, getDestination, getDestination, getDestinationFromURI, getPostedMessageBody, getWebClient, init, isTopic
 
Methods inherited from class javax.servlet.http.HttpServlet
doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageServlet

public MessageServlet()
Method Detail

init

public void init()
          throws ServletException
Throws:
ServletException

doPost

protected void doPost(HttpServletRequest request,
                      HttpServletResponse response)
               throws ServletException,
                      IOException
Sends a message to a destination

Parameters:
request -
response -
Throws:
ServletException
IOException

doGet

protected void doGet(HttpServletRequest request,
                     HttpServletResponse response)
              throws ServletException,
                     IOException
Reads a message from a destination up to some specific timeout period

Parameters:
request -
response -
Throws:
ServletException
IOException

doDelete

protected void doDelete(HttpServletRequest request,
                        HttpServletResponse response)
                 throws ServletException,
                        IOException
Supports a HTTP DELETE to be equivlanent of consuming a message from a queue

Throws:
ServletException
IOException

sendMessageResponse

protected void sendMessageResponse(HttpServletRequest request,
                                   HttpServletResponse response,
                                   Message message)
                            throws JMSException,
                                   IOException
Throws:
JMSException
IOException

getContentType

protected String getContentType(HttpServletRequest request)

setResponseHeaders

protected void setResponseHeaders(HttpServletResponse response,
                                  Message message)
                           throws JMSException
Throws:
JMSException

getReadTimeout

protected long getReadTimeout(HttpServletRequest request)
Returns:
the timeout value for read requests which is always >= 0 and <= maximumReadTimeout to avoid DoS attacks


Copyright © 2004 Protique, Ltd.. All Rights Reserved.