Class WebClient

  • All Implemented Interfaces:
    Externalizable, Serializable, EventListener, javax.servlet.http.HttpSessionActivationListener, javax.servlet.http.HttpSessionBindingListener
    Direct Known Subclasses:
    AjaxWebClient

    public class WebClient
    extends Object
    implements javax.servlet.http.HttpSessionActivationListener, javax.servlet.http.HttpSessionBindingListener, Externalizable
    Represents a messaging client used from inside a web container typically stored inside a HttpSession TODO controls to prevent DOS attacks with users requesting many consumers TODO configure consumers with small prefetch.
    See Also:
    Serialized Form
    • Constructor Detail

      • WebClient

        public WebClient()
    • Method Detail

      • getWebClient

        public static WebClient getWebClient​(javax.servlet.http.HttpServletRequest request)
        Helper method to get the client for the current session, lazily creating a client if there is none currently
        Parameters:
        request - is the current HTTP request
        Returns:
        the current client or a newly creates
      • getWebClient

        public static WebClient getWebClient​(javax.servlet.http.HttpSession session)
        Returns:
        the web client for the current HTTP session or null if there is not a web client created yet
      • initContext

        public static void initContext​(javax.servlet.ServletContext context)
      • getDeliveryMode

        public int getDeliveryMode()
      • setDeliveryMode

        public void setDeliveryMode​(int deliveryMode)
      • getUsername

        public String getUsername()
      • setUsername

        public void setUsername​(String username)
      • getPassword

        public String getPassword()
      • setPassword

        public void setPassword​(String password)
      • closeConsumers

        public void closeConsumers()
      • close

        public void close()
      • isClosed

        public boolean isClosed()
      • send

        public void send​(javax.jms.Destination destination,
                         javax.jms.Message message)
                  throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • send

        public void send​(javax.jms.Destination destination,
                         javax.jms.Message message,
                         boolean persistent,
                         int priority,
                         long timeToLive)
                  throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • getSession

        public javax.jms.Session getSession()
                                     throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • getConnection

        public javax.jms.Connection getConnection()
                                           throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • initConnectionFactory

        protected static void initConnectionFactory​(javax.servlet.ServletContext servletContext)
      • getProducer

        public javax.jms.MessageProducer getProducer()
                                              throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • setProducer

        public void setProducer​(javax.jms.MessageProducer producer)
      • getConsumer

        public javax.jms.MessageConsumer getConsumer​(javax.jms.Destination destination,
                                                     String selector)
                                              throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • getConsumer

        public javax.jms.MessageConsumer getConsumer​(javax.jms.Destination destination,
                                                     String selector,
                                                     boolean create)
                                              throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • closeConsumer

        public void closeConsumer​(javax.jms.Destination destination)
                           throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • getConsumers

        public List<javax.jms.MessageConsumer> getConsumers()
      • createSession

        protected javax.jms.Session createSession()
                                           throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • getSemaphore

        public Semaphore getSemaphore()
      • sessionWillPassivate

        public void sessionWillPassivate​(javax.servlet.http.HttpSessionEvent event)
        Specified by:
        sessionWillPassivate in interface javax.servlet.http.HttpSessionActivationListener
      • sessionDidActivate

        public void sessionDidActivate​(javax.servlet.http.HttpSessionEvent event)
        Specified by:
        sessionDidActivate in interface javax.servlet.http.HttpSessionActivationListener
      • valueBound

        public void valueBound​(javax.servlet.http.HttpSessionBindingEvent event)
        Specified by:
        valueBound in interface javax.servlet.http.HttpSessionBindingListener
      • valueUnbound

        public void valueUnbound​(javax.servlet.http.HttpSessionBindingEvent event)
        Specified by:
        valueUnbound in interface javax.servlet.http.HttpSessionBindingListener
      • createWebClient

        protected static WebClient createWebClient​(javax.servlet.http.HttpServletRequest request)