001 package com.mockrunner.mock.jms;
002
003 import javax.jms.ConnectionConsumer;
004 import javax.jms.JMSException;
005 import javax.jms.ServerSessionPool;
006
007 /**
008 * Mock implementation of JMS <code>ConnectionConsumer</code>.
009 */
010 public class MockConnectionConsumer implements ConnectionConsumer
011 {
012 private MockConnection connection;
013 private ServerSessionPool sessionPool;
014 private boolean closed;
015
016 public MockConnectionConsumer(MockConnection connection, ServerSessionPool serverSessionPool)
017 {
018 this.connection = connection;
019 closed = false;
020 sessionPool = serverSessionPool;
021 if(null == sessionPool)
022 {
023 sessionPool = new MockServerSessionPool(connection);
024 }
025 }
026
027 /**
028 * Returns if this connection consumer was closed.
029 * @return <code>true</code> if this connection consumer is closed
030 */
031 public boolean isClosed()
032 {
033 return closed;
034 }
035
036 public void setServerSessionPool(ServerSessionPool serverSessionPool)
037 {
038 sessionPool = serverSessionPool;
039 }
040
041 public ServerSessionPool getServerSessionPool() throws JMSException
042 {
043 connection.throwJMSException();
044 return sessionPool;
045 }
046
047 public void close() throws JMSException
048 {
049 connection.throwJMSException();
050 closed = true;
051 }
052 }