Skip to content

Commit

Permalink
Resource Adapter test
Browse files Browse the repository at this point in the history
* destroy the underlying connection after a session is closed
  • Loading branch information
jmesnil committed Aug 13, 2010
1 parent 3cad126 commit 44b0f25
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 5 deletions.
7 changes: 7 additions & 0 deletions src/main/org/hornetq/ra/HornetQRASession.java
Expand Up @@ -49,6 +49,7 @@
import javax.jms.XATopicSession;
import javax.resource.ResourceException;
import javax.resource.spi.ConnectionEvent;
import javax.resource.spi.ManagedConnection;
import javax.transaction.xa.XAResource;

import org.hornetq.core.logging.Logger;
Expand Down Expand Up @@ -1333,6 +1334,12 @@ void setManagedConnection(final HornetQRAManagedConnection managedConnection)
mc = managedConnection;
}

/** for tests only */
public ManagedConnection getManagedConnection()
{
return mc;
}

/**
* Destroy
*/
Expand Down
Expand Up @@ -22,10 +22,12 @@
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.XAQueueConnection;
import javax.jms.XASession;
import javax.resource.spi.ManagedConnection;
import javax.transaction.xa.XAResource;
import javax.transaction.xa.Xid;

Expand All @@ -37,6 +39,7 @@
import org.hornetq.ra.HornetQRAConnectionFactoryImpl;
import org.hornetq.ra.HornetQRAConnectionManager;
import org.hornetq.ra.HornetQRAManagedConnectionFactory;
import org.hornetq.ra.HornetQRASession;
import org.hornetq.ra.HornetQResourceAdapter;
import org.hornetq.utils.UUIDGenerator;

Expand Down Expand Up @@ -100,7 +103,10 @@ public void testSimpleMessageSendAndReceive() throws Exception
TextMessage textMessage = (TextMessage) consumer.receive(1000);
assertNotNull(textMessage);
assertEquals(textMessage.getText(), "test");

ManagedConnection mc = ((HornetQRASession)s).getManagedConnection();
s.close();
mc.destroy();
}

public void testSimpleMessageSendAndReceiveXA() throws Exception
Expand Down Expand Up @@ -135,9 +141,10 @@ public void testSimpleMessageSendAndReceiveXA() throws Exception
resource.commit(xid, true);
assertNotNull(textMessage);
assertEquals(textMessage.getText(), "test");

ManagedConnection mc = ((HornetQRASession)s).getManagedConnection();
s.close();

resourceAdapter.stop();
mc.destroy();
}

public void testSimpleMessageSendAndReceiveTransacted() throws Exception
Expand Down Expand Up @@ -168,7 +175,10 @@ public void testSimpleMessageSendAndReceiveTransacted() throws Exception
assertNotNull(textMessage);
assertEquals(textMessage.getText(), "test");
s.commit();

ManagedConnection mc = ((HornetQRASession)s).getManagedConnection();
s.close();
mc.destroy();
}

public void testMultipleSessionsThrowsException() throws Exception
Expand All @@ -192,7 +202,10 @@ public void testMultipleSessionsThrowsException() throws Exception
{
assertTrue(e.getLinkedException() instanceof IllegalStateException);
}

ManagedConnection mc = ((HornetQRASession)s).getManagedConnection();
s.close();
mc.destroy();
}

public void testConnectionCredentials() throws Exception
Expand All @@ -206,10 +219,19 @@ public void testConnectionCredentials() throws Exception
mcf.setResourceAdapter(resourceAdapter);
HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

ManagedConnection mc = ((HornetQRASession)session).getManagedConnection();
queueConnection.close();
mc.destroy();

queueConnection = qraConnectionFactory.createQueueConnection("testuser", "testpassword");
queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

mc = ((HornetQRASession)session).getManagedConnection();
queueConnection.close();
mc.destroy();

}

public void testConnectionCredentialsFail() throws Exception
Expand All @@ -223,8 +245,12 @@ public void testConnectionCredentialsFail() throws Exception
mcf.setResourceAdapter(resourceAdapter);
HornetQRAConnectionFactory qraConnectionFactory = new HornetQRAConnectionFactoryImpl(mcf, qraConnectionManager);
QueueConnection queueConnection = qraConnectionFactory.createQueueConnection();
queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE).close();
QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

ManagedConnection mc = ((HornetQRASession)session).getManagedConnection();
queueConnection.close();
mc.destroy();

queueConnection = qraConnectionFactory.createQueueConnection("testuser", "testwrongpassword");
try
{
Expand Down

0 comments on commit 44b0f25

Please sign in to comment.