本文整理汇总了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();
}
}
示例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;
}
示例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;
}
示例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;
}
示例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));
}
示例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());
}
示例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);
}
示例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());
}
示例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());
}
示例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);
}
示例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());
}
示例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"));
}
示例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);
}
示例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());
}
示例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);
}
}
}
}