当前位置: 首页>>代码示例>>Java>>正文


Java ClientSession.close方法代码示例

本文整理汇总了Java中org.apache.activemq.artemis.api.core.client.ClientSession.close方法的典型用法代码示例。如果您正苦于以下问题:Java ClientSession.close方法的具体用法?Java ClientSession.close怎么用?Java ClientSession.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.activemq.artemis.api.core.client.ClientSession的用法示例。


在下文中一共展示了ClientSession.close方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: findQueue

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Path("/{queue-name}")
public synchronized QueueResource findQueue(@PathParam("queue-name") String name) throws Exception {
   QueueResource queue = queues.get(name);
   if (queue == null) {
      String queueName = name;
      ClientSession session = manager.getSessionFactory().createSession(false, false, false);
      try {
         ClientSession.QueueQuery query = session.queueQuery(new SimpleString(queueName));
         if (!query.isExists()) {
            throw new WebApplicationException(Response.status(404).type("text/plain").entity("Queue '" + name + "' does not exist").build());
         }
         DestinationSettings queueSettings = manager.getDefaultSettings();
         boolean defaultDurable = queueSettings.isDurableSend() || query.isDurable();

         queue = createQueueResource(queueName, defaultDurable, queueSettings.getConsumerSessionTimeoutSeconds(), queueSettings.isDuplicatesAllowed());
      } finally {
         try {
            session.close();
         } catch (ActiveMQException e) {
         }
      }
   }
   return queue;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:QueueDestinationsResource.java

示例2: testProducerWithSmallWindowSizeAndLargeMessage

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testProducerWithSmallWindowSizeAndLargeMessage() throws Exception {
   final CountDownLatch latch = new CountDownLatch(1);
   server.getRemotingService().addIncomingInterceptor(new Interceptor() {
      @Override
      public boolean intercept(final Packet packet, final RemotingConnection connection) throws ActiveMQException {
         if (packet.getType() == PacketImpl.SESS_SEND) {
            latch.countDown();
         }
         return true;
      }
   });
   ServerLocator locator = createInVMNonHALocator().setConfirmationWindowSize(100);
   ClientSessionFactory cf = locator.createSessionFactory();
   ClientSession session = cf.createSession(false, true, true);
   ClientProducer producer = session.createProducer(QUEUE);
   ClientMessage message = session.createMessage(true);
   byte[] body = new byte[1000];
   message.getBodyBuffer().writeBytes(body);
   producer.send(message);
   Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
   session.close();
   locator.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:ProducerTest.java

示例3: testRollbackWithSend

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testRollbackWithSend() throws Exception {
   cf = createSessionFactory(locator);
   ClientSession clientSession = cf.createSession(false, false, true);
   clientSession.createQueue(queueName, queueName, false);
   ClientProducer cp = clientSession.createProducer(queueName);
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   Queue q = (Queue) server.getPostOffice().getBinding(new SimpleString(queueName)).getBindable();
   Assert.assertEquals(0, getMessageCount(q));
   clientSession.rollback();
   cp.send(clientSession.createMessage(false));
   cp.send(clientSession.createMessage(false));
   clientSession.commit();
   Assert.assertEquals(2, getMessageCount(q));
   clientSession.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:26,代码来源:SessionTest.java

示例4: testAsyncConsumerAck

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testAsyncConsumerAck() throws Exception {
   ActiveMQServer server = createServer(false);
   server.start();
   ServerLocator locator = createInVMNonHALocator().setBlockOnAcknowledge(true).setAckBatchSize(0);
   ClientSessionFactory cf = createSessionFactory(locator);
   ClientSession sendSession = cf.createSession(false, true, true);
   final ClientSession session = cf.createSession(false, true, true);
   sendSession.createQueue(addressA, queueA, false);
   ClientProducer cp = sendSession.createProducer(addressA);
   ClientConsumer cc = session.createConsumer(queueA);
   int numMessages = 100;
   for (int i = 0; i < numMessages; i++) {
      cp.send(sendSession.createMessage(false));
   }
   final CountDownLatch latch = new CountDownLatch(numMessages);
   session.start();
   cc.setMessageHandler(new MessageHandler() {
      @Override
      public void onMessage(final ClientMessage message) {
         try {
            message.acknowledge();
         } catch (ActiveMQException e) {
            try {
               session.close();
            } catch (ActiveMQException e1) {
               e1.printStackTrace();
            }
         }
         latch.countDown();
      }
   });
   Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
   Queue q = (Queue) server.getPostOffice().getBinding(queueA).getBindable();
   Assert.assertEquals(0, q.getDeliveringCount());
   sendSession.close();
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:39,代码来源:AcknowledgeTest.java

示例5: testRequest

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testRequest() throws Exception {
   final SimpleString key = RandomUtil.randomSimpleString();
   long value = RandomUtil.randomLong();
   SimpleString requestAddress = new SimpleString("AdTest");
   SimpleString requestQueue = RandomUtil.randomSimpleString();

   final ClientSession session = sf.createSession(false, true, true);

   session.start();

   session.createTemporaryQueue(requestAddress, requestQueue);

   ClientConsumer requestConsumer = session.createConsumer(requestQueue);
   requestConsumer.setMessageHandler(new SimpleMessageHandler(key, session));

   ClientRequestor requestor = new ClientRequestor(session, requestAddress);
   ClientMessage request = session.createMessage(false);
   request.putLongProperty(key, value);

   ClientMessage reply = requestor.request(request, 500);
   Assert.assertNotNull("reply was not received", reply);
   Assert.assertEquals(value, reply.getObjectProperty(key));

   Thread.sleep(5000);
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:28,代码来源:RequestorTest.java

示例6: testAsyncConsumerRollback

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testAsyncConsumerRollback() throws Exception {
   ActiveMQServer server = createServer(false);
   server.start();
   ServerLocator locator = createInVMNonHALocator().setBlockOnAcknowledge(true).setAckBatchSize(0);
   ClientSessionFactory cf = createSessionFactory(locator);
   ClientSession sendSession = cf.createSession(false, true, true);
   final ClientSession session = cf.createSession(false, true, false);
   sendSession.createQueue(addressA, queueA, false);
   ClientProducer cp = sendSession.createProducer(addressA);
   ClientConsumer cc = session.createConsumer(queueA);
   int numMessages = 100;
   for (int i = 0; i < numMessages; i++) {
      cp.send(sendSession.createMessage(false));
   }
   CountDownLatch latch = new CountDownLatch(numMessages);
   session.start();
   cc.setMessageHandler(new ackHandler(session, latch));
   Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
   Queue q = (Queue) server.getPostOffice().getBinding(queueA).getBindable();
   Assert.assertEquals(numMessages, q.getDeliveringCount());
   Assert.assertEquals(numMessages, getMessageCount(q));
   session.stop();
   session.rollback();
   Assert.assertEquals(0, q.getDeliveringCount());
   Assert.assertEquals(numMessages, getMessageCount(q));
   latch = new CountDownLatch(numMessages);
   cc.setMessageHandler(new ackHandler(session, latch));
   session.start();
   Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
   sendSession.close();
   session.close();
   cf.close();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:36,代码来源:CommitRollbackTest.java

示例7: main

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
public static void main(final String[] args) throws Exception {
   if (args.length != 2) {
      throw new Exception("require 2 arguments: queue name + message text");
   }
   String queueName = args[0];
   String messageText = args[1];

   try {
      ServerLocator locator = ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName()));
      ClientSessionFactory sf = locator.createSessionFactory();
      ClientSession session = sf.createSession(false, true, true);
      ClientProducer producer = session.createProducer(queueName);
      ClientConsumer consumer = session.createConsumer(queueName);

      ClientMessage message = session.createMessage(ActiveMQTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte) 1);
      message.getBodyBuffer().writeString(messageText);
      producer.send(message);

      session.start();

      // block in receiving for 5 secs, we won't receive anything
      consumer.receive(5000);

      // this should silence any non-daemon thread and allow for graceful exit
      session.close();
      System.exit(0);
   } catch (Throwable t) {
      GracefulClient.log.error(t.getMessage(), t);
      System.exit(1);
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:32,代码来源:GracefulClient.java

示例8: testMessageAttributes

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testMessageAttributes() throws Exception {

   ClientSession session = basicSetUp();

   session.createQueue(QUEUE_NAME, RoutingType.MULTICAST, QUEUE_NAME, true);

   ClientProducer producer = session.createProducer(QUEUE_NAME);

   ClientMessage msg = session.createMessage(Message.BYTES_TYPE, true);
   msg.setExpiration(Long.MAX_VALUE);
   msg.setPriority((byte) 0);
   msg.setTimestamp(Long.MAX_VALUE - 1);
   msg.setUserID(UUIDGenerator.getInstance().generateUUID());
   producer.send(msg);

   session.close();
   locator.close();
   server.stop();

   ByteArrayOutputStream xmlOutputStream = new ByteArrayOutputStream();
   XmlDataExporter xmlDataExporter = new XmlDataExporter();
   xmlDataExporter.process(xmlOutputStream, server.getConfiguration().getBindingsDirectory(), server.getConfiguration().getJournalDirectory(), server.getConfiguration().getPagingDirectory(), server.getConfiguration().getLargeMessagesDirectory());
   System.out.print(new String(xmlOutputStream.toByteArray()));

   clearDataRecreateServerDirs();
   server.start();
   checkForLongs();
   locator = createInVMNonHALocator();
   factory = createSessionFactory(locator);
   session = factory.createSession(false, true, true);

   ByteArrayInputStream xmlInputStream = new ByteArrayInputStream(xmlOutputStream.toByteArray());
   XmlDataImporter xmlDataImporter = new XmlDataImporter();
   xmlDataImporter.validate(xmlInputStream);
   xmlInputStream.reset();
   xmlDataImporter.process(xmlInputStream, session);
   ClientConsumer consumer = session.createConsumer(QUEUE_NAME);
   session.start();

   msg = consumer.receive(CONSUMER_TIMEOUT);
   assertEquals(Long.MAX_VALUE, msg.getExpiration());
   assertEquals((byte) 0, msg.getPriority());
   assertEquals(Long.MAX_VALUE - 1, msg.getTimestamp());
   assertNotNull(msg.getUserID());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:47,代码来源:XmlImportExportTest.java

示例9: testLargeJmsTextMessage

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testLargeJmsTextMessage() throws Exception {
   basicSetUp();
   ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactory("vm://0", "test");
   Connection c = cf.createConnection();
   Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
   server.createQueue(SimpleString.toSimpleString("A"), RoutingType.ANYCAST, SimpleString.toSimpleString("A"), null, true, false);
   MessageProducer p = s.createProducer(ActiveMQJMSClient.createQueue("A"));
   p.setDeliveryMode(DeliveryMode.PERSISTENT);
   StringBuilder stringBuilder = new StringBuilder();
   for (int i = 0; i < 1024 * 200; i++) {
      stringBuilder.append(RandomUtil.randomChar());
   }
   TextMessage textMessage = s.createTextMessage(stringBuilder.toString());
   textMessage.setStringProperty("_AMQ_DUPL_ID", String.valueOf(UUID.randomUUID()));
   p.send(textMessage);
   c.close();

   locator.close();
   server.stop();

   ByteArrayOutputStream xmlOutputStream = new ByteArrayOutputStream();
   XmlDataExporter xmlDataExporter = new XmlDataExporter();
   xmlDataExporter.process(xmlOutputStream, server.getConfiguration().getBindingsDirectory(), server.getConfiguration().getJournalDirectory(), server.getConfiguration().getPagingDirectory(), server.getConfiguration().getLargeMessagesDirectory());
   System.out.print(new String(xmlOutputStream.toByteArray()));

   clearDataRecreateServerDirs();
   server.start();
   checkForLongs();
   locator = createInVMNonHALocator();
   factory = createSessionFactory(locator);
   ClientSession session = factory.createSession(false, true, true);

   ByteArrayInputStream xmlInputStream = new ByteArrayInputStream(xmlOutputStream.toByteArray());
   XmlDataImporter xmlDataImporter = new XmlDataImporter();
   xmlDataImporter.validate(xmlInputStream);
   xmlInputStream.reset();
   xmlDataImporter.process(xmlInputStream, session);
   session.close();

   c = cf.createConnection();
   s = c.createSession();
   MessageConsumer mc = s.createConsumer(ActiveMQJMSClient.createQueue("A"));
   c.start();
   javax.jms.Message msg = mc.receive(CONSUMER_TIMEOUT);

   assertNotNull(msg);

   c.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:51,代码来源:XmlImportExportTest.java

示例10: setUp

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Override
@Before
public void setUp() throws Exception {
   super.setUp();

   Configuration config = createDefaultConfig(isNetty()).setJournalFileSize(10 * 1024 * 1024);

   server = createServer(IS_JOURNAL, config, -1, -1, new HashMap<String, AddressSettings>());

   server.start();

   ServerLocator locator = createFactory(isNetty());

   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = sf.createSession();

   session.createQueue(ClientNonDivertedSoakTest.ADDRESS, ClientNonDivertedSoakTest.ADDRESS, true);

   session.close();

   sf.close();

   locator.close();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:27,代码来源:ClientNonDivertedSoakTest.java

示例11: test3LevelHierarchyWithDLA

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void test3LevelHierarchyWithDLA() throws Exception {
   ActiveMQServer server = createServer(false);

   server.start();
   AddressSettings addressSettings = new AddressSettings().setDeadLetterAddress(dlaA).setMaxDeliveryAttempts(1);
   AddressSettings addressSettings2 = new AddressSettings().setDeadLetterAddress(dlaB).setMaxDeliveryAttempts(1);
   AddressSettings addressSettings3 = new AddressSettings().setDeadLetterAddress(dlaC).setMaxDeliveryAttempts(1);
   HierarchicalRepository<AddressSettings> repos = server.getAddressSettingsRepository();
   repos.addMatch(addressA2.toString(), addressSettings);
   repos.addMatch("add.*", addressSettings2);
   repos.addMatch("#", addressSettings3);
   ServerLocator locator = createInVMNonHALocator();
   ClientSessionFactory sf = createSessionFactory(locator);
   ClientSession session = sf.createSession(false, true, false);
   session.createQueue(addressA2, queueA, false);
   session.createQueue(addressB2, queueB, false);
   session.createQueue(addressC, queueC, false);
   session.createQueue(dlaA, dlqA, false);
   session.createQueue(dlaB, dlqB, false);
   session.createQueue(dlaC, dlqC, false);
   ClientSession sendSession = sf.createSession(false, true, true);
   ClientMessage cm = sendSession.createMessage(true);
   cm.getBodyBuffer().writeString("A");
   ClientMessage cm2 = sendSession.createMessage(true);
   cm2.getBodyBuffer().writeString("B");
   ClientMessage cm3 = sendSession.createMessage(true);
   cm3.getBodyBuffer().writeString("C");
   ClientProducer cp1 = sendSession.createProducer(addressA2);
   ClientProducer cp2 = sendSession.createProducer(addressB2);
   ClientProducer cp3 = sendSession.createProducer(addressC);
   cp1.send(cm);
   cp2.send(cm2);
   cp3.send(cm3);

   ClientConsumer dlqARec = session.createConsumer(dlqA);
   ClientConsumer dlqBrec = session.createConsumer(dlqB);
   ClientConsumer dlqCrec = session.createConsumer(dlqC);
   ClientConsumer cc1 = session.createConsumer(queueA);
   ClientConsumer cc2 = session.createConsumer(queueB);
   ClientConsumer cc3 = session.createConsumer(queueC);
   session.start();
   ClientMessage message = cc1.receive(5000);
   Assert.assertNotNull(message);
   message.acknowledge();
   message = cc2.receive(5000);
   Assert.assertNotNull(message);
   message.acknowledge();
   message = cc3.receive(5000);
   Assert.assertNotNull(message);
   message.acknowledge();
   session.rollback();
   cc1.close();
   cc2.close();
   cc3.close();
   message = dlqARec.receive(5000);
   Assert.assertNotNull(message);
   Assert.assertEquals("A", message.getBodyBuffer().readString());
   message = dlqBrec.receive(5000);
   Assert.assertNotNull(message);
   Assert.assertEquals("B", message.getBodyBuffer().readString());
   message = dlqCrec.receive(5000);
   Assert.assertNotNull(message);
   Assert.assertEquals("C", message.getBodyBuffer().readString());
   sendSession.close();
   session.close();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:69,代码来源:AddressSettingsTest.java

示例12: testScheduledMessagesDeliveredCorrectly

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
public void testScheduledMessagesDeliveredCorrectly(final boolean recover) throws Exception {

      ClientSessionFactory sessionFactory = createSessionFactory(locator);
      ClientSession session = sessionFactory.createSession(false, true, false);
      session.createQueue(atestq, atestq, null, true);
      ClientProducer producer = session.createProducer(atestq);
      ClientMessage m1 = createDurableMessage(session, "m1");
      ClientMessage m2 = createDurableMessage(session, "m2");
      ClientMessage m3 = createDurableMessage(session, "m3");
      ClientMessage m4 = createDurableMessage(session, "m4");
      ClientMessage m5 = createDurableMessage(session, "m5");
      long time = System.currentTimeMillis();
      time += 10000;
      m1.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m1);
      time += 1000;
      m2.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m2);
      time += 1000;
      m3.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m3);
      time += 1000;
      m4.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m4);
      time += 1000;
      m5.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
      producer.send(m5);
      time -= 4000;
      if (recover) {
         producer.close();
         session.close();
         server.stop();
         server = null;
         server = createServer(true, configuration);
         server.start();

         sessionFactory = createSessionFactory(locator);

         session = sessionFactory.createSession(false, true, true);
      }

      ClientConsumer consumer = session.createConsumer(atestq);

      session.start();

      ClientMessage message = consumer.receive(11000);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m1", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m2", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m3", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m4", message.getBodyBuffer().readString());
      message.acknowledge();
      time += 1000;
      message = consumer.receive(1250);
      Assert.assertTrue(System.currentTimeMillis() >= time);
      Assert.assertEquals("m5", message.getBodyBuffer().readString());
      message.acknowledge();

      // Make sure no more messages
      consumer.close();
      consumer = session.createConsumer(atestq);
      Assert.assertNull(consumer.receiveImmediate());

      session.close();
   }
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:78,代码来源:ScheduledMessageTest.java

示例13: testProduceAndConsume

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testProduceAndConsume() throws Throwable {
   int numberOfConsumers = 5;
   // this test assumes numberOfConsumers == numberOfProducers
   int numberOfProducers = numberOfConsumers;
   int produceMessage = 10000;
   int commitIntervalProduce = 100;
   int consumeMessage = (int) (produceMessage * 0.9);
   int commitIntervalConsume = 100;

   ClientSession session = sf.createSession(false, false);
   session.createQueue("compact", "compact-queue", true);

   ClientProducer producer = session.createProducer("compact");

   for (int i = 0; i < 100; i++) {
      producer.send(session.createMessage(true));
   }

   session.commit();

   // Number of messages expected to be received after restart
   int numberOfMessagesExpected = (produceMessage - consumeMessage) * numberOfConsumers;

   CountDownLatch latchReady = new CountDownLatch(numberOfConsumers + numberOfProducers);

   CountDownLatch latchStart = new CountDownLatch(1);

   ArrayList<BaseThread> threads = new ArrayList<>();

   ProducerThread[] prod = new ProducerThread[numberOfProducers];
   for (int i = 0; i < numberOfProducers; i++) {
      prod[i] = new ProducerThread(i, latchReady, latchStart, produceMessage, commitIntervalProduce);
      prod[i].start();
      threads.add(prod[i]);
   }

   ConsumerThread[] cons = new ConsumerThread[numberOfConsumers];

   for (int i = 0; i < numberOfConsumers; i++) {
      cons[i] = new ConsumerThread(i, latchReady, latchStart, consumeMessage, commitIntervalConsume);
      cons[i].start();
      threads.add(cons[i]);
   }

   ActiveMQTestBase.waitForLatch(latchReady);
   latchStart.countDown();

   for (BaseThread t : threads) {
      t.join();
      if (t.e != null) {
         throw t.e;
      }
   }

   server.stop();

   setupServer(JournalType.NIO);

   ClientSession sess = sf.createSession(true, true);

   ClientConsumer consumer = sess.createConsumer(QUEUE);

   sess.start();

   for (int i = 0; i < numberOfMessagesExpected; i++) {
      ClientMessage msg = consumer.receive(5000);
      Assert.assertNotNull(msg);

      if (i % 1000 == 0) {
         System.out.println("Received #" + i + "  on thread before end");
      }
      msg.acknowledge();
   }

   Assert.assertNull(consumer.receiveImmediate());

   sess.close();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:81,代码来源:MultiThreadConsumerStressTest.java

示例14: testConsumerBrowserMessagesArentAcked

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void testConsumerBrowserMessagesArentAcked(final boolean preACK) throws Exception {
   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = sf.createSession(null, null, false, true, true, preACK, 0);

   session.createQueue(QUEUE, QUEUE, null, false);

   ClientProducer producer = session.createProducer(QUEUE);

   final int numMessages = 100;

   for (int i = 0; i < numMessages; i++) {
      ClientMessage message = createTextMessage(session, "m" + i);
      producer.send(message);
   }

   ClientConsumer consumer = session.createConsumer(QUEUE, null, true);

   for (int i = 0; i < numMessages; i++) {
      ClientMessage message2 = consumer.receive(1000);

      Assert.assertEquals("m" + i, message2.getBodyBuffer().readString());
   }
   // assert that all the messages are there and none have been acked
   Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(QUEUE).getBindable()).getDeliveringCount());
   Assert.assertEquals(100, getMessageCount(((Queue) server.getPostOffice().getBinding(QUEUE).getBindable())));

   session.close();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:31,代码来源:QueueBrowserTest.java

示例15: scaleDownDelay

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void scaleDownDelay() throws Exception {
   createSessionFactory();

   ClientSession session = createSession(sf, true, true);

   session.createQueue(ADDRESS, ADDRESS, null, true);

   ClientProducer producer = session.createProducer(ADDRESS);

   //send enough messages to ensure that when the client fails over scaledown hasn't complete
   sendMessages(session, producer, 1000);

   crash(session);

   ClientConsumer consumer = session.createConsumer(ADDRESS);

   session.start();

   receiveDurableMessages(consumer);

   session.close();

   sf.close();

   Assert.assertEquals(0, sf.numSessions());

   Assert.assertEquals(0, sf.numConnections());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:30,代码来源:LiveToLiveFailoverTest.java


注:本文中的org.apache.activemq.artemis.api.core.client.ClientSession.close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。