|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.jms.support.JmsAccessor
org.springframework.jms.support.destination.JmsDestinationAccessor
org.springframework.jms.listener.AbstractJmsListeningContainer
org.springframework.jms.listener.AbstractMessageListenerContainer
org.springframework.jms.listener.serversession.ServerSessionMessageListenerContainer
public class ServerSessionMessageListenerContainer
Message listener container that builds on the ServerSessionPool
SPI, creating JMS ServerSession instances through a pluggable
ServerSessionFactory.
NOTE: This class requires a JMS 1.1+ provider, because it builds on the
domain-independent API. Use the ServerSessionMessageListenerContainer102
subclass for a JMS 1.0.2 provider, e.g. when running on a J2EE 1.3 server.
The default ServerSessionFactory is a SimpleServerSessionFactory,
which will create a new ServerSession for each listener execution.
Consider specifying a CommonsPoolServerSessionFactory to reuse JMS
Sessions and/or to limit the number of concurrent ServerSession executions.
See the AbstractMessageListenerContainer javadoc for details
on acknowledge modes and other configuration options.
This is an 'advanced' (special-purpose) message listener container.
For a simpler message listener container, in particular when using
a JMS provider without ServerSessionPool support, consider using
SimpleMessageListenerContainer.
For a general one-stop shop that is nevertheless very flexible, consider
DefaultMessageListenerContainer.
SimpleMessageListenerContainer,
JmsMessageEndpointManager| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer |
|---|
AbstractJmsListeningContainer.SharedConnectionNotInitializedException |
| Field Summary |
|---|
| Fields inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer |
|---|
lifecycleMonitor, sharedConnectionMonitor |
| Fields inherited from class org.springframework.jms.support.JmsAccessor |
|---|
logger |
| Constructor Summary | |
|---|---|
ServerSessionMessageListenerContainer()
Deprecated. |
|
| Method Summary | |
|---|---|
protected ConnectionConsumer |
createConsumer(Connection con,
Destination destination,
ServerSessionPool pool)
Deprecated. Create a JMS ConnectionConsumer for the given Connection. |
Session |
createListenerSession()
Deprecated. Create a JMS Session with the specified listener registered. |
protected ServerSessionPool |
createServerSessionPool()
Deprecated. Create a JMS ServerSessionPool for the specified message listener, via this container's ServerSessionFactory. |
protected void |
doInitialize()
Deprecated. Creates a JMS ServerSessionPool for the specified listener and registers it with a JMS ConnectionConsumer for the specified destination. |
protected void |
doShutdown()
Deprecated. Close the JMS ServerSessionPool for the specified message listener, via this container's ServerSessionFactory, and subsequently also this container's JMS ConnectionConsumer. |
void |
executeListenerSession(Session session)
Deprecated. Execute the given JMS Session, triggering invocation of its listener. |
protected ConnectionConsumer |
getConsumer()
Deprecated. Return the JMS ConnectionConsumer used by this message listener container. |
protected int |
getMaxMessagesPerTask()
Deprecated. Return the maximum number of messages to load into a JMS Session. |
protected ServerSessionFactory |
getServerSessionFactory()
Deprecated. Return the Spring ServerSessionFactory to use. |
void |
setMaxMessagesPerTask(int maxMessagesPerTask)
Deprecated. Set the maximum number of messages to load into a JMS Session. |
void |
setServerSessionFactory(ServerSessionFactory serverSessionFactory)
Deprecated. Set the Spring ServerSessionFactory to use. |
protected boolean |
sharedConnectionEnabled()
Deprecated. Always use a shared JMS Connection. |
| Methods inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer |
|---|
afterPropertiesSet, createSharedConnection, destroy, doRescheduleTask, doStart, doStop, establishSharedConnection, getBeanName, getClientId, getPausedTaskCount, getSharedConnection, initialize, isActive, isRunning, logRejectedTask, prepareSharedConnection, refreshSharedConnection, rescheduleTaskIfNecessary, resumePausedTasks, runningAllowed, setAutoStartup, setBeanName, setClientId, shutdown, start, startSharedConnection, stop, stopSharedConnection |
| Methods inherited from class org.springframework.jms.support.destination.JmsDestinationAccessor |
|---|
getDestinationResolver, isPubSubDomain, resolveDestinationName, setDestinationResolver, setPubSubDomain |
| Methods inherited from class org.springframework.jms.support.JmsAccessor |
|---|
convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName, setSessionTransacted |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ServerSessionMessageListenerContainer()
| Method Detail |
|---|
public void setServerSessionFactory(ServerSessionFactory serverSessionFactory)
Default is a plain SimpleServerSessionFactory. Consider using a CommonsPoolServerSessionFactory to reuse JMS Sessions and/or to limit the number of concurrent ServerSession executions.
SimpleServerSessionFactory,
CommonsPoolServerSessionFactoryprotected ServerSessionFactory getServerSessionFactory()
public void setMaxMessagesPerTask(int maxMessagesPerTask)
See the corresponding JMS createConnectionConsumer
argument for details.
Connection.createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)protected int getMaxMessagesPerTask()
protected final boolean sharedConnectionEnabled()
sharedConnectionEnabled in class AbstractJmsListeningContainerAbstractJmsListeningContainer.getSharedConnection()
protected void doInitialize()
throws JMSException
doInitialize in class AbstractJmsListeningContainerJMSException - if registration failedcreateServerSessionPool(),
createConsumer(javax.jms.Connection, javax.jms.Destination, javax.jms.ServerSessionPool)
protected ServerSessionPool createServerSessionPool()
throws JMSException
This message listener container implements the ListenerSessionManager interface, hence can be passed to the ServerSessionFactory itself.
JMSException - if creation of the ServerSessionPool failedsetServerSessionFactory(org.springframework.jms.listener.serversession.ServerSessionFactory),
ServerSessionFactory.getServerSession(ListenerSessionManager)protected final ConnectionConsumer getConsumer()
protected void doShutdown()
throws JMSException
This message listener container implements the ListenerSessionManager interface, hence can be passed to the ServerSessionFactory itself.
doShutdown in class AbstractJmsListeningContainerJMSException - if shutdown failedsetServerSessionFactory(org.springframework.jms.listener.serversession.ServerSessionFactory),
ServerSessionFactory.getServerSession(ListenerSessionManager)
public Session createListenerSession()
throws JMSException
executeListener method.
Default implementation simply calls setMessageListener
on a newly created JMS Session, according to the JMS specification's
ServerSessionPool section.
createListenerSession in interface ListenerSessionManagerJMSException - if thrown by JMS API methodsAbstractMessageListenerContainer.executeListener(javax.jms.Session, javax.jms.Message)public void executeListenerSession(Session session)
Default implementation simply calls run()
on the JMS Session, according to the JMS specification's
ServerSessionPool section.
executeListenerSession in interface ListenerSessionManagersession - the JMS Session to executeSession.run()
protected ConnectionConsumer createConsumer(Connection con,
Destination destination,
ServerSessionPool pool)
throws JMSException
This implementation uses JMS 1.1 API.
con - the JMS Connection to create a Session fordestination - the JMS Destination to listen topool - the ServerSessionpool to use
JMSException - if thrown by JMS API methods
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||