| SessionDelegate.java |
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.jms.client;
import java.io.Serializable;
import javax.jms.BytesMessage;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.StreamMessage;
import javax.jms.TextMessage;
import javax.transaction.xa.XAResource;
/**
* The implementation of a session
*
* @author <a href="mailto:adrian@jboss.org>Adrian Brock</a>
* @version $Revision: 1.4 $
*/
public interface SessionDelegate
extends Lifecycle
{
// Constants -----------------------------------------------------
// Public --------------------------------------------------------
/**
*
* Acknowledge a message
*
* @param message the message to acknowledge
* @param acknowledge true for acknowledge, false for a Nack
*/
void acknowledge(Message message, boolean acknowledge);
/**
* Commit a session
*
* @throws JMSException for any error
*/
void commit() throws JMSException;
/**
* Create a queue browser
*
* @param queue the queue
* @param selector the message selector
* @return the browser
* @throws JMSException for any error
*/
BrowserDelegate createBrowser(Queue queue, String selector) throws JMSException;
/**
* Create a bytes message
*
* @return the message
* @throws JMSException for any error
*/
BytesMessage createBytesMessage() throws JMSException;
/**
* Create a consumer
*
* @param destination the destination
* @param subscription the subscription name
* @param selector the message selector
* @param noLocal the no local flag
* @return the consumer
* @throws JMSException for any error
*/
ConsumerDelegate createConsumer(Destination destination, String subscription, String selector, boolean noLocal) throws JMSException;
/**
* Create a map message
*
* @return the message
* @throws JMSException for any error
*/
MapMessage createMapMessage() throws JMSException;
/**
* Create a message
*
* @return the message
* @throws JMSException for any error
*/
Message createMessage() throws JMSException;
/**
* Create an object message
*
* @param object the object
* @return the message
* @throws JMSException for any error
*/
ObjectMessage createObjectMessage(Serializable object) throws JMSException;
/**
* Create a producer
*
* @param destination the destination
* @return the producer
* @throws JMSException for any error
*/
ProducerDelegate createProducer(Destination destination) throws JMSException;
/**
* Create a stream message
*
* @return the message
* @throws JMSException for any error
*/
StreamMessage createStreamMessage() throws JMSException;
/**
* Create a temporary destination
*
* @param type the type of temporary destination
* @return the temporary destination
* @throws JMSException for any error
*/
Destination createTempDestination(int type) throws JMSException;
/**
* Create a text message
*
* @param text the text
* @return the message
* @throws JMSException for any error
*/
TextMessage createTextMessage(String text) throws JMSException;
/**
* Retrieve a destination
*
* @param name the implementation dependent name
* @return the destination
* @throws JMSException for any error
*/
Destination getDestination(String name) throws JMSException;
/**
* Retrieve the XAResource for this session
*
* @return the XAResource
*/
XAResource getXAResource();
/**
* Recover a session
*
* @throws JMSException for any error
*/
void recover() throws JMSException;
/**
* Rollback a session
*
* @throws JMSException for any error
*/
void rollback() throws JMSException;
/**
* Run the session listener
*
* @throws JMSException for any error
*/
void run();
/**
* Set the session's message listener
*
* @param listener the message listener
* @throws JMSException for any error
*/
void setMessageListener(MessageListener listener) throws JMSException;
/**
* Unsubscribe the name
*
* @param name the name of the subscription
* @throws JMSException for any error
*/
void unsubscribe(String name) throws JMSException;
// Inner Classes --------------------------------------------------
}
| SessionDelegate.java |