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


Java ClientMessage.putStringProperty方法代码示例

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


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

示例1: publish

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public void publish(HttpHeaders headers,
                    byte[] body,
                    String dup,
                    boolean durable,
                    Long ttl,
                    Long expiration,
                    Integer priority) throws Exception {
   Pooled pooled = getPooled();
   try {
      ClientProducer producer = pooled.producer;
      ClientMessage message = createActiveMQMessage(headers, body, durable, ttl, expiration, priority, pooled.session);
      message.putStringProperty(Message.HDR_DUPLICATE_DETECTION_ID.toString(), dup);
      producer.send(message);
      ActiveMQRestLogger.LOGGER.debug("Sent message: " + message);
      pool.add(pooled);
   } catch (Exception ex) {
      try {
         pooled.session.close();
      } catch (ActiveMQException e) {
      }
      addPooled();
      throw ex;
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:25,代码来源:PostMessage.java

示例2: sendMessageBatch

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public List<String> sendMessageBatch(int batchSize,
                                     ClientSession session,
                                     SimpleString queueAddr) throws ActiveMQException {
   List<String> messageIds = new ArrayList<>();
   ClientProducer producer = session.createProducer(queueAddr);
   for (int i = 0; i < batchSize; i++) {
      ClientMessage message = session.createMessage(true);
      message.getBodyBuffer().writeBytes(new byte[1024]);
      String id = UUID.randomUUID().toString();
      message.putStringProperty("id", id);
      message.putIntProperty("seq", i); // this is to make the print-data easier to debug
      messageIds.add(id);
      producer.send(message);
   }
   session.commit();

   return messageIds;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:19,代码来源:PagingSendTest.java

示例3: setEntity

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
/**
 * Sets a message property to be the Content-Type passed in.  Sets the message body to a serialized
 * byte array of the object.
 *
 * @param message
 * @param object
 * @param contentType HTTP Content-Type header
 */
public static void setEntity(ClientMessage message, Serializable object, String contentType) {
   if (contentType != null)
      message.putStringProperty(HttpHeaderProperty.CONTENT_TYPE, contentType);
   byte[] data;
   try {
      ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);

      ObjectOutputStream oos = new ObjectOutputStream(baos);

      oos.writeObject(object);

      oos.flush();

      data = baos.toByteArray();
   } catch (IOException e) {
      throw new RuntimeException(e);
   }

   message.getBodyBuffer().writeInt(data.length);
   message.getBodyBuffer().writeBytes(data);

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:31,代码来源:ActiveMQ.java

示例4: testSingleTXRollback

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testSingleTXRollback() throws Exception {
   ClientProducer producer = clientSessionTxReceives.createProducer(address);
   ClientConsumer consumer = clientSessionTxReceives.createConsumer(qName1);
   SimpleString messageId1 = new SimpleString("SMID1");
   ClientMessage m1 = createTextMessage(clientSession, "m1");
   m1.putStringProperty(Message.HDR_LAST_VALUE_NAME, messageId1);
   producer.send(m1);
   clientSessionTxReceives.start();
   ClientMessage m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   clientSessionTxReceives.rollback();
   m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   Assert.assertEquals(m.getBodyBuffer().readString(), "m1");
   Assert.assertNull(consumer.receiveImmediate());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:20,代码来源:LVQTest.java

示例5: sendMessages

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的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

示例6: testLargeMessage

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testLargeMessage() throws Exception {
   ClientProducer producer = clientSessionTxReceives.createProducer(address);
   ClientConsumer consumer = clientSessionTxReceives.createConsumer(qName1);
   SimpleString rh = new SimpleString("SMID1");

   for (int i = 0; i < 50; i++) {
      ClientMessage message = clientSession.createMessage(true);
      message.setBodyInputStream(createFakeLargeStream(300 * 1024));
      message.putStringProperty(Message.HDR_LAST_VALUE_NAME, rh);
      producer.send(message);
      clientSession.commit();
   }
   clientSessionTxReceives.start();
   ClientMessage m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   Assert.assertNull(consumer.receiveImmediate());
   clientSessionTxReceives.commit();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:21,代码来源:LVQTest.java

示例7: testSimpleMessageReceivedOnQueueWithSelector

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testSimpleMessageReceivedOnQueueWithSelector() throws Exception {
   ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
   MyBootstrapContext ctx = new MyBootstrapContext();
   qResourceAdapter.start(ctx);
   ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
   spec.setResourceAdapter(qResourceAdapter);
   spec.setUseJNDI(false);
   spec.setDestinationType("javax.jms.Queue");
   spec.setDestination(MDBQUEUE);
   spec.setMessageSelector("color='red'");
   qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
   CountDownLatch latch = new CountDownLatch(1);
   DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
   DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
   qResourceAdapter.endpointActivation(endpointFactory, spec);
   ClientSession session = locator.createSessionFactory().createSession();
   ClientProducer clientProducer = session.createProducer(MDBQUEUEPREFIXED);
   ClientMessage message = session.createMessage(true);
   message.getBodyBuffer().writeString("blue");
   message.putStringProperty("color", "blue");
   clientProducer.send(message);
   message = session.createMessage(true);
   message.getBodyBuffer().writeString("red");
   message.putStringProperty("color", "red");
   clientProducer.send(message);
   session.close();
   latch.await(5, TimeUnit.SECONDS);

   assertNotNull(endpoint.lastMessage);
   assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "red");

   qResourceAdapter.endpointDeactivation(endpointFactory, spec);
   qResourceAdapter.stop();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:36,代码来源:ActiveMQMessageHandlerTest.java

示例8: testMultipleMessages

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testMultipleMessages() throws Exception {
   ClientProducer producer = clientSession.createProducer(address);
   ClientConsumer consumer = clientSession.createConsumer(qName1);
   SimpleString messageId1 = new SimpleString("SMID1");
   SimpleString messageId2 = new SimpleString("SMID2");
   ClientMessage m1 = createTextMessage(clientSession, "m1");
   m1.putStringProperty(Message.HDR_LAST_VALUE_NAME, messageId1);
   ClientMessage m2 = createTextMessage(clientSession, "m2");
   m2.putStringProperty(Message.HDR_LAST_VALUE_NAME, messageId2);
   ClientMessage m3 = createTextMessage(clientSession, "m3");
   m3.putStringProperty(Message.HDR_LAST_VALUE_NAME, messageId1);
   ClientMessage m4 = createTextMessage(clientSession, "m4");
   m4.putStringProperty(Message.HDR_LAST_VALUE_NAME, messageId2);
   producer.send(m1);
   producer.send(m2);
   producer.send(m3);
   producer.send(m4);
   clientSession.start();
   ClientMessage m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   Assert.assertEquals(m.getBodyBuffer().readString(), "m3");
   m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   Assert.assertEquals(m.getBodyBuffer().readString(), "m4");
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:29,代码来源:LVQTest.java

示例9: testMultipleAcksPersistedCorrectly2

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testMultipleAcksPersistedCorrectly2() throws Exception {

   Queue queue = server.locateQueue(qName1);
   ClientProducer producer = clientSession.createProducer(address);
   ClientConsumer consumer = clientSession.createConsumer(qName1);
   SimpleString rh = new SimpleString("SMID1");
   ClientMessage m1 = createTextMessage(clientSession, "m1");
   m1.putStringProperty(Message.HDR_LAST_VALUE_NAME, rh);
   m1.setDurable(true);
   ClientMessage m2 = createTextMessage(clientSession, "m2");
   m2.putStringProperty(Message.HDR_LAST_VALUE_NAME, rh);
   m2.setDurable(true);
   clientSession.start();
   producer.send(m1);
   ClientMessage m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   Assert.assertEquals(m.getBodyBuffer().readString(), "m1");
   producer.send(m2);
   m = consumer.receive(1000);
   Assert.assertNotNull(m);
   m.acknowledge();
   Assert.assertEquals(m.getBodyBuffer().readString(), "m2");

   assertEquals(0, queue.getDeliveringCount());
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:28,代码来源:LVQTest.java

示例10: setHttpHeader

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
public static void setHttpHeader(ClientMessage message, String name, String value) {
   message.putStringProperty(HttpHeaderProperty.toPropertyName(name), value);
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:4,代码来源:ActiveMQ.java

示例11: testSelectorChangedWithTopic

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testSelectorChangedWithTopic() throws Exception {
   ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();

   MyBootstrapContext ctx = new MyBootstrapContext();

   qResourceAdapter.start(ctx);

   ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
   spec.setResourceAdapter(qResourceAdapter);
   spec.setUseJNDI(false);
   spec.setDestinationType("javax.jms.Topic");
   spec.setDestination("mdbTopic");
   spec.setSubscriptionDurability("Durable");
   spec.setSubscriptionName("durable-mdb");
   spec.setClientID("id-1");
   spec.setMessageSelector("foo='bar'");

   qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);

   CountDownLatch latch = new CountDownLatch(1);

   DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
   DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
   qResourceAdapter.endpointActivation(endpointFactory, spec);
   ClientSession session = locator.createSessionFactory().createSession();
   ClientProducer clientProducer = session.createProducer("mdbTopic");
   ClientMessage message = session.createMessage(true);
   message.getBodyBuffer().writeString("1");
   message.putStringProperty("foo", "bar");
   clientProducer.send(message);

   latch.await(5, TimeUnit.SECONDS);

   assertNotNull(endpoint.lastMessage);
   assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "1");

   qResourceAdapter.endpointDeactivation(endpointFactory, spec);

   message = session.createMessage(true);
   message.getBodyBuffer().writeString("2");
   message.putStringProperty("foo", "bar");
   clientProducer.send(message);

   latch = new CountDownLatch(1);
   endpoint = new DummyMessageEndpoint(latch);
   //change the selector forcing the queue to be recreated
   spec.setMessageSelector("foo='abar'");
   endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
   qResourceAdapter.endpointActivation(endpointFactory, spec);
   message = session.createMessage(true);
   message.getBodyBuffer().writeString("3");
   message.putStringProperty("foo", "abar");
   clientProducer.send(message);
   latch.await(5, TimeUnit.SECONDS);

   assertNotNull(endpoint.lastMessage);
   assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "3");
   qResourceAdapter.endpointDeactivation(endpointFactory, spec);
   qResourceAdapter.stop();
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:62,代码来源:ActiveMQMessageHandlerTest.java

示例12: testSelectorNotChangedWithTopic

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testSelectorNotChangedWithTopic() throws Exception {
   ActiveMQResourceAdapter qResourceAdapter = newResourceAdapter();
   MyBootstrapContext ctx = new MyBootstrapContext();
   qResourceAdapter.start(ctx);
   ActiveMQActivationSpec spec = new ActiveMQActivationSpec();
   spec.setResourceAdapter(qResourceAdapter);
   spec.setUseJNDI(false);
   spec.setDestinationType("javax.jms.Topic");
   spec.setDestination("mdbTopic");
   spec.setSubscriptionDurability("Durable");
   spec.setSubscriptionName("durable-mdb");
   spec.setClientID("id-1");
   spec.setMessageSelector("foo='bar'");
   qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY);
   CountDownLatch latch = new CountDownLatch(1);
   DummyMessageEndpoint endpoint = new DummyMessageEndpoint(latch);
   DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
   qResourceAdapter.endpointActivation(endpointFactory, spec);
   ClientSession session = locator.createSessionFactory().createSession();
   ClientProducer clientProducer = session.createProducer("mdbTopic");
   ClientMessage message = session.createMessage(true);
   message.getBodyBuffer().writeString("1");
   message.putStringProperty("foo", "bar");
   clientProducer.send(message);

   latch.await(5, TimeUnit.SECONDS);

   assertNotNull(endpoint.lastMessage);
   assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "1");

   qResourceAdapter.endpointDeactivation(endpointFactory, spec);

   message = session.createMessage(true);
   message.getBodyBuffer().writeString("2");
   message.putStringProperty("foo", "bar");
   clientProducer.send(message);

   latch = new CountDownLatch(1);
   endpoint = new DummyMessageEndpoint(latch);
   endpointFactory = new DummyMessageEndpointFactory(endpoint, false);
   qResourceAdapter.endpointActivation(endpointFactory, spec);
   latch.await(5, TimeUnit.SECONDS);

   assertNotNull(endpoint.lastMessage);
   assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "2");
   qResourceAdapter.endpointDeactivation(endpointFactory, spec);
   qResourceAdapter.stop();

}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:51,代码来源:ActiveMQMessageHandlerTest.java

示例13: testFailMessagesDuplicates

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
@Test
public void testFailMessagesDuplicates() throws Exception {
   clearDataRecreateServerDirs();

   Configuration config = createDefaultInVMConfig();

   HashMap<String, AddressSettings> settings = new HashMap<>();

   AddressSettings set = new AddressSettings();
   set.setAddressFullMessagePolicy(AddressFullMessagePolicy.FAIL);

   settings.put(PagingTest.ADDRESS.toString(), set);

   server = createServer(true, config, 1024, 5 * 1024, settings);

   server.start();

   locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true);

   sf = createSessionFactory(locator);
   ClientSession session = addClientSession(sf.createSession(true, true, 0));

   session.createQueue(PagingTest.ADDRESS, PagingTest.ADDRESS, null, true);

   ClientProducer producer = session.createProducer(PagingTest.ADDRESS);

   ClientMessage message = session.createMessage(true);

   int biggerMessageSize = 2048;
   byte[] body = new byte[biggerMessageSize];
   ByteBuffer bb = ByteBuffer.wrap(body);
   for (int j = 1; j <= biggerMessageSize; j++) {
      bb.put(getSamplebyte(j));
   }

   message.getBodyBuffer().writeBytes(body);

   // Send enough messages to fill up the address.
   producer.send(message);
   producer.send(message);
   producer.send(message);

   Queue q = (Queue) server.getPostOffice().getBinding(ADDRESS).getBindable();
   Wait.waitFor(() -> 3 == getMessageCount(q));
   Assert.assertEquals(3, getMessageCount(q));

   // send a message with a dup ID that should fail b/c the address is full
   SimpleString dupID1 = new SimpleString("abcdefg");
   message.putBytesProperty(Message.HDR_DUPLICATE_DETECTION_ID, dupID1.getData());
   message.putStringProperty("key", dupID1.toString());

   validateExceptionOnSending(producer, message);

   Assert.assertEquals(3, getMessageCount(q));

   ClientConsumer consumer = session.createConsumer(ADDRESS);

   session.start();

   // Receive a message...this should open space for another message
   ClientMessage msgReceived = consumer.receive(5000);
   assertNotNull(msgReceived);
   msgReceived.acknowledge();
   session.commit(); // to make sure it's on the server (roundtrip)
   consumer.close();

   Assert.assertEquals(2, getMessageCount(q));

   producer.send(message);

   Assert.assertEquals(3, getMessageCount(q));

   consumer = session.createConsumer(ADDRESS);

   for (int i = 0; i < 3; i++) {
      msgReceived = consumer.receive(5000);
      assertNotNull(msgReceived);
      msgReceived.acknowledge();
      session.commit();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:82,代码来源:PagingTest.java

示例14: createCoreTestMessage

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
private ClientMessage createCoreTestMessage(ClientSession session) {
   ClientMessage message = session.createMessage(true);
   String v = UUID.randomUUID().toString();
   message.putStringProperty(org.hornetq.api.core.Message.HDR_DUPLICATE_DETECTION_ID.toString(), v);
   return message;
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:7,代码来源:HornetQProtocolTest.java

示例15: sendInRange

import org.apache.activemq.artemis.api.core.client.ClientMessage; //导入方法依赖的package包/类
protected void sendInRange(final int node,
                           final String address,
                           final int msgStart,
                           final int msgEnd,
                           final boolean durable,
                           final String filterVal,
                           final AtomicInteger duplicateDetectionSeq) throws Exception {
   ClientSessionFactory sf = sfs[node];

   if (sf == null) {
      throw new IllegalArgumentException("No sf at " + node);
   }

   ClientSession session = sf.createSession(false, false, false);

   try {
      ClientProducer producer = session.createProducer(address);

      for (int i = msgStart; i < msgEnd; i++) {
         ClientMessage message = session.createMessage(durable);

         if (filterVal != null) {
            message.putStringProperty(ClusterTestBase.FILTER_PROP, new SimpleString(filterVal));
         }

         if (duplicateDetectionSeq != null) {
            String str = Integer.toString(duplicateDetectionSeq.incrementAndGet());
            message.putStringProperty(Message.HDR_DUPLICATE_DETECTION_ID, new SimpleString(str));
         }

         message.putIntProperty(ClusterTestBase.COUNT_PROP, i);

         if (isLargeMessage()) {
            message.setBodyInputStream(createFakeLargeStream(getLargeMessageSize()));
         }

         producer.send(message);

         if (i % 100 == 0) {
            session.commit();
         }
      }

      session.commit();
   } finally {
      session.close();
   }
}
 
开发者ID:apache,项目名称:activemq-artemis,代码行数:49,代码来源:ClusterTestBase.java


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