Here are the examples of the java api class org.apache.activemq.artemis.core.protocol.core.impl.RemotingConnectionImpl taken from open source projects.
1. TemporaryQueueTest#testRecreateConsumerOverServerFailure()
Project: activemq-artemis
File: TemporaryQueueTest.java
File: TemporaryQueueTest.java
@Test public void testRecreateConsumerOverServerFailure() throws Exception { ServerLocator serverWithReattach = createInVMNonHALocator().setReconnectAttempts(-1).setRetryInterval(1000).setConfirmationWindowSize(-1).setConnectionTTL(TemporaryQueueTest.CONNECTION_TTL).setClientFailureCheckPeriod(TemporaryQueueTest.CONNECTION_TTL / 3); ClientSessionFactory reattachSF = createSessionFactory(serverWithReattach); ClientSession session = reattachSF.createSession(false, false); session.createTemporaryQueue("tmpAd", "tmpQ"); ClientConsumer consumer = session.createConsumer("tmpQ"); ClientProducer prod = session.createProducer("tmpAd"); session.start(); RemotingConnectionImpl conn = (RemotingConnectionImpl) ((ClientSessionInternal) session).getConnection(); conn.fail(new ActiveMQIOErrorException()); prod.send(session.createMessage(false)); session.commit(); assertNotNull(consumer.receive(1000)); session.close(); reattachSF.close(); serverWithReattach.close(); }
2. TemporaryQueueTest#testDeleteTemporaryQueueAfterConnectionIsClosed()
Project: activemq-artemis
File: TemporaryQueueTest.java
File: TemporaryQueueTest.java
@Test public void testDeleteTemporaryQueueAfterConnectionIsClosed() throws Exception { SimpleString queue = RandomUtil.randomSimpleString(); SimpleString address = RandomUtil.randomSimpleString(); session.createTemporaryQueue(address, queue); RemotingConnectionImpl conn = (RemotingConnectionImpl) server.getRemotingService().getConnections().iterator().next(); final CountDownLatch latch = new CountDownLatch(1); conn.addCloseListener(new CloseListener() { @Override public void connectionClosed() { latch.countDown(); } }); session.close(); sf.close(); // wait for the closing listeners to be fired assertTrue("connection close listeners not fired", latch.await(2 * TemporaryQueueTest.CONNECTION_TTL, TimeUnit.MILLISECONDS)); sf = addSessionFactory(createSessionFactory(locator)); session = sf.createSession(false, true, true); session.start(); try { session.createConsumer(queue); fail("temp queue must not exist after the remoting connection is closed"); } catch (ActiveMQNonExistentQueueException neqe) { } catch (ActiveMQException e) { fail("Invalid Exception type:" + e.getType()); } session.close(); }
3. ConsumerStuckTest#testClientStuckTestWithDirectDelivery()
Project: activemq-artemis
File: ConsumerStuckTest.java
File: ConsumerStuckTest.java
@Test public void testClientStuckTestWithDirectDelivery() throws Exception { ServerLocator locator = createNettyNonHALocator().setConnectionTTL(1000).setClientFailureCheckPeriod(100).setConsumerWindowSize(10 * 1024 * 1024).setCallTimeout(1000); ClientSessionFactory sf = locator.createSessionFactory(); ((ClientSessionFactoryImpl) sf).stopPingingAfterOne(); RemotingConnectionImpl remotingConnection = (RemotingConnectionImpl) sf.getConnection(); ClientSession session = sf.createSession(false, true, true, true); session.createQueue(QUEUE, QUEUE, null, false); final int numMessages = 10000; final ClientConsumer consumer = session.createConsumer(QUEUE); session.start(); final NettyConnection nettyConnection = (NettyConnection) remotingConnection.getTransportConnection(); Thread tReceive = new Thread() { @Override public void run() { boolean first = true; try { while (!Thread.interrupted()) { ClientMessage received = consumer.receive(500); System.out.println("Received " + received); if (first) { first = false; nettyConnection.getNettyChannel().config().setAutoRead(false); } if (received != null) { received.acknowledge(); } } } catch (Throwable e) { Thread.currentThread().interrupt(); e.printStackTrace(); } } }; tReceive.start(); Thread sender = new Thread() { @Override public void run() { try (ServerLocator locator = createNettyNonHALocator(); ClientSessionFactory factory = locator.createSessionFactory(); ClientSession session = factory.createSession(false, true, true, true); ClientProducer producer = session.createProducer(QUEUE)) { for (int i = 0; i < numMessages; i++) { ClientMessage message = createTextMessage(session, "m" + i); producer.send(message); } } catch (Exception e) { e.printStackTrace(); } } }; sender.start(); try { long timeout = System.currentTimeMillis() + 20000; while (System.currentTimeMillis() < timeout && server.getSessions().size() != 2) { Thread.sleep(10); } assertEquals(2, server.getSessions().size()); System.out.println("sessions = " + server.getSessions().size()); assertEquals(2, server.getConnectionCount()); timeout = System.currentTimeMillis() + 20000; while (System.currentTimeMillis() < timeout && server.getSessions().size() != 1) { Thread.sleep(10); } System.out.println("Size = " + server.getConnectionCount()); System.out.println("sessions = " + server.getSessions().size()); if (server.getSessions().size() != 1) { System.out.println(threadDump("Thread dump")); fail("The cleanup wasn't able to finish cleaning the session. It's probably stuck, look at the thread dump generated by the test for more information"); } sender.join(); timeout = System.currentTimeMillis() + 20000; while (System.currentTimeMillis() < timeout && server.getConnectionCount() != 0) { Thread.sleep(10); } assertEquals(0, server.getConnectionCount()); } finally { nettyConnection.getNettyChannel().config().setAutoRead(true); tReceive.interrupt(); tReceive.join(); } }
4. ConsumerStuckTest#testClientStuckTest()
Project: activemq-artemis
File: ConsumerStuckTest.java
File: ConsumerStuckTest.java
@Test public void testClientStuckTest() throws Exception { ServerLocator locator = createNettyNonHALocator().setConnectionTTL(1000).setClientFailureCheckPeriod(100).setConsumerWindowSize(10 * 1024 * 1024).setCallTimeout(1000); ClientSessionFactory sf = locator.createSessionFactory(); ((ClientSessionFactoryImpl) sf).stopPingingAfterOne(); RemotingConnectionImpl remotingConnection = (RemotingConnectionImpl) sf.getConnection(); ClientSession session = sf.createSession(false, true, true, true); session.createQueue(QUEUE, QUEUE, null, false); ClientProducer producer = session.createProducer(QUEUE); final int numMessages = 10000; for (int i = 0; i < numMessages; i++) { ClientMessage message = createTextMessage(session, "m" + i); producer.send(message); } final ClientConsumer consumer = session.createConsumer(QUEUE); session.start(); final NettyConnection nettyConnection = (NettyConnection) remotingConnection.getTransportConnection(); Thread tReceive = new Thread() { @Override public void run() { boolean first = true; try { while (!Thread.interrupted()) { ClientMessage received = consumer.receive(500); System.out.println("Received " + received); if (first) { first = false; nettyConnection.getNettyChannel().config().setAutoRead(false); } if (received != null) { received.acknowledge(); } } } catch (Throwable e) { Thread.currentThread().interrupt(); e.printStackTrace(); } } }; tReceive.start(); try { assertEquals(1, server.getSessions().size()); System.out.println("sessions = " + server.getSessions().size()); assertEquals(1, server.getConnectionCount()); long timeout = System.currentTimeMillis() + 20000; long timeStart = System.currentTimeMillis(); while (timeout > System.currentTimeMillis() && (server.getSessions().size() != 0 || server.getConnectionCount() != 0)) { Thread.sleep(10); } System.out.println("Time = " + System.currentTimeMillis() + " time diff = " + (System.currentTimeMillis() - timeStart) + ", connections Size = " + server.getConnectionCount() + " sessions = " + server.getSessions().size()); if (server.getSessions().size() != 0) { System.out.println(threadDump("Thread dump")); fail("The cleanup wasn't able to finish cleaning the session. It's probably stuck, look at the thread dump generated by the test for more information"); } System.out.println("Size = " + server.getConnectionCount()); System.out.println("sessions = " + server.getSessions().size()); if (server.getSessions().size() != 0) { System.out.println(threadDump("Thread dump")); fail("The cleanup wasn't able to finish cleaning the session. It's probably stuck, look at the thread dump generated by the test for more information"); } assertEquals(0, server.getConnectionCount()); } finally { nettyConnection.getNettyChannel().config().setAutoRead(true); tReceive.interrupt(); tReceive.join(); } }