本文整理汇总了Java中org.apache.activemq.artemis.api.core.client.ClientMessage类的典型用法代码示例。如果您正苦于以下问题:Java ClientMessage类的具体用法?Java ClientMessage怎么用?Java ClientMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClientMessage类属于org.apache.activemq.artemis.api.core.client包,在下文中一共展示了ClientMessage类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: queueMessage
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Override
public ArtemisMessage queueMessage(QMessageType t) {
requireNonNull(t, "message type");
Function<Boolean, ClientMessage> create = session::createMessage;
Function<Boolean, ArtemisMessage> builder =
create.andThen(ArtemisMessage::new); // (2)
switch (t) {
case Durable:
return builder.apply(true);
case NonDurable:
return builder.apply(false);
default: // (1)
throw new IllegalArgumentException("unsupported message type");
}
}
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:17,代码来源:ArtemisQConnector.java
示例2: initMocks
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
protected void initMocks() throws ActiveMQException {
CoreQueueConfiguration q = new CoreQueueConfiguration();
q.setName("q");
ClientSession sesh = mock(ClientSession.class);
producer = mock(ClientProducer.class);
when(sesh.createProducer(q.getAddress())).thenReturn(producer);
msgToQueue = mock(ClientMessage.class);
boolean durable = true;
when(sesh.createMessage(durable)).thenReturn(msgToQueue);
msgBody = mock(ActiveMQBuffer.class);
when(msgToQueue.getBodyBuffer()).thenReturn(msgBody);
connector = new ArtemisQConnector(q, sesh);
}
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:18,代码来源:BaseSendTest.java
示例3: sendMessages
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
public void sendMessages(final int start, final int end) throws Exception {
try (ClientSession session = factory.createSession(false, false)) {
try {
session.createQueue(QUEUE, QUEUE, true);
} catch (Exception ignored) {
}
ClientProducer prod = session.createProducer(QUEUE);
for (int i = start; i < end; i++) {
ClientMessage msg = session.createMessage(true);
msg.putIntProperty(new SimpleString("key"), i);
msg.getBodyBuffer().writeUTF("message " + i);
prod.send(msg);
}
session.commit();
session.close();
// server.stop(); -- this test was not supposed to stop the server, it should crash
}
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:23,代码来源:JournalCrashTest.java
示例4: tearDown
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@After
public void tearDown() throws Exception {
assertNotNull(String.format(ASSERT_SENT_FORMAT, TEST_QUEUE_ONE), sentOne);
assertNotNull(String.format(ASSERT_SENT_FORMAT, TEST_QUEUE_TWO), sentTwo);
Wait.waitFor(new Wait.Condition() {
@Override
public boolean isSatisfied() throws Exception {
return server.getMessageCount(TEST_QUEUE_ONE) == 1 && server.getMessageCount(TEST_QUEUE_TWO) == 1;
}
}, 5000, 100);
assertEquals(String.format(ASSERT_COUNT_FORMAT, TEST_QUEUE_ONE), 1, server.getMessageCount(TEST_QUEUE_ONE));
assertEquals(String.format(ASSERT_COUNT_FORMAT, TEST_QUEUE_TWO), 1, server.getMessageCount(TEST_QUEUE_TWO));
ClientMessage receivedOne = server.receiveMessage(TEST_QUEUE_ONE);
assertNotNull(String.format(ASSERT_RECEIVED_FORMAT, TEST_QUEUE_ONE), receivedOne);
ClientMessage receivedTwo = server.receiveMessage(TEST_QUEUE_TWO);
assertNotNull(String.format(ASSERT_RECEIVED_FORMAT, TEST_QUEUE_TWO), receivedTwo);
server.stop();
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:22,代码来源:ActiveMQDynamicProducerResourceTest.java
示例5: testClientOutgoingInterceptorRejectPacketOnBlockingSend
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Test
public void testClientOutgoingInterceptorRejectPacketOnBlockingSend() throws Exception {
// must make the call block to exercise the right logic
locator.setBlockOnNonDurableSend(true);
ClientSessionFactory sf = createSessionFactory(locator);
MyOutgoingInterceptor4 interceptor = new MyOutgoingInterceptor4();
sf.getServerLocator().addOutgoingInterceptor(interceptor);
ClientSession session = sf.createSession(false, true, true, true);
session.createQueue(QUEUE, QUEUE, null, false);
ClientProducer producer = session.createProducer(QUEUE);
ClientMessage message = session.createMessage(false);
try {
producer.send(message);
Assert.fail();
} catch (ActiveMQException e) {
// expected exception
Assert.assertTrue(e.getType().getCode() == ActiveMQExceptionType.INTERCEPTOR_REJECTED_PACKET.getCode());
}
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:27,代码来源:InterceptorTest.java
示例6: initMocks
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
protected void initMocks() throws ActiveMQException {
ImportQConfig q = new ImportQConfig();
q.setName("q");
ClientSession sesh = mock(ClientSession.class);
producer = mock(ClientProducer.class);
when(sesh.createProducer(q.getAddress())).thenReturn(producer);
msgToQueue = mock(ClientMessage.class);
boolean durable = true;
when(sesh.createMessage(durable)).thenReturn(msgToQueue);
msgBody = mock(ActiveMQBuffer.class);
when(msgToQueue.getBodyBuffer()).thenReturn(msgBody);
connector = new QueueConnector(q, sesh);
}
开发者ID:c0c0n3,项目名称:ome-smuggler,代码行数:18,代码来源:BaseSendTest.java
示例7: testXAInterleaveResourceSuspendWorkCommit
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Test
public void testXAInterleaveResourceSuspendWorkCommit() throws Exception {
Xid xid = newXID();
Xid xid2 = newXID();
ClientProducer clientProducer = clientSession.createProducer(atestq);
ClientSession recSession = sessionFactory.createSession();
recSession.start();
ClientConsumer clientConsumer = recSession.createConsumer(atestq);
ClientMessage m1 = createTextMessage(clientSession, "m1");
ClientMessage m2 = createTextMessage(clientSession, "m2");
clientSession.start(xid, XAResource.TMNOFLAGS);
clientProducer.send(m1);
clientSession.end(xid, XAResource.TMSUSPEND);
clientSession.start(xid2, XAResource.TMNOFLAGS);
clientProducer.send(m2);
clientSession.end(xid, XAResource.TMSUCCESS);
clientSession.commit(xid, true);
ClientMessage message = clientConsumer.receiveImmediate();
assertNotNull(message);
message = clientConsumer.receiveImmediate();
assertNull(message);
clientSession.end(xid2, XAResource.TMSUCCESS);
clientSession.commit(xid2, true);
message = clientConsumer.receiveImmediate();
assertNotNull(message);
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:27,代码来源:BasicXaTest.java
示例8: checkUserReceiveNoSend
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的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
示例9: readMessages
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
private int readMessages(final ClientSession session,
final ClientConsumer consumer,
final SimpleString queue) throws ActiveMQException {
session.start();
int msgs = 0;
ClientMessage msg = null;
do {
msg = consumer.receive(1000);
if (msg != null) {
msg.acknowledge();
if (++msgs % 10000 == 0) {
System.out.println("received " + msgs);
session.commit();
}
}
}
while (msg != null);
session.commit();
return msgs;
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:PageStressTest.java
示例10: testNoReceiveWithListener
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Test
public void testNoReceiveWithListener() throws Exception {
ClientSessionFactory sf = createSessionFactory(locator);
ClientSession session = sf.createSession(false, true, true);
ClientConsumer consumer = session.createConsumer(QUEUE);
consumer.setMessageHandler(new MessageHandler() {
@Override
public void onMessage(final ClientMessage msg) {
}
});
try {
consumer.receiveImmediate();
Assert.fail("Should throw exception");
} catch (ActiveMQIllegalStateException ise) {
//ok
} catch (ActiveMQException me) {
Assert.fail("Wrong exception code");
}
session.close();
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:26,代码来源:ConsumerTest.java
示例11: testBasicSendToNoQueue
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Test
public void testBasicSendToNoQueue() throws Exception {
SimpleString qName = new SimpleString("q1");
AddressSettings addressSettings = new AddressSettings().setMaxDeliveryAttempts(1);
server.getAddressSettingsRepository().addMatch(qName.toString(), addressSettings);
clientSession.createQueue(qName, qName, null, false);
ClientProducer producer = clientSession.createProducer(qName);
producer.send(createTextMessage(clientSession, "heyho!"));
clientSession.start();
ClientConsumer clientConsumer = clientSession.createConsumer(qName);
ClientMessage m = clientConsumer.receive(500);
m.acknowledge();
Assert.assertNotNull(m);
Assert.assertEquals(m.getBodyBuffer().readString(), "heyho!");
// force a cancel
clientSession.rollback();
m = clientConsumer.receiveImmediate();
Assert.assertNull(m);
clientConsumer.close();
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:21,代码来源:DeadLetterAddressTest.java
示例12: drainQueue
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
/**
* @param numberOfMessagesExpected
* @param queue
* @throws ActiveMQException
*/
private void drainQueue(final int numberOfMessagesExpected, final SimpleString queue) throws ActiveMQException {
ClientSession sess = sf.createSession(true, true);
ClientConsumer consumer = sess.createConsumer(queue);
sess.start();
for (int i = 0; i < numberOfMessagesExpected; i++) {
ClientMessage msg = consumer.receive(5000);
Assert.assertNotNull(msg);
if (i % 100 == 0) {
// System.out.println("Received #" + i + " on thread after start");
}
msg.acknowledge();
}
Assert.assertNull(consumer.receiveImmediate());
sess.close();
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:27,代码来源:NIOMultiThreadCompactorStressTest.java
示例13: testWildcardRoutingStarAndHash
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Test
public void testWildcardRoutingStarAndHash() throws Exception {
SimpleString addressAB = new SimpleString("a.b.c.d");
SimpleString addressAC = new SimpleString("a.c");
SimpleString address = new SimpleString("*.b.#");
SimpleString queueName1 = new SimpleString("Q1");
SimpleString queueName2 = new SimpleString("Q2");
SimpleString queueName = new SimpleString("Q");
clientSession.createQueue(addressAB, queueName1, null, false);
clientSession.createQueue(addressAC, queueName2, null, false);
clientSession.createQueue(address, queueName, null, false);
ClientProducer producer = clientSession.createProducer(addressAB);
ClientProducer producer2 = clientSession.createProducer(addressAC);
ClientConsumer clientConsumer = clientSession.createConsumer(queueName);
clientSession.start();
producer.send(createTextMessage(clientSession, "m1"));
producer2.send(createTextMessage(clientSession, "m2"));
ClientMessage m = clientConsumer.receive(500);
Assert.assertNotNull(m);
Assert.assertEquals("m1", m.getBodyBuffer().readString());
m.acknowledge();
m = clientConsumer.receiveImmediate();
Assert.assertNull(m);
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:WildCardRoutingTest.java
示例14: run
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Override
public void run() {
while (true) {
try {
ClientMessage message = consumer.receive(5000);
if (message == null) {
break;
}
message.acknowledge();
payloads.add(message.getBodyBuffer().readString());
Thread.sleep(110);
} catch (Exception e) {
e.printStackTrace();
}
}
latch.countDown();
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:20,代码来源:ExpiryRunnerTest.java
示例15: nextElement
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Override
public ActiveMQMessage nextElement() {
ActiveMQMessage msg;
if (hasMoreElements()) {
ClientMessage next = current;
current = null;
msg = ActiveMQMessage.createMessage(next, session, options);
try {
msg.doBeforeReceive();
} catch (Exception e) {
ActiveMQJMSClientLogger.LOGGER.errorCreatingMessage(msg.getCoreMessage().toString(), e);
return null;
}
return msg;
} else {
throw new NoSuchElementException();
}
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:20,代码来源:ActiveMQQueueBrowser.java
示例16: testMessageExpirationOnClient
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Test
public void testMessageExpirationOnClient() throws Exception {
SimpleString address = RandomUtil.randomSimpleString();
SimpleString queue = RandomUtil.randomSimpleString();
session.createQueue(address, queue, false);
ClientProducer producer = session.createProducer(address);
ClientMessage message = session.createMessage(false);
message.setExpiration(System.currentTimeMillis() + MessageExpirationTest.EXPIRATION);
producer.send(message);
session.start();
Thread.sleep(MessageExpirationTest.EXPIRATION * 2);
ClientConsumer consumer = session.createConsumer(queue);
ClientMessage message2 = consumer.receiveImmediate();
Assert.assertNull(message2);
Assert.assertEquals(0, ((Queue) server.getPostOffice().getBinding(queue).getBindable()).getDeliveringCount());
Assert.assertEquals(0, getMessageCount(((Queue) server.getPostOffice().getBinding(queue).getBindable())));
consumer.close();
session.deleteQueue(queue);
}
开发者ID:apache,项目名称:activemq-artemis,代码行数:27,代码来源:MessageExpirationTest.java
示例17: write
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Override
public void write(ClientMessage sink, ConsumerE<OutputStream> bodyWriter) {
requireNonNull(sink, "sink");
requireNonNull(bodyWriter, "bodyWriter");
ByteArrayOutputStream out = new ByteArrayOutputStream(4*1024); // (*)
bodyWriter.accept(out);
byte[] serialized = out.toByteArray();
sink.getBodyBuffer().writeInt(serialized.length); // (*)
sink.getBodyBuffer().writeBytes(serialized);
}
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:13,代码来源:MessageBodyWriter.java
示例18: putProp
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
private <T> void putProp(String key, T value,
BiFunction<String, T, ClientMessage> setter) {
requireNonNull(key, "key");
requireNonNull(value, "value");
requireNonNull(setter, "setter");
setter.apply(key, value);
}
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:9,代码来源:ArtemisMessage.java
示例19: sendMessage
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Override
public void sendMessage(QMsgBuilder<ArtemisMessage> metadataBuilder,
ConsumerE<OutputStream> payloadWriter)
throws ActiveMQException {
requireNonNull(metadataBuilder, "metadataBuilder");
requireNonNull(payloadWriter, "payloadWriter");
ClientMessage msg = metadataBuilder.apply(msgFactory)
.message();
writeBody(msg, payloadWriter);
producer.send(msg);
}
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:14,代码来源:ArtemisQProducer.java
示例20: read
import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入依赖的package包/类
@Override
public InputStream read(ClientMessage source) {
requireNonNull(source, "source");
int length = source.getBodyBuffer().readInt(); // (*)
byte[] buf = new byte[length];
source.getBodyBuffer().readBytes(buf);
return new ByteArrayInputStream(buf); // (*)
}
开发者ID:openmicroscopy,项目名称:omero-ms-queue,代码行数:11,代码来源:MessageBodyReader.java
注:本文中的org.apache.activemq.artemis.api.core.client.ClientMessage类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论