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


Java Proton.message方法代码示例

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


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

示例1: checkRouter

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
private List<String> checkRouter(SyncRequestClient client, String entityType, String attributeName) {
    Map<String, String> properties = new LinkedHashMap<>();
    properties.put("operation", "QUERY");
    properties.put("entityType", entityType);
    Map body = new LinkedHashMap<>();

    body.put("attributeNames", Arrays.asList(attributeName));

    Message message = Proton.message();
    message.setAddress("$management");
    message.setApplicationProperties(new ApplicationProperties(properties));
    message.setBody(new AmqpValue(body));

    try {
        Message response = client.request(message, 10, TimeUnit.SECONDS);
        AmqpValue value = (AmqpValue) response.getBody();
        Map values = (Map) value.getValue();
        List<List<String>> results = (List<List<String>>) values.get("results");
        return results.stream().map(l -> l.get(0)).collect(Collectors.toList());
    } catch (Exception e) {
        log.info("Error requesting router status. Ignoring", e);
        eventLogger.log(RouterCheckFailed, e.getMessage(), Warning, AddressSpace, addressSpaceName);
        return Collections.emptyList();
    }
}
 
开发者ID:EnMasseProject,项目名称:enmasse,代码行数:26,代码来源:AddressController.java

示例2: toMessage

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Override
public Message toMessage(String address, ConsumerRecord<String, byte[]> record) {
	
	Message message = Proton.message();
	message.setAddress(address);
	
	message.decode(record.value(), 0, record.value().length);
	
	// put message annotations about partition, offset and key (if not null)
	Map<Symbol, Object> map = new HashMap<>();
	map.put(Symbol.valueOf(AmqpBridge.AMQP_PARTITION_ANNOTATION), record.partition());
	map.put(Symbol.valueOf(AmqpBridge.AMQP_OFFSET_ANNOTATION), record.offset());
	if (record.key() != null)
		map.put(Symbol.valueOf(AmqpBridge.AMQP_KEY_ANNOTATION), record.key());
	map.put(Symbol.valueOf(AmqpBridge.AMQP_TOPIC_ANNOTATION), record.topic());
	
	MessageAnnotations messageAnnotations = new MessageAnnotations(map);
	message.setMessageAnnotations(messageAnnotations);
	
	return message;
}
 
开发者ID:strimzi,项目名称:amqp-kafka-bridge,代码行数:22,代码来源:AmqpRawMessageConverter.java

示例3: toMessage

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Override
public Message toMessage(String address, ConsumerRecord<String, byte[]> record) {
	
	Message message = Proton.message();
	message.setAddress(address);
	
	// put message annotations about partition, offset and key (if not null)
	Map<Symbol, Object> map = new HashMap<>();
	map.put(Symbol.valueOf(AmqpBridge.AMQP_PARTITION_ANNOTATION), record.partition());
	map.put(Symbol.valueOf(AmqpBridge.AMQP_OFFSET_ANNOTATION), record.offset());
	if (record.key() != null)
		map.put(Symbol.valueOf(AmqpBridge.AMQP_KEY_ANNOTATION), record.key());
	map.put(Symbol.valueOf(AmqpBridge.AMQP_TOPIC_ANNOTATION), record.topic());
	
	MessageAnnotations messageAnnotations = new MessageAnnotations(map);
	message.setMessageAnnotations(messageAnnotations);
	
	message.setBody(new Data(new Binary(record.value())));
	
	return message;
}
 
开发者ID:strimzi,项目名称:amqp-kafka-bridge,代码行数:22,代码来源:AmqpDefaultMessageConverter.java

