• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ClientMessage类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Log类代码示例发布时间:2022-05-23
下一篇:
Java GithubTarget类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap