conn = qraConnectionFactory.createConnection("IDont", "Exist"); fail("Exception was expected"); } catch (JMSSecurityException expected) { conn = qraConnectionFactory.createConnection("testuser", "testpassword"); conn.close(); XAConnection xaconn = qraConnectionFactory.createXAConnection("IDont", "Exist"); fail("Exception was expected"); } catch (JMSSecurityException expected) { XAConnection xaconn = qraConnectionFactory.createXAConnection("testuser", "testpassword"); xaconn.close(); TopicConnection topicconn = qraConnectionFactory.createTopicConnection("IDont", "Exist"); fail("Exception was expected"); } catch (JMSSecurityException expected) { TopicConnection topicconn = qraConnectionFactory.createTopicConnection("testuser", "testpassword"); topicconn.close(); QueueConnection queueconn = qraConnectionFactory.createQueueConnection("IDont", "Exist"); fail("Exception was expected"); } catch (JMSSecurityException expected) { QueueConnection queueconn = qraConnectionFactory.createQueueConnection("testuser", "testpassword"); queueconn.close();
@Test public void sessionTransactedTestNoActiveJTATx() throws Exception { try { qraConnectionFactory.createContext(JMSContext.SESSION_TRANSACTED); fail("Exception expected"); } catch (JMSRuntimeException ignored) { } }
@Test public void testCreateXAContextThrowsException() throws Exception { JMSContext jmsctx = qraConnectionFactory.createXAContext(); try { jmsctx.createContext(JMSContext.AUTO_ACKNOWLEDGE); fail("expected JMSRuntimeException"); } catch (JMSRuntimeException e) { //pass } catch (Exception e) { fail("wrong exception thrown: " + e); } }
@Test public void testQueueSessionAckMode() throws Exception { QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); Session s = queueConnection.createSession(false, Session.SESSION_TRANSACTED); s.close(); }
@Test public void testOutgoingXAResourceWrapper() throws Exception { XAQueueConnection queueConnection = qraConnectionFactory.createXAQueueConnection(); XASession s = queueConnection.createXASession(); XAResource resource = s.getXAResource(); assertTrue(resource instanceof ActiveMQXAResourceWrapper); ActiveMQXAResourceWrapperImpl xaResourceWrapper = (ActiveMQXAResourceWrapperImpl) resource; assertTrue(xaResourceWrapper.getJndiName().equals("java://jmsXA NodeId:" + server.getNodeID())); assertTrue(xaResourceWrapper.getProductVersion().equals(VersionLoader.getVersion().getFullVersion())); assertTrue(xaResourceWrapper.getProductName().equals(ActiveMQResourceAdapter.PRODUCT_NAME)); }
@Test public void testSimpleSendNoXAJMS1() throws Exception { Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); try (ClientSessionFactory sf = locator.createSessionFactory(); ClientSession session = sf.createSession(); ClientConsumer consVerify = session.createConsumer(MDBQUEUE); Connection conn = qraConnectionFactory.createConnection(); ) { Session jmsSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); session.start(); MessageProducer producer = jmsSess.createProducer(q); // These next 4 lines could be written in a single line however it makes difficult for debugging TextMessage msgsend = jmsSess.createTextMessage("hello"); msgsend.setStringProperty("strvalue", "hello"); producer.send(msgsend); ClientMessage msg = consVerify.receive(1000); assertNotNull(msg); assertEquals("hello", msg.getStringProperty("strvalue")); } }
@Test public void testSimpleMessageSendAndReceive() throws Exception { QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); Session s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); MessageProducer mp = s.createProducer(q); MessageConsumer consumer = s.createConsumer(q); Message message = s.createTextMessage("test"); mp.send(message); queueConnection.start(); TextMessage textMessage = (TextMessage) consumer.receive(1000); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); }
@Test public void testSimpleMessageSendAndReceiveXA() throws Exception { Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes()); XAQueueConnection queueConnection = qraConnectionFactory.createXAQueueConnection(); XASession s = queueConnection.createXASession(); XAResource resource = s.getXAResource(); resource.start(xid, XAResource.TMNOFLAGS); Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); MessageProducer mp = s.createProducer(q); MessageConsumer consumer = s.createConsumer(q); Message message = s.createTextMessage("test"); mp.send(message); queueConnection.start(); TextMessage textMessage = (TextMessage) consumer.receiveNoWait(); assertNull(textMessage); resource.end(xid, XAResource.TMSUCCESS); resource.commit(xid, true); resource.start(xid, XAResource.TMNOFLAGS); textMessage = (TextMessage) consumer.receiveNoWait(); resource.end(xid, XAResource.TMSUCCESS); resource.commit(xid, true); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); // When I wrote this call, this method was doing an infinite loop. // this is just to avoid such thing again textMessage.getJMSDeliveryTime(); }
@Test public void testSimpleSendNoXAJMS1() throws Exception { Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); try (ClientSessionFactory sf = locator.createSessionFactory(); ClientSession session = sf.createSession(); ClientConsumer consVerify = session.createConsumer(MDBQUEUE); Connection conn = qraConnectionFactory.createConnection(); ) { Session jmsSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); session.start(); MessageProducer producer = jmsSess.createProducer(q); // These next 4 lines could be written in a single line however it makes difficult for debugging TextMessage msgsend = jmsSess.createTextMessage("hello"); msgsend.setStringProperty("strvalue", "hello"); producer.send(msgsend); ClientMessage msg = consVerify.receive(1000); assertNotNull(msg); assertEquals("hello", msg.getStringProperty("strvalue")); } } }
@Test public void testSimpleMessageSendAndReceive() throws Exception { QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); Session s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); MessageProducer mp = s.createProducer(q); MessageConsumer consumer = s.createConsumer(q); Message message = s.createTextMessage("test"); mp.send(message); queueConnection.start(); TextMessage textMessage = (TextMessage) consumer.receive(1000); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); }
@Test public void clientAckTestActiveJTATx() throws Exception { try { qraConnectionFactory.createContext(JMSContext.CLIENT_ACKNOWLEDGE); fail(); } catch (JMSRuntimeException e) { //pass } }
@Test public void testConnectionCredentials() throws Exception { resourceAdapter = newResourceAdapter(); MyBootstrapContext ctx = new MyBootstrapContext(); resourceAdapter.start(ctx); ActiveMQRAManagedConnectionFactory mcf = new ActiveMQRAManagedConnectionFactory(); mcf.setResourceAdapter(resourceAdapter); ActiveMQRAConnectionFactory qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); queueConnection = qraConnectionFactory.createQueueConnection("testuser", "testpassword"); session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); }
@Test public void sessionTransactedTestActiveJTATx() throws Exception { try { qraConnectionFactory.createContext(JMSContext.SESSION_TRANSACTED); fail(); } catch (JMSRuntimeException e) { //pass } }
ActiveMQRAConnectionFactory qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); Session s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); sessions.add(s); queueConnection = qraConnectionFactory.createQueueConnection(); s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); sessions.add(s);
@Test public void sessionNotTransactedTestNoActiveJTATx() throws Exception { JMSContext context = qraConnectionFactory.createContext(JMSContext.AUTO_ACKNOWLEDGE); assertEquals(context.getSessionMode(), JMSContext.AUTO_ACKNOWLEDGE); }
@Test public void testSimpleMessageSendAndReceiveTransacted() throws Exception { setDummyTX(); setupDLQ(10); resourceAdapter = newResourceAdapter(); MyBootstrapContext ctx = new MyBootstrapContext(); resourceAdapter.start(ctx); ActiveMQRAManagedConnectionFactory mcf = new ActiveMQRAManagedConnectionFactory(); mcf.setResourceAdapter(resourceAdapter); ActiveMQRAConnectionFactory qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); Session s = queueConnection.createSession(true, Session.AUTO_ACKNOWLEDGE); Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); MessageProducer mp = s.createProducer(q); MessageConsumer consumer = s.createConsumer(q); Message message = s.createTextMessage("test"); mp.send(message); s.commit(); queueConnection.start(); TextMessage textMessage = (TextMessage) consumer.receive(1000); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); s.rollback(); textMessage = (TextMessage) consumer.receive(1000); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); s.commit(); }
@Test public void testCreateContextThrowsException() throws Exception { JMSContext jmsctx = qraConnectionFactory.createContext(); try { jmsctx.createContext(JMSContext.AUTO_ACKNOWLEDGE); fail("expected JMSRuntimeException"); } catch (JMSRuntimeException e) { //pass } catch (Exception e) { fail("wrong exception thrown: " + e); } }
private void testSendAndReceive(Boolean ignoreJTA) throws Exception { setDummyTX(); setupDLQ(10); resourceAdapter = newResourceAdapter(); if (ignoreJTA != null) { resourceAdapter.setIgnoreJTA(ignoreJTA); } MyBootstrapContext ctx = new MyBootstrapContext(); resourceAdapter.start(ctx); ActiveMQRAManagedConnectionFactory mcf = new ActiveMQRAManagedConnectionFactory(); mcf.setResourceAdapter(resourceAdapter); ActiveMQRAConnectionFactory qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); Session s = queueConnection.createSession(true, Session.AUTO_ACKNOWLEDGE); Queue q = ActiveMQJMSClient.createQueue(MDBQUEUE); MessageProducer mp = s.createProducer(q); MessageConsumer consumer = s.createConsumer(q); Message message = s.createTextMessage("test"); mp.send(message); s.commit(); queueConnection.start(); TextMessage textMessage = (TextMessage) consumer.receive(1000); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); s.rollback(); textMessage = (TextMessage) consumer.receive(1000); assertNotNull(textMessage); assertEquals(textMessage.getText(), "test"); s.commit(); }
@Test public void clientAckTestNoActiveJTATx() throws Exception { ((DummyTransactionManager) ServiceUtils.getTransactionManager()).tx = new DummyTransaction(); JMSContext context = qraConnectionFactory.createContext(JMSContext.CLIENT_ACKNOWLEDGE); assertEquals(context.getSessionMode(), JMSContext.AUTO_ACKNOWLEDGE); }
ActiveMQRAConnectionFactory qraConnectionFactory = new ActiveMQRAConnectionFactoryImpl(mcf, qraConnectionManager); QueueConnection queueConnection = qraConnectionFactory.createQueueConnection(); s = queueConnection.createSession(false, Session.AUTO_ACKNOWLEDGE); mc = (ActiveMQRAManagedConnection) ((ActiveMQRASession) s).getManagedConnection(); QueueConnection queueConnection2 = qraConnectionFactory.createQueueConnection(); s2 = queueConnection2.createSession(false, Session.AUTO_ACKNOWLEDGE); mc2 = (ActiveMQRAManagedConnection) ((ActiveMQRASession) s2).getManagedConnection();