javax.jms.ServerSessionPool Maven / Gradle / Ivy
/*
* @(#)ServerSessionPool.java 1.12 02/04/09
*
* Copyright 1997-2002 Sun Microsystems, Inc. All Rights Reserved.
*
* SUN PROPRIETARY/CONFIDENTIAL.
* This software is the proprietary information of Sun Microsystems, Inc.
* Use is subject to license terms.
*
*/
package javax.jms;
/** A ServerSessionPool
object is an object implemented by an
* application server to provide a pool of ServerSession
objects
* for processing the messages of a ConnectionConsumer
(optional).
*
* Its only method is getServerSession
. The JMS API does not
* architect how the pool is implemented. It could be a static pool of
* ServerSession
objects, or it could use a sophisticated
* algorithm to dynamically create ServerSession
objects as
* needed.
*
*
If the ServerSessionPool
is out of
* ServerSession
objects, the getServerSession
call
* may block. If a ConnectionConsumer
is blocked, it cannot
* deliver new messages until a ServerSession
is
* eventually returned.
*
* @version 1.0 - 9 March 1998
* @author Mark Hapner
* @author Rich Burridge
*
* @see javax.jms.ServerSession
*/
public interface ServerSessionPool {
/** Return a server session from the pool.
*
* @return a server session from the pool
*
* @exception JMSException if an application server fails to
* return a ServerSession
out of its
* server session pool.
*/
ServerSession
getServerSession() throws JMSException;
}