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


Java ClientSession.createAddress方法代码示例

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


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

示例1: testAnycastMessageRoutingExclusivity

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testAnycastMessageRoutingExclusivity() throws Exception {
   ClientSession sendSession = cf.createSession(false, true, true);
   Set<RoutingType> routingTypes = new HashSet<>();
   routingTypes.add(RoutingType.ANYCAST);
   routingTypes.add(RoutingType.MULTICAST);
   sendSession.createAddress(addressA, routingTypes, false);
   sendSession.createQueue(addressA, RoutingType.ANYCAST, queueA);
   sendSession.createQueue(addressA, RoutingType.ANYCAST, queueB);
   sendSession.createQueue(addressA, RoutingType.MULTICAST, queueC);
   ClientProducer p = sendSession.createProducer(addressA);
   ClientMessage message = sendSession.createMessage(false);
   message.setRoutingType(RoutingType.ANYCAST);
   p.send(message);
   sendSession.close();
   assertTrue(Wait.waitFor(() -> server.locateQueue(queueA).getMessageCount() + server.locateQueue(queueB).getMessageCount() == 1));
   assertTrue(Wait.waitFor(() -> server.locateQueue(queueC).getMessageCount() == 0));
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:19,代码来源:RoutingTest.java

示例2: testMulticastMessageRoutingExclusivity

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testMulticastMessageRoutingExclusivity() throws Exception {
   ClientSession sendSession = cf.createSession(false, true, true);
   Set<RoutingType> routingTypes = new HashSet<>();
   routingTypes.add(RoutingType.ANYCAST);
   routingTypes.add(RoutingType.MULTICAST);
   sendSession.createAddress(addressA, routingTypes, false);
   sendSession.createQueue(addressA, RoutingType.ANYCAST, queueA);
   sendSession.createQueue(addressA, RoutingType.MULTICAST, queueB);
   sendSession.createQueue(addressA, RoutingType.MULTICAST, queueC);
   ClientProducer p = sendSession.createProducer(addressA);
   ClientMessage message = sendSession.createMessage(false);
   message.setRoutingType(RoutingType.MULTICAST);
   p.send(message);
   sendSession.close();
   assertTrue(Wait.waitFor(() -> server.locateQueue(queueA).getMessageCount() == 0));
   assertTrue(Wait.waitFor(() -> server.locateQueue(queueB).getMessageCount() + server.locateQueue(queueC).getMessageCount() == 2));
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:19,代码来源:RoutingTest.java

示例3: testAmbiguousMessageRouting

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testAmbiguousMessageRouting() throws Exception {
   ClientSession sendSession = cf.createSession(false, true, true);
   Set<RoutingType> routingTypes = new HashSet<>();
   routingTypes.add(RoutingType.ANYCAST);
   routingTypes.add(RoutingType.MULTICAST);
   sendSession.createAddress(addressA, routingTypes, false);
   sendSession.createQueue(addressA, RoutingType.ANYCAST, queueA);
   sendSession.createQueue(addressA, RoutingType.ANYCAST, queueB);
   sendSession.createQueue(addressA, RoutingType.MULTICAST, queueC);
   sendSession.createQueue(addressA, RoutingType.MULTICAST, queueD);
   ClientProducer p = sendSession.createProducer(addressA);
   ClientMessage message = sendSession.createMessage(false);
   p.send(message);
   sendSession.close();

   assertTrue(Wait.waitFor(() -> server.locateQueue(queueA).getMessageCount() + server.locateQueue(queueB).getMessageCount() == 1));
   assertTrue(Wait.waitFor(() -> server.locateQueue(queueC).getMessageCount() + server.locateQueue(queueD).getMessageCount() == 2));
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:20,代码来源:RoutingTest.java

示例4: sendMessages

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
private void sendMessages() throws Exception {
   ClientSession session = sf.createSession(true, true);

   String filter = null;
   session.createAddress(SimpleString.toSimpleString(ADDRESS), RoutingType.MULTICAST, false);
   session.createQueue(ADDRESS, RoutingType.MULTICAST, ADDRESS, filter, true);
   ClientProducer producer = session.createProducer(ADDRESS);

   for (int i = 0; i < numMessages; i++) {
      ClientMessage message = session.createMessage(true);
      setBody(i, message);
      message.putIntProperty("int", i);
      message.putShortProperty("short", (short) i);
      message.putByteProperty("byte", (byte) i);
      message.putFloatProperty("float", floatValue(i));
      message.putStringProperty(SIMPLE_STRING_KEY, new SimpleString(Integer.toString(i)));
      message.putBytesProperty("byte[]", byteArray(i));
      message.putObjectProperty("null-value", null);
      producer.send(message);
   }
   session.commit();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:23,代码来源:MessagePropertyTest.java

示例5: createJmsTopic

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@POST
@Consumes("application/activemq.jms.topic+xml")
public Response createJmsTopic(@Context UriInfo uriInfo, Document document) {
   ActiveMQRestLogger.LOGGER.debug("Handling POST request for \"" + uriInfo.getPath() + "\"");

   try {
      TopicConfiguration topic = FileJMSConfiguration.parseTopicConfiguration(document.getDocumentElement());
      ActiveMQTopic activeMQTopic = ActiveMQDestination.createTopic(topic.getName());
      String topicName = activeMQTopic.getAddress();
      ClientSession session = manager.getSessionFactory().createSession(false, false, false);
      try {

         ClientSession.AddressQuery query = session.addressQuery(new SimpleString(topicName));
         if (!query.isExists()) {
            session.createAddress(SimpleString.toSimpleString(topicName), RoutingType.MULTICAST, true);

         } else {
            throw new WebApplicationException(Response.status(412).type("text/plain").entity("Queue already exists.").build());
         }
      } finally {
         try {
            session.close();
         } catch (Exception ignored) {
         }
      }
      URI uri = uriInfo.getRequestUriBuilder().path(topicName).build();
      return Response.created(uri).build();
   } catch (Exception e) {
      if (e instanceof WebApplicationException)
         throw (WebApplicationException) e;
      throw new WebApplicationException(e, Response.serverError().type("text/plain").entity("Failed to create queue.").build());
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:34,代码来源:TopicDestinationsResource.java

示例6: testRoutingTypes

import org.apache.activemq.artemis.api.core.client.ClientSession; //导入方法依赖的package包/类
@Test
public void testRoutingTypes() throws Exception {
   SimpleString myAddress = SimpleString.toSimpleString("myAddress");
   ClientSession session = basicSetUp();

   Set<RoutingType> routingTypes = new HashSet<>();
   routingTypes.add(RoutingType.ANYCAST);
   routingTypes.add(RoutingType.MULTICAST);

   session.createAddress(myAddress, routingTypes, false);

   session.createQueue(myAddress.toString(), RoutingType.MULTICAST, "myQueue1", true);
   session.createQueue(myAddress.toString(), RoutingType.MULTICAST, "myQueue2", true);

   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 = locator.createSessionFactory();
   session = factory.createSession(false, false, true);
   ClientSession managementSession = factory.createSession(false, true, true);

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

   assertTrue(server.getAddressInfo(myAddress).getRoutingTypes().contains(RoutingType.ANYCAST));
   assertTrue(server.getAddressInfo(myAddress).getRoutingTypes().contains(RoutingType.MULTICAST));
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:40,代码来源:XmlImportExportTest.java


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