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


Java ClientSession.stop方法代码示例

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


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

示例1: checkUserReceiveNoSend

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void checkUserReceiveNoSend(final String queue,
                                    final ClientSession connection,
                                    final ClientSession sendingConn) throws Exception {
   connection.start();
   try {
      ClientProducer prod = connection.createProducer(queue);
      ClientMessage m = connection.createMessage(false);
      try {
         prod.send(m);
         Assert.fail("should throw exception");
      } catch (ActiveMQException e) {
         // pass
      }

      prod = sendingConn.createProducer(queue);
      prod.send(m);
      ClientConsumer con = connection.createConsumer(queue);
      ClientMessage rec = con.receive(1000);
      Assert.assertNotNull(rec);
      rec.acknowledge();
   } finally {
      connection.stop();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:SecurityTest.java

示例2: checkUserSendAndReceive

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void checkUserSendAndReceive(final String genericQueueName,
                                     final ClientSession connection) throws Exception {
   connection.start();
   try {
      ClientProducer prod = connection.createProducer(genericQueueName);
      ClientConsumer con = connection.createConsumer(genericQueueName);
      ClientMessage m = connection.createMessage(false);
      prod.send(m);
      ClientMessage rec = con.receive(1000);
      Assert.assertNotNull(rec);
      rec.acknowledge();
   } finally {
      connection.stop();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:16,代码来源:SecurityTest.java

示例3: testStop

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testStop() throws Exception {
   cf = createSessionFactory(locator);
   ClientSession clientSession = cf.createSession(false, true, true);
   clientSession.createQueue(queueName, queueName, false);
   clientSession.start();
   clientSession.stop();
   clientSession.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:10,代码来源:SessionTest.java

示例4: 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

示例5: testStopStartMultipleConsumers

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testStopStartMultipleConsumers() throws Exception {
   locator.setConsumerWindowSize(getMessageEncodeSize(QUEUE) * 33);
   ClientSessionFactory sf = createSessionFactory(locator);

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

   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);
      message.putIntProperty(new SimpleString("i"), i);
      producer.send(message);
   }

   ClientConsumer consumer = session.createConsumer(QUEUE);
   ClientConsumer consumer2 = session.createConsumer(QUEUE);
   ClientConsumer consumer3 = session.createConsumer(QUEUE);

   session.start();

   ClientMessage cm = consumer.receive(5000);
   Assert.assertNotNull(cm);
   cm.acknowledge();
   cm = consumer2.receive(5000);
   Assert.assertNotNull(cm);
   cm.acknowledge();
   cm = consumer3.receive(5000);
   Assert.assertNotNull(cm);
   cm.acknowledge();

   session.stop();
   cm = consumer.receiveImmediate();
   Assert.assertNull(cm);
   cm = consumer2.receiveImmediate();
   Assert.assertNull(cm);
   cm = consumer3.receiveImmediate();
   Assert.assertNull(cm);

   session.start();
   cm = consumer.receive(5000);
   Assert.assertNotNull(cm);
   cm = consumer2.receive(5000);
   Assert.assertNotNull(cm);
   cm = consumer3.receive(5000);
   Assert.assertNotNull(cm);
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:53,代码来源:SessionStopStartTest.java

示例6: testDedeliveryMessageOnPersistent

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
protected void testDedeliveryMessageOnPersistent(final boolean strictUpdate) throws Exception {
   setUp(strictUpdate);
   ClientSession session = factory.createSession(false, false, false);

   RedeliveryConsumerTest.log.info("created");

   ClientProducer prod = session.createProducer(ADDRESS);
   prod.send(createTextMessage(session, "Hello"));
   session.commit();
   session.close();

   session = factory.createSession(false, false, false);
   session.start();
   ClientConsumer consumer = session.createConsumer(ADDRESS);

   ClientMessage msg = consumer.receive(1000);
   Assert.assertEquals(1, msg.getDeliveryCount());
   session.stop();

   // if strictUpdate == true, this will simulate a crash, where the server is stopped without closing/rolling back
   // the session, but the delivery count still persisted, so the final delivery count is 2 too.
   if (!strictUpdate) {
      // If non Strict, at least rollback/cancel should still update the delivery-counts
      session.rollback(true);

      session.close();
   }

   server.stop();

   // once the server is stopped, we close the session
   // to clean up its client resources
   session.close();

   server.start();

   factory = createSessionFactory(locator);

   session = factory.createSession(false, true, false);
   session.start();
   consumer = session.createConsumer(ADDRESS);
   msg = consumer.receive(1000);
   Assert.assertNotNull(msg);
   Assert.assertEquals(strictUpdate ? 2 : 2, msg.getDeliveryCount());
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:47,代码来源:RedeliveryConsumerTest.java

示例7: doTestN

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
protected void doTestN(final ClientSessionFactory sf, final int threadNum) throws Exception {
   ClientSession sessCreate = sf.createSession(false, true, true);

   sessCreate.createQueue(MultiThreadRandomReattachTestBase.ADDRESS, new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString()), (SimpleString) null, false);

   ClientSession sess = sf.createSession(false, true, true);
   sess.addMetaData("data", RandomUtil.randomString());

   sess.stop();

   sess.start();

   sess.stop();

   ClientConsumer consumer = sess.createConsumer(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString()));

   ClientProducer producer = sess.createProducer(MultiThreadRandomReattachTestBase.ADDRESS);

   ClientMessage message = sess.createMessage(ActiveMQTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte) 1);
   producer.send(message);

   sess.start();

   ClientMessage message2 = consumer.receive(MultiThreadRandomReattachTestBase.RECEIVE_TIMEOUT);

   Assert.assertNotNull(message2);

   message2.acknowledge();

   sess.stop();

   sess.start();

   sess.close();

   sessCreate.deleteQueue(new SimpleString(threadNum + MultiThreadRandomReattachTestBase.ADDRESS.toString()));

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

示例8: doTestN

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
protected void doTestN(final ClientSessionFactory sf) throws Exception {
   ClientSession sessCreate = sf.createSession(false, true, true);

   sessCreate.createQueue(RandomReattachTest.ADDRESS, new SimpleString(RandomReattachTest.ADDRESS.toString()), null, false);

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

   sess.stop();

   sess.start();

   sess.stop();

   ClientConsumer consumer = sess.createConsumer(new SimpleString(RandomReattachTest.ADDRESS.toString()));

   ClientProducer producer = sess.createProducer(RandomReattachTest.ADDRESS);

   ClientMessage message = sess.createMessage(ActiveMQTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte) 1);
   producer.send(message);

   sess.start();

   ClientMessage message2 = consumer.receive(RandomReattachTest.RECEIVE_TIMEOUT);

   Assert.assertNotNull(message2);

   message2.acknowledge();

   sess.stop();

   sess.start();

   sess.close();

   sessCreate.deleteQueue(new SimpleString(RandomReattachTest.ADDRESS.toString()));

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

示例9: testTwoBindingsTwoStartedConsumers

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testTwoBindingsTwoStartedConsumers() throws Exception {
   // there are two bindings.. one is ACKed, the other is not, the server is restarted
   // The other binding is acked... The file must be deleted

   ActiveMQServer server = createServer(true, isNetty(), storeType);

   server.start();

   SimpleString[] queue = new SimpleString[]{new SimpleString("queue1"), new SimpleString("queue2")};

   ClientSessionFactory sf = addSessionFactory(createSessionFactory(locator));

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

   session.createQueue(ADDRESS, queue[0], null, true);
   session.createQueue(ADDRESS, queue[1], null, true);

   int numberOfBytes = 400000;

   Message clientFile = createLargeClientMessageStreaming(session, numberOfBytes);

   ClientProducer producer = session.createProducer(ADDRESS);

   session.start();

   producer.send(clientFile);

   producer.close();

   ClientConsumer consumer = session.createConsumer(queue[1]);
   ClientMessage msg = consumer.receive(LargeMessageTest.RECEIVE_WAIT_TIME);
   msg.getBodyBuffer().readByte();
   Assert.assertNull(consumer.receiveImmediate());
   Assert.assertNotNull(msg);

   msg.acknowledge();
   consumer.close();

   log.debug("Stopping");

   session.stop();

   ClientConsumer consumer1 = session.createConsumer(queue[0]);

   session.start();

   msg = consumer1.receive(LargeMessageTest.RECEIVE_WAIT_TIME);
   Assert.assertNotNull(msg);
   msg.acknowledge();
   consumer1.close();

   session.commit();

   session.close();

   validateNoFilesOnLargeDir();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:59,代码来源:LargeMessageTest.java


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