本文整理汇总了Java中org.apache.activemq.artemis.api.core.client.ClientMessage.putLongProperty方法的典型用法代码示例。如果您正苦于以下问题:Java ClientMessage.putLongProperty方法的具体用法?Java ClientMessage.putLongProperty怎么用?Java ClientMessage.putLongProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.activemq.artemis.api.core.client.ClientMessage
的用法示例。
在下文中一共展示了ClientMessage.putLongProperty方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Override
public void run() {
super.run();
while (running) {
try {
beginTX();
for (int i = 0; i < 1000; i++) {
ClientMessage msg = session.createMessage(true);
msg.putLongProperty("count", pendingMsgs + msgs);
msg.getBodyBuffer().writeBytes(new byte[10 * 1024]);
producer.send(msg);
pendingMsgs++;
}
endTX();
} catch (Exception e) {
connect();
}
}
}
示例2: testRequest
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的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();
}
示例3: testTwoRequests
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的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();
}
示例4: testGetScheduledCount
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testGetScheduledCount() throws Exception {
long delay = 500;
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
session.createQueue(address, queue, null, false);
QueueControl queueControl = createManagementControl(address, queue);
Assert.assertEquals(0, queueControl.getScheduledCount());
ClientProducer producer = session.createProducer(address);
ClientMessage message = session.createMessage(false);
message.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, System.currentTimeMillis() + delay);
producer.send(message);
long timeout = System.currentTimeMillis() + 5000;
while (timeout > System.currentTimeMillis() && queueControl.getScheduledCount() != 1) {
Thread.sleep(100);
}
Assert.assertEquals(1, queueControl.getScheduledCount());
consumeMessages(0, session, queue);
Thread.sleep(delay * 2);
Assert.assertEquals(0, queueControl.getScheduledCount());
consumeMessages(1, session, queue);
session.deleteQueue(queue);
}
示例5: testListScheduledMessages
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testListScheduledMessages() throws Exception {
long delay = 2000;
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
int intValue = RandomUtil.randomInt();
session.createQueue(address, queue, null, false);
QueueControl queueControl = createManagementControl(address, queue);
ClientProducer producer = session.createProducer(address);
ClientMessage message = session.createMessage(false);
message.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, System.currentTimeMillis() + delay);
message.putIntProperty(new SimpleString("key"), intValue);
producer.send(message);
// unscheduled message
producer.send(session.createMessage(false));
Map<String, Object>[] messages = queueControl.listScheduledMessages();
Assert.assertEquals(1, messages.length);
Assert.assertEquals(intValue, Integer.parseInt((messages[0].get("key")).toString()));
Thread.sleep(delay + 500);
messages = queueControl.listScheduledMessages();
Assert.assertEquals(0, messages.length);
consumeMessages(2, session, queue);
session.deleteQueue(queue);
}
示例6: testListMessagesWithFilter
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testListMessagesWithFilter() throws Exception {
SimpleString key = new SimpleString("key");
long matchingValue = RandomUtil.randomLong();
long unmatchingValue = matchingValue + 1;
String filter = key + " =" + matchingValue;
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
session.createQueue(address, queue, null, false);
QueueControl queueControl = createManagementControl(address, queue);
ClientProducer producer = session.createProducer(address);
ClientMessage matchingMessage = session.createMessage(false);
matchingMessage.putLongProperty(key, matchingValue);
producer.send(matchingMessage);
ClientMessage unmatchingMessage = session.createMessage(false);
unmatchingMessage.putLongProperty(key, unmatchingValue);
producer.send(unmatchingMessage);
Map<String, Object>[] messages = queueControl.listMessages(filter);
Assert.assertEquals(1, messages.length);
Assert.assertEquals(matchingValue, Long.parseLong(messages[0].get("key").toString()));
consumeMessages(2, session, queue);
messages = queueControl.listMessages(filter);
Assert.assertEquals(0, messages.length);
session.deleteQueue(queue);
}
示例7: testClose
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的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);
}
示例8: testMoveMessagesToUnknownQueue
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testMoveMessagesToUnknownQueue() throws Exception {
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
SimpleString unknownQueue = RandomUtil.randomSimpleString();
session.createQueue(address, queue, null, false);
ClientProducer producer = session.createProducer(address);
// send on queue
ClientMessage message = session.createMessage(false);
SimpleString key = RandomUtil.randomSimpleString();
long value = RandomUtil.randomLong();
message.putLongProperty(key, value);
producer.send(message);
QueueControl queueControl = createManagementControl(address, queue);
Assert.assertEquals(1, getMessageCount(queueControl));
// moved all messages to unknown queue
try {
queueControl.moveMessages(null, unknownQueue.toString());
Assert.fail("operation must fail if the other queue does not exist");
} catch (Exception e) {
}
Assert.assertEquals(1, getMessageCount(queueControl));
consumeMessages(1, session, queue);
session.deleteQueue(queue);
}
示例9: onMessage
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Override
public void onMessage(final ClientMessage request) {
try {
ClientMessage reply = session.createMessage(false);
SimpleString replyTo = (SimpleString) request.getObjectProperty(ClientMessageImpl.REPLYTO_HEADER_NAME);
long value = (Long) request.getObjectProperty(key);
reply.putLongProperty(key, value);
ClientProducer replyProducer = session.createProducer(replyTo);
replyProducer.send(reply);
request.acknowledge();
} catch (ActiveMQException e) {
e.printStackTrace();
}
}
示例10: testRemoveScheduledMessage
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testRemoveScheduledMessage() throws Exception {
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
session.createQueue(address, queue, null, false);
ClientProducer producer = session.createProducer(address);
// send 2 messages on queue, both scheduled
long timeout = System.currentTimeMillis() + 5000;
ClientMessage m1 = session.createMessage(true);
m1.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, timeout);
producer.send(m1);
ClientMessage m2 = session.createMessage(true);
m2.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, timeout);
producer.send(m2);
QueueControl queueControl = createManagementControl(address, queue);
Assert.assertEquals(2, queueControl.getScheduledCount());
// the message IDs are set on the server
Map<String, Object>[] messages = queueControl.listScheduledMessages();
Assert.assertEquals(2, messages.length);
long messageID = (Long) messages[0].get("messageID");
// delete 1st message
boolean deleted = queueControl.removeMessage(messageID);
Assert.assertTrue(deleted);
Assert.assertEquals(1, queueControl.getScheduledCount());
// check there is a single message to consume from queue
while (timeout > System.currentTimeMillis() && queueControl.getScheduledCount() == 1) {
Thread.sleep(100);
}
consumeMessages(1, session, queue);
session.deleteQueue(queue);
}
示例11: testCountMessagesWithFilter
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testCountMessagesWithFilter() throws Exception {
SimpleString key = new SimpleString("key");
long matchingValue = RandomUtil.randomLong();
long unmatchingValue = matchingValue + 1;
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
session.createQueue(address, queue, null, false);
ClientProducer producer = session.createProducer(address);
// send on queue
ClientMessage matchingMessage = session.createMessage(false);
matchingMessage.putLongProperty(key, matchingValue);
ClientMessage unmatchingMessage = session.createMessage(false);
unmatchingMessage.putLongProperty(key, unmatchingValue);
producer.send(matchingMessage);
producer.send(unmatchingMessage);
producer.send(matchingMessage);
QueueControl queueControl = createManagementControl(address, queue);
Assert.assertEquals(3, getMessageCount(queueControl));
Assert.assertEquals(2, queueControl.countMessages(key + " =" + matchingValue));
Assert.assertEquals(1, queueControl.countMessages(key + " =" + unmatchingValue));
session.deleteQueue(queue);
}
示例12: testManyRequestsOverBlocked
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testManyRequestsOverBlocked() throws Exception {
final SimpleString key = RandomUtil.randomSimpleString();
long value = RandomUtil.randomLong();
AddressSettings settings = new AddressSettings().setAddressFullMessagePolicy(AddressFullMessagePolicy.BLOCK).setMaxSizeBytes(1024);
server.getAddressSettingsRepository().addMatch("#", settings);
SimpleString requestAddress = new SimpleString("RequestAddress");
SimpleString requestQueue = new SimpleString("RequestAddress Queue");
final ClientSession sessionRequest = sf.createSession(false, true, true);
sessionRequest.createQueue(requestAddress, requestQueue);
sessionRequest.start();
ClientConsumer requestConsumer = sessionRequest.createConsumer(requestQueue);
requestConsumer.setMessageHandler(new SimpleMessageHandler(key, sessionRequest));
for (int i = 0; i < 2000; i++) {
if (i % 100 == 0) {
System.out.println(i);
}
final ClientSession session = sf.createSession(false, true, true);
session.start();
ClientRequestor requestor = new ClientRequestor(session, requestAddress);
ClientMessage request = session.createMessage(false);
request.putLongProperty(key, value);
ClientMessage reply = requestor.request(request, 5000);
Assert.assertNotNull("reply was not received", reply);
reply.acknowledge();
Assert.assertEquals(value, reply.getObjectProperty(key));
requestor.close();
session.close();
}
sessionRequest.close();
}
示例13: testScheduledMessagesDeliveredCorrectly
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的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();
}
示例14: testScheduledMessagesDeliveredCorrectlyDifferentOrder
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public void testScheduledMessagesDeliveredCorrectlyDifferentOrder(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 += 3000;
m2.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
producer.send(m2);
time -= 2000;
m3.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
producer.send(m3);
time += 3000;
m4.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
producer.send(m4);
time -= 2000;
m5.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
producer.send(m5);
time -= 2000;
ClientConsumer consumer = null;
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);
}
consumer = session.createConsumer(atestq);
session.start();
ClientMessage message = consumer.receive(10250);
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("m3", message.getBodyBuffer().readString());
message.acknowledge();
time += 1000;
message = consumer.receive(1250);
Assert.assertTrue(System.currentTimeMillis() >= time);
Assert.assertEquals("m5", 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("m4", message.getBodyBuffer().readString());
message.acknowledge();
// Make sure no more messages
consumer.close();
consumer = session.createConsumer(atestq);
Assert.assertNull(consumer.receiveImmediate());
session.close();
}
示例15: testScheduledAndNormalMessagesDeliveredCorrectly
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public void testScheduledAndNormalMessagesDeliveredCorrectly(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);
producer.send(m2);
time += 1000;
m3.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
producer.send(m3);
producer.send(m4);
time += 1000;
m5.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME, time);
producer.send(m5);
time -= 2000;
ClientConsumer consumer = null;
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);
}
consumer = session.createConsumer(atestq);
session.start();
ClientMessage message = consumer.receive(1000);
Assert.assertEquals("m2", message.getBodyBuffer().readString());
message.acknowledge();
message = consumer.receive(1000);
Assert.assertEquals("m4", message.getBodyBuffer().readString());
message.acknowledge();
message = consumer.receive(10250);
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("m3", 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();
}