@Test(timeout = 30000) public void testSessionUnsubscribePassthrough() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory("failover:(mock://localhost)"); Connection connection = factory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); session.unsubscribe("some-subscription"); connection.close(); assertEquals(1, mockPeer.getContextStats().getUnsubscribeCalls()); }
@Test(timeout = 30000) public void testSessionLifeCyclePassthrough() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory("failover:(mock://localhost)"); Connection connection = factory.createConnection(); connection.start(); connection.createSession(false, Session.AUTO_ACKNOWLEDGE).close(); connection.close(); assertEquals(1, mockPeer.getContextStats().getCreateResourceCalls(JmsSessionInfo.class)); assertEquals(1, mockPeer.getContextStats().getDestroyResourceCalls(JmsSessionInfo.class)); }
@Test(timeout = 30000) public void testFailureOnCloseIsSwallowed() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory("failover:(mock://localhost?mock.failOnClose=true)"); Connection connection = factory.createConnection(); connection.start(); connection.close(); assertEquals(1, mockPeer.getContextStats().getProvidersCreated()); assertEquals(1, mockPeer.getContextStats().getConnectionAttempts()); assertEquals(1, mockPeer.getContextStats().getCloseAttempts()); }
@Test(timeout = 30000) public void testProducerLifeCyclePassthrough() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory("failover:(mock://localhost)"); Connection connection = factory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createTopic(_testName.getMethodName()); session.createProducer(destination).close(); connection.close(); assertEquals(1, mockPeer.getContextStats().getCreateResourceCalls(JmsProducerInfo.class)); assertEquals(1, mockPeer.getContextStats().getDestroyResourceCalls(JmsProducerInfo.class)); }
@Test(timeout = 30000) public void testSendMessagePassthrough() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory("failover:(mock://localhost)"); Connection connection = factory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE); Queue queue = session.createQueue(getTestName()); MessageProducer producer = session.createProducer(queue); producer.send(session.createMessage()); connection.close(); assertEquals(1, mockPeer.getContextStats().getSendCalls()); }
@Test(timeout = 30000) public void testMaxReconnectAttempts() throws Exception { JmsConnectionFactory factory = new JmsConnectionFactory( "failover:(mock://localhost?mock.failOnConnect=true)" + "?failover.maxReconnectAttempts=5" + "&failover.useReconnectBackOff=false"); Connection connection = factory.createConnection(); try { connection.start(); fail("Should have stopped after five retries."); } catch (JMSException ex) { } finally { connection.close(); } assertEquals(5, mockPeer.getContextStats().getProvidersCreated()); assertEquals(5, mockPeer.getContextStats().getConnectionAttempts()); assertEquals(5, mockPeer.getContextStats().getCloseAttempts()); }