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