示例4: sendMessageToClient

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
private Delivery sendMessageToClient(String deliveryTag, int messageBody)
{
    byte[] tag = deliveryTag.getBytes(StandardCharsets.UTF_8);

    Message m = Proton.message();
    m.setBody(new AmqpValue(messageBody));

    byte[] encoded = new byte[BUFFER_SIZE];
    int len = m.encode(encoded, 0, BUFFER_SIZE);

    assertTrue("given array was too small", len < BUFFER_SIZE);

    Sender serverSender = getServer().getSender();
    Delivery serverDelivery = serverSender.delivery(tag);
    int sent = serverSender.send(encoded, 0, len);

    assertEquals("sender unable to send all data at once as assumed for simplicity", len, sent);

    boolean senderAdvanced = serverSender.advance();
    assertTrue("sender has not advanced", senderAdvanced);

    return serverDelivery;
}
 
开发者ID:apache,项目名称:qpid-proton-j,代码行数:24,代码来源:DeferredSettlementTest.java

示例5: testAMQP_to_JSON_VerifyBodyWithDataSection

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Test
public void testAMQP_to_JSON_VerifyBodyWithDataSection() {
  String testContent = "myTestContent";
  Data data = new Data(new Binary(testContent.getBytes(StandardCharsets.UTF_8)));
  Message protonMsg = Proton.message();
  protonMsg.setBody(data);

  JsonObject jsonObject = translator.convertToJsonObject(protonMsg);
  assertNotNull("expected converted msg", jsonObject);
  assertTrue("expected body element key to be present", jsonObject.containsKey(AmqpConstants.BODY));
  assertNotNull("expected body element value to be non-null", jsonObject.getValue(AmqpConstants.BODY));
  assertTrue("expected body_type element key to be present", jsonObject.containsKey(AmqpConstants.BODY_TYPE));
  assertEquals("unexpected body_type value", AmqpConstants.BODY_TYPE_DATA,
      jsonObject.getValue(AmqpConstants.BODY_TYPE));

  jsonObject.put(AmqpConstants.BODY_TYPE, AmqpConstants.BODY_TYPE_VALUE);
  assertArrayEquals("body content not as expected", testContent.getBytes(StandardCharsets.UTF_8),
      jsonObject.getBinary(AmqpConstants.BODY));
}
 
开发者ID:vert-x3,项目名称:vertx-amqp-bridge,代码行数:20,代码来源:MessageTranslatorImplTest.java

示例6: testGetReplyToWithReceivedMessage

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Test
public void testGetReplyToWithReceivedMessage() throws JMSException {
    String testReplyToAddress = "myTestReplyTo";

    Message message = Proton.message();

    Properties props = new Properties();
    props.setReplyTo(testReplyToAddress);
    message.setProperties(props);

    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);

    JmsDestination dest = amqpMessageFacade.getReplyTo();
    //We didn't set any destination type annotations, so the consumer destination type will be used: a topic.
    assertTrue(dest instanceof Topic);
    assertEquals(testReplyToAddress, ((Topic) dest).getTopicName());
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:18,代码来源:AmqpJmsMessageFacadeTest.java

示例7: testGetTtlSynthesizedExpirationOnReceivedMessageWithTtlButNoAbsoluteExpiration

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Test
public void testGetTtlSynthesizedExpirationOnReceivedMessageWithTtlButNoAbsoluteExpiration() throws JMSException {
    Long ttl = 123L;

    Message message = Proton.message();
    Header header = new Header();
    header.setTtl(UnsignedInteger.valueOf(ttl));
    message.setHeader(header);

    long start = System.currentTimeMillis();
    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);
    long end = System.currentTimeMillis();

    long expiration = amqpMessageFacade.getExpiration();

    assertTrue("Should have sythesized expiration based on current time + ttl", start + ttl <= expiration);
    assertTrue("Should have sythesized expiration based on current time + ttl", expiration <= end + ttl);

    long expiration2 = amqpMessageFacade.getExpiration();
    assertEquals("Second retrieval should return same result", expiration, expiration2);

    amqpMessageFacade = amqpMessageFacade.copy();
    long expiration3 = amqpMessageFacade.getExpiration();
    assertEquals("Thrid retrieval from copy should return same result", expiration, expiration3);
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:26,代码来源:AmqpJmsMessageFacadeTest.java

