org.apache.activemq.web
Class WebClient

java.lang.Object
  extended by org.apache.activemq.web.WebClient
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, java.util.EventListener, javax.servlet.http.HttpSessionActivationListener, javax.servlet.http.HttpSessionBindingListener
Direct Known Subclasses:
AjaxWebClient

public class WebClient
extends java.lang.Object
implements javax.servlet.http.HttpSessionActivationListener, javax.servlet.http.HttpSessionBindingListener, java.io.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

Field Summary
static java.lang.String BROKER_URL_INIT_PARAM
           
static java.lang.String CONNECTION_FACTORY_ATTRIBUTE
           
static java.lang.String CONNECTION_FACTORY_OPTIMIZE_ACK_PARAM
           
static java.lang.String CONNECTION_FACTORY_PREFETCH_PARAM
           
static java.lang.String SELECTOR_NAME
           
static java.lang.String selectorName
           
static java.lang.String WEB_CLIENT_ATTRIBUTE
           
 
Constructor Summary
WebClient()
           
 
Method Summary
 void close()
           
 void closeConsumer(javax.jms.Destination destination)
           
 void closeConsumers()
           
protected  javax.jms.Session createSession()
           
protected static WebClient createWebClient(javax.servlet.http.HttpServletRequest request)
           
 org.apache.camel.CamelContext getCamelContext()
           
 javax.jms.Connection getConnection()
           
 javax.jms.MessageConsumer getConsumer(javax.jms.Destination destination, java.lang.String selector)
           
 javax.jms.MessageConsumer getConsumer(javax.jms.Destination destination, java.lang.String selector, boolean create)
           
 java.util.List<javax.jms.MessageConsumer> getConsumers()
           
 int getDeliveryMode()
           
 javax.jms.MessageProducer getProducer()
           
 org.apache.camel.ProducerTemplate getProducerTemplate()
           
 java.util.concurrent.Semaphore getSemaphore()
           
 javax.jms.Session getSession()
           
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
static WebClient getWebClient(javax.servlet.http.HttpSession session)
           
protected static void initConnectionFactory(javax.servlet.ServletContext servletContext)
           
static void initContext(javax.servlet.ServletContext context)
           
 boolean isClosed()
           
 void readExternal(java.io.ObjectInput in)
           
 void send(javax.jms.Destination destination, javax.jms.Message message)
           
 void send(javax.jms.Destination destination, javax.jms.Message message, boolean persistent, int priority, long timeToLive)
           
 void sessionDidActivate(javax.servlet.http.HttpSessionEvent event)
           
 void sessionWillPassivate(javax.servlet.http.HttpSessionEvent event)
           
 void setDeliveryMode(int deliveryMode)
           
 void setProducer(javax.jms.MessageProducer producer)
           
 void valueBound(javax.servlet.http.HttpSessionBindingEvent event)
           
 void valueUnbound(javax.servlet.http.HttpSessionBindingEvent event)
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WEB_CLIENT_ATTRIBUTE

public static final java.lang.String WEB_CLIENT_ATTRIBUTE
See Also:
Constant Field Values

CONNECTION_FACTORY_ATTRIBUTE

public static final java.lang.String CONNECTION_FACTORY_ATTRIBUTE
See Also:
Constant Field Values

CONNECTION_FACTORY_PREFETCH_PARAM

public static final java.lang.String CONNECTION_FACTORY_PREFETCH_PARAM
See Also:
Constant Field Values

CONNECTION_FACTORY_OPTIMIZE_ACK_PARAM

public static final java.lang.String CONNECTION_FACTORY_OPTIMIZE_ACK_PARAM
See Also:
Constant Field Values

BROKER_URL_INIT_PARAM

public static final java.lang.String BROKER_URL_INIT_PARAM
See Also:
Constant Field Values

SELECTOR_NAME

public static final java.lang.String SELECTOR_NAME
See Also:
Constant Field Values

selectorName

public static java.lang.String selectorName
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)

closeConsumers

public void closeConsumers()

close

public void close()

isClosed

public boolean isClosed()

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException

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)

getCamelContext

public org.apache.camel.CamelContext getCamelContext()

getProducerTemplate

public org.apache.camel.ProducerTemplate getProducerTemplate()
                                                      throws java.lang.Exception
Throws:
java.lang.Exception

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,
                                             java.lang.String selector)
                                      throws javax.jms.JMSException
Throws:
javax.jms.JMSException

getConsumer

public javax.jms.MessageConsumer getConsumer(javax.jms.Destination destination,
                                             java.lang.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 java.util.List<javax.jms.MessageConsumer> getConsumers()

createSession

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

getSemaphore

public java.util.concurrent.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)


Copyright © 2005-2011 FuseSource, Corp.. All Rights Reserved.