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


Java ClientSession.createTemporaryQueue方法代码示例

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


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

示例1: testRouteToSingleTemporaryQueue

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testRouteToSingleTemporaryQueue() throws Exception {
   ClientSession sendSession = cf.createSession(false, true, true);
   sendSession.createTemporaryQueue(addressA, queueA);
   int numMessages = 300;
   ClientProducer p = sendSession.createProducer(addressA);
   for (int i = 0; i < numMessages; i++) {
      p.send(sendSession.createMessage(false));
   }
   ClientSession session = cf.createSession(false, true, true);
   ClientConsumer c1 = session.createConsumer(queueA);
   session.start();
   for (int i = 0; i < numMessages; i++) {
      ClientMessage m = c1.receive(5000);
      Assert.assertNotNull(m);
      m.acknowledge();
   }
   Assert.assertNull(c1.receiveImmediate());
   sendSession.close();
   session.close();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:22,代码来源:RoutingTest.java

示例2: testStompProtocolManagerLeak

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
@BMRules(
   rules = {@BMRule(
      name = "StompProtocolManager Leak Server Rule",
      targetClass = "org.apache.activemq.artemis.core.protocol.stomp.StompProtocolManager",
      targetMethod = "onNotification(org.apache.activemq.artemis.core.server.management.Notification)",
      targetLocation = "EXIT",
      helper = "org.apache.activemq.artemis.tests.extras.byteman.StompInternalStateTest",
      action = "verifyBindingAddRemove($1, $0.destinations)")})
public void testStompProtocolManagerLeak() throws Exception {
   ClientSession session = null;
   try {
      assertNull(resultTestStompProtocolManagerLeak);
      ServerLocator locator = createNettyNonHALocator();
      ClientSessionFactory factory = createSessionFactory(locator);
      session = factory.createSession();
      session.createTemporaryQueue(STOMP_QUEUE_NAME, STOMP_QUEUE_NAME);
      session.deleteQueue(STOMP_QUEUE_NAME);

      assertNull(resultTestStompProtocolManagerLeak);
   } finally {
      if (session != null) {
         session.close();
      }
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:27,代码来源:StompInternalStateTest.java

示例3: createSubscription

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
public ClientSession createSubscription(String subscriptionName, boolean durable) {
   ClientSession session = null;
   try {
      session = sessionFactory.createSession();

      if (durable) {
         session.createQueue(destination, subscriptionName, true);
      } else {
         session.createTemporaryQueue(destination, subscriptionName);
      }
      return session;
   } catch (ActiveMQException e) {
      throw new RuntimeException(e);
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:16,代码来源:PushSubscriptionsResource.java

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

示例5: testTwoRequests

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

   ClientSessionFactory sf = createSessionFactory(locator);
   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));

   request = session.createMessage(false);
   request.putLongProperty(key, value + 1);

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

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

示例6: testClose

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

   ClientSessionFactory sf = createSessionFactory(locator);
   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));

   final 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));

   request = session.createMessage(false);
   request.putLongProperty(key, value + 1);

   requestor.close();

   ActiveMQAction activeMQAction = new ActiveMQAction() {
      @Override
      public void run() throws Exception {
         requestor.request(session.createMessage(false), 500);
      }
   };

   ActiveMQTestBase.expectActiveMQException("can not send a request on a closed ClientRequestor", ActiveMQExceptionType.OBJECT_CLOSED, activeMQAction);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:40,代码来源:RequestorTest.java