示例8: messageIdOnReceivedMessageTestImpl

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
private void messageIdOnReceivedMessageTestImpl(Object underlyingMessageId, String expected) {
    if (!(underlyingMessageId == null || underlyingMessageId instanceof Binary
            || underlyingMessageId instanceof UnsignedLong || underlyingMessageId instanceof String || underlyingMessageId instanceof UUID)) {
        throw new IllegalArgumentException("invalid id type");
    }

    Message message = Proton.message();

    Properties props = new Properties();
    props.setMessageId(underlyingMessageId);
    message.setProperties(props);

    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);

    assertNotNull("Expected a messageId on received message", amqpMessageFacade.getMessageId());

    assertEquals("Incorrect messageId value received", expected, amqpMessageFacade.getMessageId());
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:19,代码来源:AmqpJmsMessageFacadeTest.java

示例9: testOnSendOverridesTtlOnMessageReceivedWithTtl

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Test
public void testOnSendOverridesTtlOnMessageReceivedWithTtl() throws Exception {
    Message message = Proton.message();
    int origTtl = 5;
    int newTtl = 10;
    message.setTtl(origTtl);

    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);

    assertEquals("TTL has been unset already", origTtl, message.getTtl());

    amqpMessageFacade.onSend(newTtl);

    // check value on underlying TTL field is NOT set
    assertEquals("TTL has not been overriden", newTtl, amqpMessageFacade.getAmqpHeader().getTimeToLive());
    assertEquals("TTL field on underlying message should be set", UnsignedInteger.valueOf(newTtl), amqpMessageFacade.getHeader().getTtl());
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:18,代码来源:AmqpJmsMessageFacadeTest.java

示例10: testCreateObjectMessageMessageFromAmqpSequence

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
/**
 * Test that an amqp-sequence body containing a binary value results in an ObjectMessage
 * when not otherwise annotated to indicate the type of JMS message it is.
 *
 * @throws Exception if an error occurs during the test.
 */
