001 package com.mockrunner.mock.jms;
002
003 import java.io.Serializable;
004
005 import javax.jms.JMSException;
006 import javax.jms.QueueSession;
007 import javax.jms.ServerSession;
008 import javax.jms.Session;
009
010 /**
011 * Mock implementation of JMS <code>ServerSession</code>.
012 * The <code>ServerSession</code> is not meant for application
013 * use.
014 */
015 public class MockServerSession implements ServerSession, Serializable
016 {
017 private MockConnection connection;
018 private Session session;
019 private boolean started;
020
021 public MockServerSession(MockConnection connection)
022 {
023 this.connection = connection;
024 session = new MockSession(connection, false, QueueSession.AUTO_ACKNOWLEDGE);
025 started = false;
026 }
027
028 /**
029 * Returns if this server session was started.
030 * @return <code>true</code> if this server session is started
031 */
032 public boolean isStarted()
033 {
034 return started;
035 }
036
037 public void setSession(Session session)
038 {
039 this.session = session;
040 }
041
042 public Session getSession() throws JMSException
043 {
044 connection.throwJMSException();
045 return session;
046 }
047
048 public void start() throws JMSException
049 {
050 connection.throwJMSException();
051 started = true;
052 }
053 }