本文整理汇总了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));
}
示例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));
}
示例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));
}
示例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();
}
示例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());
}
}
示例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));
}