@Test
public void testCreateObjectMessageMessageFromAmqpSequence() throws Exception
{
    Message message = Proton.message();
    List<String> list = new ArrayList<String>();
    message.setBody(new AmqpSequence(list));

    JmsMessage jmsMessage = AmqpCodec.decodeMessage(mockConsumer, encodeMessage(message)).asJmsMessage();
    assertNotNull("Message should not be null", jmsMessage);
    assertEquals("Unexpected message class type", JmsObjectMessage.class, jmsMessage.getClass());

    JmsMessageFacade facade = jmsMessage.getFacade();
    assertNotNull("Facade should not be null", facade);
    assertEquals("Unexpected facade class type", AmqpJmsObjectMessageFacade.class, facade.getClass());

    AmqpObjectTypeDelegate delegate = ((AmqpJmsObjectMessageFacade) facade).getDelegate();
    assertTrue("Unexpected delegate type: " + delegate, delegate instanceof AmqpTypedObjectDelegate);
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:25,代码来源:AmqpCodecTest.java

示例11: testGetUserIdBytesOnReceievedMessage

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Test
public void testGetUserIdBytesOnReceievedMessage() throws Exception {
    String userIdString = "testValue";
    byte[] bytes = userIdString.getBytes("UTF-8");

    Message message = Proton.message();

    message.setUserId(bytes);

    Properties props = new Properties();
    props.setUserId(new Binary(bytes));
    message.setProperties(props);

    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);

    assertNotNull("Expected a userid on received message", amqpMessageFacade.getUserIdBytes());
    assertArrayEquals("Incorrect userid bytes value received", bytes, amqpMessageFacade.getUserIdBytes());
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:19,代码来源:AmqpJmsMessageFacadeTest.java

示例12: testGetMessageAnnotationUsingReceivedMessage

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Test
public void testGetMessageAnnotationUsingReceivedMessage() {
    String symbolKeyName = "myTestSymbolName";
    String value = "myTestValue";

    Message message = Proton.message();

    Map<Symbol, Object> annotationsMap = new HashMap<Symbol, Object>();
    annotationsMap.put(Symbol.valueOf(symbolKeyName), value);
    message.setMessageAnnotations(new MessageAnnotations(annotationsMap));

    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);

    assertEquals(value, amqpMessageFacade.getMessageAnnotation(symbolKeyName));
    assertNull(amqpMessageFacade.getMessageAnnotation("otherName"));
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:17,代码来源:AmqpJmsMessageFacadeTest.java

示例13: testCreateAmqpObjectMessageFromAmqpValueWithList

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
/**
 * Test that an amqp-value body containing a list results in an ObjectMessage
 * when not otherwise annotated to indicate the type of JMS message it is.
 *
 * @throws Exception if an error occurs during the test.
 */
@Test
public void testCreateAmqpObjectMessageFromAmqpValueWithList() throws Exception {
    Message message = Proton.message();
    List<String> list = new ArrayList<String>();
    message.setBody(new AmqpValue(list));

    JmsMessage jmsMessage = AmqpCodec.decodeMessage(mockConsumer, encodeMessage(message)).asJmsMessage();
    assertNotNull("Message should not be null", jmsMessage);
    assertEquals("Unexpected message class type", JmsObjectMessage.class, jmsMessage.getClass());

    JmsMessageFacade facade = jmsMessage.getFacade();
    assertNotNull("Facade should not be null", facade);
    assertEquals("Unexpected facade class type", AmqpJmsObjectMessageFacade.class, facade.getClass());

    AmqpObjectTypeDelegate delegate = ((AmqpJmsObjectMessageFacade) facade).getDelegate();
    assertTrue("Unexpected delegate type: " + delegate, delegate instanceof AmqpTypedObjectDelegate);
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:24,代码来源:AmqpCodecTest.java

示例14: testSetPriorityToDefaultOnReceivedMessageWithPriorityClearsPriorityField

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
/**
 * Receive message which has a header section with a priority value. Ensure the headers
 * underlying field value is cleared when the priority is set to the default priority of 4.
 */
@Test
public void testSetPriorityToDefaultOnReceivedMessageWithPriorityClearsPriorityField() {
    byte priority = 11;

    Message message = Proton.message();
    Header header = new Header();
    message.setHeader(header);
    header.setPriority(UnsignedByte.valueOf(priority));

    AmqpJmsMessageFacade amqpMessageFacade = createReceivedMessageFacade(createMockAmqpConsumer(), message);
    amqpMessageFacade.setPriority(Message.DEFAULT_PRIORITY);

    //check the expected value is still returned
    assertEquals("expected priority value not returned", Message.DEFAULT_PRIORITY, amqpMessageFacade.getPriority());

    //check the underlying header field was actually cleared rather than set to Message.DEFAULT_PRIORITY
    assertNull("underlying header priority field was not cleared", amqpMessageFacade.getHeader());
}
 
开发者ID:apache,项目名称:qpid-jms,代码行数:23,代码来源:AmqpJmsMessageFacadeTest.java

示例15: put

import org.apache.qpid.proton.Proton; //导入方法依赖的package包/类
@Override
public void put(Collection<SinkRecord> records) {

    if (records.isEmpty()) {
        return;
    }

    for (SinkRecord record: records) {

        List<ProtonSender> senders = this.senders.get(record.topic());
        if (senders != null) {

            for (ProtonSender sender: senders) {

                Message message = Proton.message();
                message.setAddress(record.topic());

                // just handling string content
                Schema.Type t = record.valueSchema().type();
                switch (t) {
                    case STRING:

                        String value = (String)record.value();
                        message.setBody(new Data(new Binary(value.getBytes())));

                        break;
                }
                sender.send(message);
            }
        }
    }
}
 
开发者ID:ppatierno,项目名称:kafka-connect-amqp,代码行数:33,代码来源:AmqpSinkTask.java


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