示例7: testTemporaryTrue

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testTemporaryTrue() throws Exception {
   ClientSession session = createSessionFactory(locator).createSession(false, true, true);
   session.createTemporaryQueue(address, queueName);
   Binding binding = server.getPostOffice().getBinding(queueName);
   Queue q = (Queue) binding.getBindable();
   Assert.assertTrue(q.isTemporary());

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

示例8: testSendToTempQueueFromAnotherClusterNode

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
/**
 * https://jira.jboss.org/jira/browse/HORNETQ-286
 *
 * the test checks that the temp queue is properly propagated to the cluster
 * (assuming we wait for the bindings)
 */
@Test
public void testSendToTempQueueFromAnotherClusterNode() throws Exception {
   setupCluster();

   startServers(0, 1);

   setupSessionFactory(0, isNetty());
   setupSessionFactory(1, isNetty());

   String tempAddress = "queues.tempaddress";
   String tempQueue = "tempqueue";
   // create temp queue on node #0
   ClientSession session = sfs[0].createSession(false, true, true);
   session.createTemporaryQueue(tempAddress, tempQueue);
   ClientConsumer consumer = session.createConsumer(tempQueue);

   // check the binding is created on node #1
   waitForBindings(1, tempAddress, 1, 1, false);

   // send to the temp address on node #1
   send(1, tempAddress, 10, false, null);

   session.start();

   // check consumer bound to node #0 receives from the temp queue
   for (int j = 0; j < 10; j++) {
      ClientMessage message = consumer.receive(5000);
      if (message == null) {
         Assert.assertNotNull("consumer did not receive message on temp queue " + j, message);
      }
      message.acknowledge();
   }

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

示例9: testDuplicateIDCacheMemoryRetention

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
public void testDuplicateIDCacheMemoryRetention(boolean temporary) throws Exception {
   final int TEST_SIZE = 100;

   locator = createInVMNonHALocator().setBlockOnNonDurableSend(true);

   sf = createSessionFactory(locator);

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

   session.start();

   Assert.assertEquals(0, ((PostOfficeImpl) server.getPostOffice()).getDuplicateIDCaches().size());

   final SimpleString addressName = new SimpleString("DuplicateDetectionTestAddress");

   for (int i = 0; i < TEST_SIZE; i++) {
      final SimpleString queueName = new SimpleString("DuplicateDetectionTestQueue_" + i);

      if (temporary) {
         session.createTemporaryQueue(addressName, queueName, null);
      } else {
         session.createQueue(addressName, queueName, null, true);
      }

      ClientProducer producer = session.createProducer(addressName);

      ClientConsumer consumer = session.createConsumer(queueName);

      ClientMessage message = createMessage(session, 1);
      SimpleString dupID = new SimpleString("abcdefg");
      message.putBytesProperty(Message.HDR_DUPLICATE_DETECTION_ID, dupID.getData());
      producer.send(message);
      ClientMessage message2 = consumer.receive(1000);
      Assert.assertEquals(1, message2.getObjectProperty(propKey));

      message = createMessage(session, 2);
      message.putBytesProperty(Message.HDR_DUPLICATE_DETECTION_ID, dupID.getData());
      producer.send(message);
      message2 = consumer.receiveImmediate();
      Assert.assertNull(message2);

      message = createMessage(session, 3);
      message.putBytesProperty(Message.HDR_BRIDGE_DUPLICATE_ID, dupID.getData());
      producer.send(message);
      message2 = consumer.receive(1000);
      Assert.assertEquals(3, message2.getObjectProperty(propKey));

      message = createMessage(session, 4);
      message.putBytesProperty(Message.HDR_BRIDGE_DUPLICATE_ID, dupID.getData());
      producer.send(message);
      message2 = consumer.receiveImmediate();
      Assert.assertNull(message2);

      producer.close();
      consumer.close();

      // there will be 2 ID caches, one for messages using "_AMQ_DUPL_ID" and one for "_AMQ_BRIDGE_DUP"
      Assert.assertEquals(2, ((PostOfficeImpl) server.getPostOffice()).getDuplicateIDCaches().size());
      session.deleteQueue(queueName);
      Assert.assertEquals(0, ((PostOfficeImpl) server.getPostOffice()).getDuplicateIDCaches().size());
   }

   Assert.assertEquals(0, ((PostOfficeImpl) server.getPostOffice()).getDuplicateIDCaches().size());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:65,代码来源:DuplicateDetectionTest.java

示例10: testSendRegularAfterCompression

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

   ClientSessionFactory sf = createSessionFactory(locator);

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

   session.createTemporaryQueue(ADDRESS, ADDRESS);

   ClientProducer producer = session.createProducer(ADDRESS);

   int minLargeSize = locator.getMinLargeMessageSize();

   TestLargeMessageInputStream input = new TestLargeMessageInputStream(minLargeSize);
   adjustLargeCompression(true, input, 1024);

   int num = 1;
   for (int i = 0; i < num; i++) {
      ClientMessage clientFile = session.createMessage(true);
      clientFile.setBodyInputStream(input.clone());

      producer.send(clientFile);
   }

   session.start();

   //no file should be in the dir as we send it as regular
   validateNoFilesOnLargeDir();

   ClientConsumer consumer = session.createConsumer(ADDRESS);
   for (int j = 0; j < num; j++) {
      ClientMessage msg1 = consumer.receive(1000);
      Assert.assertNotNull(msg1);

      for (int i = 0; i < input.getSize(); i++) {
         byte b = msg1.getBodyBuffer().readByte();
         Assert.assertEquals("incorrect char ", input.getChar(i), b);
      }
      msg1.acknowledge();
   }

   session.commit();
   consumer.close();

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

示例11: testSendLargeAfterUnableToSendRegular

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

   //reduce the minLargeMessageSize to make the test faster
   locator.setMinLargeMessageSize(5 * 1024);
   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = addClientSession(sf.createSession(false, false, false));

   session.createTemporaryQueue(ADDRESS, ADDRESS);

   ClientProducer producer = session.createProducer(ADDRESS);

   int minLargeSize = locator.getMinLargeMessageSize();
   TestLargeMessageInputStream input = new TestLargeMessageInputStream(minLargeSize);
   input.setSize(80 * minLargeSize);
   adjustLargeCompression(false, input, 40 * minLargeSize);

   int num = 10;
   for (int i = 0; i < num; i++) {
      ClientMessage clientFile = session.createMessage(true);
      clientFile.setBodyInputStream(input.clone());

      producer.send(clientFile);
   }

   session.commit();

   session.start();

   //no file should be in the dir as we send it as regular
   validateNoFilesOnLargeDir(server.getConfiguration().getLargeMessagesDirectory(), num);

   ClientConsumer consumer = session.createConsumer(ADDRESS);
   for (int j = 0; j < num; j++) {
      ClientMessage msg1 = consumer.receive(1000);
      Assert.assertNotNull(msg1);

      for (int i = 0; i < input.getSize(); i++) {
         byte b = msg1.getBodyBuffer().readByte();
         Assert.assertEquals("incorrect char", input.getChar(i), b);
      }
      msg1.acknowledge();
   }

   session.commit();
   consumer.close();

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

示例12: doSimpleSendAfterFailover

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void doSimpleSendAfterFailover(final boolean durable, final boolean temporary) throws Exception {
   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true).setReconnectAttempts(300).setRetryInterval(100);

   sf = createSessionFactoryAndWaitForTopology(locator, 2);

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

   if (temporary) {
      session.createTemporaryQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null);
   } else {
      session.createQueue(FailoverTestBase.ADDRESS, RoutingType.MULTICAST, FailoverTestBase.ADDRESS, null, durable);
   }

   ClientProducer producer = session.createProducer(FailoverTestBase.ADDRESS);

   ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS);

   session.start();

   crash(session);

   sendMessagesSomeDurable(session, producer);

   receiveMessages(consumer);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:26,代码来源:FailoverTest.java

示例13: testRecreateConsumerOverServerFailure

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testRecreateConsumerOverServerFailure() throws Exception {
   ServerLocator serverWithReattach = createInVMNonHALocator().setReconnectAttempts(30).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();

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

示例14: testCloseConsumer

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testCloseConsumer() throws Exception {
   final int messageSize = (int) (3.5 * ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE);

   ClientSession session = null;

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

   server.start();

   ClientSessionFactory sf = addSessionFactory(createSessionFactory(locator));

   session = addClientSession(sf.createSession(false, false, false));

   session.createTemporaryQueue(ADDRESS, ADDRESS);

   ClientProducer producer = session.createProducer(ADDRESS);

   Message clientFile = createLargeClientMessageStreaming(session, messageSize, true);

   producer.send(clientFile);

   session.commit();

   session.start();

   ClientConsumer consumer = session.createConsumer(ADDRESS);
   ClientMessage msg1 = consumer.receive(1000);
   msg1.acknowledge();
   session.commit();
   Assert.assertNotNull(msg1);

   consumer.close();

   try {
      msg1.getBodyBuffer().readByte();
      Assert.fail("Exception was expected");
   } catch (final Exception ignored) {
      // empty on purpose
   }

   session.close();

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

示例15: testLargeMessageCompression

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testLargeMessageCompression() throws Exception {
   final int messageSize = (int) (3.5 * ActiveMQClient.DEFAULT_MIN_LARGE_MESSAGE_SIZE);

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

   server.start();

   ClientSessionFactory sf = createSessionFactory(locator);

   ClientSession session = addClientSession(sf.createSession(false, false, false));

   session.createTemporaryQueue(ADDRESS, ADDRESS);

   ClientProducer producer = session.createProducer(ADDRESS);

   Message clientFile = createLargeClientMessageStreaming(session, messageSize, true);

   producer.send(clientFile);

   session.commit();

   session.start();

   ClientConsumer consumer = session.createConsumer(ADDRESS);
   ClientMessage msg1 = consumer.receive(1000);
   Assert.assertNotNull(msg1);

   for (int i = 0; i < messageSize; i++) {
      byte b = msg1.getBodyBuffer().readByte();
      assertEquals("position = " + i, getSamplebyte(i), b);
   }

   msg1.acknowledge();
   session.commit();

   consumer.close();

   session.close();

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


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