001 package com.mockrunner.mock.jms;
002
003 import java.util.List;
004
005 import javax.jms.ConnectionConsumer;
006 import javax.jms.JMSException;
007 import javax.jms.Queue;
008 import javax.jms.QueueConnection;
009 import javax.jms.QueueSession;
010 import javax.jms.ServerSessionPool;
011 import javax.jms.Session;
012
013 import com.mockrunner.jms.ConfigurationManager;
014 import com.mockrunner.jms.DestinationManager;
015
016 /**
017 * Mock implementation of JMS <code>QueueConnection</code>.
018 * Please note: The interfaces <code>ConnectionConsumer</code>,
019 * <code>ServerSessionPool</code> and <code>ServerSession</code>
020 * are not meant for application use. Mockrunner provides very
021 * simple mock implementations but usually you won't need them.
022 */
023 public class MockQueueConnection extends MockConnection implements QueueConnection
024 {
025 public MockQueueConnection(DestinationManager destinationManager, ConfigurationManager configurationManager)
026 {
027 super(destinationManager, configurationManager);
028 }
029
030 public MockQueueConnection(DestinationManager destinationManager, ConfigurationManager configurationManager, String userName, String password)
031 {
032 super(destinationManager, configurationManager, userName, password);
033 }
034
035 /**
036 * Returns the list of {@link MockQueueSession} objects that were created
037 * with {@link #createQueueSession}.
038 * @return the list
039 */
040 public List getQueueSessionList()
041 {
042 return super.getSessionList();
043 }
044
045 /**
046 * Returns a {@link MockQueueSession} that was created with
047 * {@link #createQueueSession}. If there's no such
048 * {@link MockQueueSession}, <code>null</code> is returned.
049 * @param index the index of the session object
050 * @return the session object
051 */
052 public MockQueueSession getQueueSession(int index)
053 {
054 return (MockQueueSession)super.getSession(index);
055 }
056
057 public Session createSession(boolean transacted, int acknowledgeMode) throws JMSException
058 {
059 return createQueueSession(transacted, acknowledgeMode);
060 }
061
062 public QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws JMSException
063 {
064 throwJMSException();
065 MockQueueSession session = new MockQueueSession(this, transacted, acknowledgeMode);
066 sessions().add(session);
067 return session;
068 }
069
070 public ConnectionConsumer createConnectionConsumer(Queue queue, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException
071 {
072 return super.createConnectionConsumer(queue, messageSelector, sessionPool, maxMessages);
073 }
074 }