本文整理了Java中org.apache.qpid.proton.message.Message.setApplicationProperties()
方法的一些代码示例,展示了Message.setApplicationProperties()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.setApplicationProperties()
方法的具体详情如下:
包路径:org.apache.qpid.proton.message.Message
类名称:Message
方法名:setApplicationProperties
暂无
代码示例来源:origin: apache/activemq-artemis
private void lazyCreateApplicationProperties() {
if (applicationPropertiesMap == null) {
applicationPropertiesMap = new HashMap<>();
message.setApplicationProperties(new ApplicationProperties(applicationPropertiesMap));
}
}
代码示例来源:origin: EnMasseProject/enmasse
private Message createOperationMessage(String resource, String operation) {
Message message = Message.Factory.create();
Map<String, Object> properties = new LinkedHashMap<>();
properties.put("_AMQ_ResourceName", resource);
properties.put("_AMQ_OperationName", operation);
message.setApplicationProperties(new ApplicationProperties(properties));
return message;
}
代码示例来源:origin: EnMasseProject/enmasse
private Message createAttributeMessage(String resource, String attribute) {
Message message = Message.Factory.create();
Map<String, Object> properties = new LinkedHashMap<>();
properties.put("_AMQ_ResourceName", resource);
properties.put("_AMQ_Attribute", attribute);
message.setApplicationProperties(new ApplicationProperties(properties));
return message;
}
代码示例来源:origin: org.eclipse.hono/hono-client
/**
* Set the application properties for a Proton Message but do a check for all properties first if they only contain
* values that the AMQP 1.0 spec allows.
*
* @param msg The Proton message. Must not be null.
* @param properties The map containing application properties.
* @throws NullPointerException if the message passed in is null.
* @throws IllegalArgumentException if the properties contain any value that AMQP 1.0 disallows.
*/
protected static final void setApplicationProperties(final Message msg, final Map<String, ?> properties) {
if (properties != null) {
final Map<String, Object> propsToAdd = new HashMap<>();
// check the three types not allowed by AMQP 1.0 spec for application properties (list, map and array)
for (final Map.Entry<String, ?> entry: properties.entrySet()) {
if (entry.getValue() != null) {
if (entry.getValue() instanceof List) {
throw new IllegalArgumentException(String.format("Application property %s can't be a List", entry.getKey()));
} else if (entry.getValue() instanceof Map) {
throw new IllegalArgumentException(String.format("Application property %s can't be a Map", entry.getKey()));
} else if (entry.getValue().getClass().isArray()) {
throw new IllegalArgumentException(String.format("Application property %s can't be an Array", entry.getKey()));
}
}
propsToAdd.put(entry.getKey(), entry.getValue());
}
final ApplicationProperties applicationProperties = new ApplicationProperties(propsToAdd);
msg.setApplicationProperties(applicationProperties);
}
}
代码示例来源:origin: org.eclipse.hono/hono-core
/**
* Adds a property to an AMQP 1.0 message.
* <p>
* The property is added to the message's <em>application-properties</em>.
*
* @param msg The message.
* @param key The property key.
* @param value The property value.
* @throws NullPointerException if any of th parameters are {@code null}.
*/
public static void addProperty(final Message msg, final String key, final Object value) {
Objects.requireNonNull(msg);
Objects.requireNonNull(key);
Objects.requireNonNull(value);
final ApplicationProperties props = Optional.ofNullable(msg.getApplicationProperties())
.orElseGet(() -> {
final ApplicationProperties result = new ApplicationProperties(new HashMap<String, Object>());
msg.setApplicationProperties(result);
return result;
});
props.getValue().put(key, value);
}
代码示例来源:origin: eclipse/hono
/**
* Adds a property to an AMQP 1.0 message.
* <p>
* The property is added to the message's <em>application-properties</em>.
*
* @param msg The message.
* @param key The property key.
* @param value The property value.
* @throws NullPointerException if any of th parameters are {@code null}.
*/
public static void addProperty(final Message msg, final String key, final Object value) {
Objects.requireNonNull(msg);
Objects.requireNonNull(key);
Objects.requireNonNull(value);
final ApplicationProperties props = Optional.ofNullable(msg.getApplicationProperties())
.orElseGet(() -> {
final ApplicationProperties result = new ApplicationProperties(new HashMap<String, Object>());
msg.setApplicationProperties(result);
return result;
});
props.getValue().put(key, value);
}
代码示例来源:origin: Azure/azure-service-bus-java
private static Message createRequestMessageFromValueBody(String operation, Object valueBody, Duration timeout, String associatedLinkName)
{
Message requestMessage = Message.Factory.create();
requestMessage.setBody(new AmqpValue(valueBody));
HashMap applicationPropertiesMap = new HashMap();
applicationPropertiesMap.put(ClientConstants.REQUEST_RESPONSE_OPERATION_NAME, operation);
applicationPropertiesMap.put(ClientConstants.REQUEST_RESPONSE_TIMEOUT, timeout.toMillis());
if(!StringUtil.isNullOrEmpty(associatedLinkName))
{
applicationPropertiesMap.put(ClientConstants.REQUEST_RESPONSE_ASSOCIATED_LINK_NAME, associatedLinkName);
}
requestMessage.setApplicationProperties(new ApplicationProperties(applicationPropertiesMap));
return requestMessage;
}
代码示例来源:origin: EnMasseProject/enmasse
private static List<List<String>> collectRouter(SyncRequestClient client, String entityType, List<String> attributeNames) throws Exception {
Map<String, Object> properties = new LinkedHashMap<>();
properties.put("operation", "QUERY");
properties.put("entityType", entityType);
Map<String, Object> body = new LinkedHashMap<>();
body.put("attributeNames", attributeNames);
Message message = Proton.message();
message.setApplicationProperties(new ApplicationProperties(properties));
message.setBody(new AmqpValue(body));
Message response = client.request(message, 10, TimeUnit.SECONDS);
AmqpValue value = (AmqpValue) response.getBody();
Map<?,?> values = (Map<?,?>) value.getValue();
@SuppressWarnings("unchecked")
List<List<String>> results = (List<List<String>>) values.get("results");
return results;
}
}
代码示例来源:origin: EnMasseProject/enmasse
@Override
public List<String> getQueueNames(AmqpClient queueClient, Destination replyQueue, String topic) throws Exception {
Message requestMessage = Message.Factory.create();
Map<String, Object> appProperties = new HashMap<>();
appProperties.put(resourceProperty, "address." + topic);
appProperties.put(operationProperty, "getQueueNames");
requestMessage.setAddress(managementAddress);
requestMessage.setApplicationProperties(new ApplicationProperties(appProperties));
requestMessage.setReplyTo(replyQueue.getAddress());
requestMessage.setBody(new AmqpValue("[]"));
Future<Integer> sent = queueClient.sendMessages(managementAddress, requestMessage);
assertThat(String.format("Sender failed, expected %d messages", 1), sent.get(30, TimeUnit.SECONDS), is(1));
log.info("request sent");
Future<List<Message>> received = queueClient.recvMessages(replyQueue.getAddress(), 1);
assertThat(String.format("Receiver failed, expected %d messages", 1),
received.get(30, TimeUnit.SECONDS).size(), is(1));
AmqpValue val = (AmqpValue) received.get().get(0).getBody();
log.info("answer received: " + val.toString());
String queues = val.getValue().toString();
queues = queues.replaceAll("\\[|]|\"", "");
return Arrays.asList(queues.split(","));
}
代码示例来源:origin: EnMasseProject/enmasse
@Override
public int getSubscriberCount(AmqpClient queueClient, Destination replyQueue, String queue) throws Exception {
Message requestMessage = Message.Factory.create();
Map<String, Object> appProperties = new HashMap<>();
appProperties.put(resourceProperty, "queue." + queue);
appProperties.put(operationProperty, "getConsumerCount");
requestMessage.setAddress(managementAddress);
requestMessage.setApplicationProperties(new ApplicationProperties(appProperties));
requestMessage.setReplyTo(replyQueue.getAddress());
requestMessage.setBody(new AmqpValue("[]"));
Future<Integer> sent = queueClient.sendMessages(managementAddress, requestMessage);
assertThat(String.format("Sender failed, expected %d messages", 1),
sent.get(30, TimeUnit.SECONDS), is(1));
log.info("request sent");
Future<List<Message>> received = queueClient.recvMessages(replyQueue.getAddress(), 1);
assertThat(String.format("Receiver failed, expected %d messages", 1),
received.get(30, TimeUnit.SECONDS).size(), is(1));
AmqpValue val = (AmqpValue) received.get().get(0).getBody();
log.info("answer received: " + val.toString());
String count = val.getValue().toString().replaceAll("\\[|]|\"", "");
return Integer.valueOf(count);
}
}
代码示例来源:origin: EnMasseProject/enmasse
public Message request(Message message, long timeout, TimeUnit timeUnit) {
Map<String, Object> properties = new HashMap<>();
if (message.getApplicationProperties() != null) {
properties.putAll(message.getApplicationProperties().getValue());
}
message.setApplicationProperties(new ApplicationProperties(properties));
if (message.getReplyTo() == null) {
message.setReplyTo(replyTo);
}
context.runOnContext(h -> sender.send(message));
try {
return replies.poll(timeout, timeUnit);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: Azure/azure-event-hubs-java
properties.put(ClientConstants.PUT_TOKEN_AUDIENCE, tokenAudience);
final ApplicationProperties applicationProperties = new ApplicationProperties(properties);
request.setApplicationProperties(applicationProperties);
request.setBody(new AmqpValue(token));
代码示例来源:origin: org.eclipse.hono/hono-client
private static Message createResponseMessage(
final String targetAddress,
final String correlationId,
final String contentType,
final Buffer payload,
final Map<String, Object> properties,
final int status) {
Objects.requireNonNull(targetAddress);
Objects.requireNonNull(correlationId);
final Message msg = ProtonHelper.message();
msg.setCorrelationId(correlationId);
msg.setAddress(targetAddress);
MessageHelper.setPayload(msg, contentType, payload);
if (properties != null) {
msg.setApplicationProperties(new ApplicationProperties(properties));
}
MessageHelper.setCreationTime(msg);
MessageHelper.addProperty(msg, MessageHelper.APP_PROPERTY_STATUS, status);
return msg;
}
代码示例来源:origin: org.eclipse.hono/hono-core
map.put(MessageHelper.APP_PROPERTY_CACHE_CONTROL, cacheDirective);
message.setApplicationProperties(new ApplicationProperties(map));
代码示例来源:origin: Azure/azure-event-hubs-java
private int getSize(final EventDataImpl eventData, final boolean isFirst) {
final Message amqpMessage = this.partitionKey != null ? eventData.toAmqpMessage(this.partitionKey) : eventData.toAmqpMessage();
int eventSize = amqpMessage.encode(this.eventBytes, 0, maxMessageSize); // actual encoded bytes size
eventSize += 16; // data section overhead
if (isFirst) {
amqpMessage.setBody(null);
amqpMessage.setApplicationProperties(null);
amqpMessage.setProperties(null);
amqpMessage.setDeliveryAnnotations(null);
eventSize += amqpMessage.encode(this.eventBytes, 0, maxMessageSize);
}
return eventSize;
}
}
代码示例来源:origin: Azure/azure-iot-sdk-java
protonMessage.setApplicationProperties(applicationProperties);
代码示例来源:origin: io.vertx/vertx-amqp-bridge
/**
* Verifies that an incoming timestamp AMQP application property is converted to a long [by the translator]
*/
@Test
public void testAMQP_to_JSON_VerifyApplicationPropertyTimestamp() {
Map<String, Object> props = new HashMap<>();
ApplicationProperties appProps = new ApplicationProperties(props);
String timestampPropKey = "timestampPropKey";
long now = System.currentTimeMillis();
props.put(timestampPropKey, new Date(now));
Message protonMsg = Proton.message();
protonMsg.setApplicationProperties(appProps);
JsonObject jsonObject = translator.convertToJsonObject(protonMsg);
assertNotNull("expected converted msg", jsonObject);
assertTrue("expected application properties element key to be present",
jsonObject.containsKey(AmqpConstants.APPLICATION_PROPERTIES));
JsonObject jsonAppProps = jsonObject.getJsonObject(AmqpConstants.APPLICATION_PROPERTIES);
assertNotNull("expected application properties element value to be non-null", jsonAppProps);
assertTrue("expected key to be present", jsonAppProps.containsKey(timestampPropKey));
Map<String, Object> propsMap = jsonAppProps.getMap();
assertTrue("expected key to be present", propsMap.containsKey(timestampPropKey));
assertTrue("expected value to be present, as encoded long",
jsonAppProps.getValue(timestampPropKey) instanceof Long);
assertEquals("expected value to be equal", now, jsonAppProps.getValue(timestampPropKey));
}
代码示例来源:origin: io.vertx/vertx-amqp-bridge
/**
* Verifies that an incoming Binary AMQP application property is converted into an encoded string [by combination of
* the translator and JsonObject itself]
*/
@Test
public void testAMQP_to_JSON_VerifyApplicationPropertyBinary() {
Map<String, Object> props = new HashMap<>();
ApplicationProperties appProps = new ApplicationProperties(props);
String binaryPropKey = "binaryPropKey";
String binaryPropValueSource = "binaryPropValueSource";
Binary bin = new Binary(binaryPropValueSource.getBytes(StandardCharsets.UTF_8));
props.put(binaryPropKey, bin);
Message protonMsg = Proton.message();
protonMsg.setApplicationProperties(appProps);
JsonObject jsonObject = translator.convertToJsonObject(protonMsg);
assertNotNull("expected converted msg", jsonObject);
assertTrue("expected application properties element key to be present",
jsonObject.containsKey(AmqpConstants.APPLICATION_PROPERTIES));
JsonObject jsonAppProps = jsonObject.getJsonObject(AmqpConstants.APPLICATION_PROPERTIES);
assertNotNull("expected application properties element value to be non-null", jsonAppProps);
assertTrue("expected key to be present", jsonAppProps.containsKey(binaryPropKey));
Map<String, Object> propsMap = jsonAppProps.getMap();
assertTrue("expected key to be present", propsMap.containsKey(binaryPropKey));
assertTrue("expected value to be present, as encoded string",
jsonAppProps.getValue(binaryPropKey) instanceof String);
assertArrayEquals("unepected decoded bytes", binaryPropValueSource.getBytes(StandardCharsets.UTF_8),
jsonAppProps.getBinary(binaryPropKey));
}
代码示例来源:origin: io.vertx/vertx-amqp-bridge
@Test
public void testAMQP_to_JSON_VerifyMessageApplicationProperties() {
Map<String, Object> props = new HashMap<>();
ApplicationProperties appProps = new ApplicationProperties(props);
String testPropKeyA = "testPropKeyA";
String testPropValueA = "testPropValueA";
String testPropKeyB = "testPropKeyB";
String testPropValueB = "testPropValueB";
props.put(testPropKeyA, testPropValueA);
props.put(testPropKeyB, testPropValueB);
Message protonMsg = Proton.message();
protonMsg.setApplicationProperties(appProps);
JsonObject jsonObject = translator.convertToJsonObject(protonMsg);
assertNotNull("expected converted msg", jsonObject);
assertTrue("expected application properties element key to be present",
jsonObject.containsKey(AmqpConstants.APPLICATION_PROPERTIES));
JsonObject jsonAppProps = jsonObject.getJsonObject(AmqpConstants.APPLICATION_PROPERTIES);
assertNotNull("expected application properties element value to be non-null", jsonAppProps);
assertTrue("expected key to be present", jsonAppProps.containsKey(testPropKeyB));
assertEquals("expected value to be equal", testPropValueB, jsonAppProps.getValue(testPropKeyB));
assertTrue("expected key to be present", jsonAppProps.containsKey(testPropKeyA));
assertEquals("expected value to be equal", testPropValueA, jsonAppProps.getValue(testPropKeyA));
}
代码示例来源:origin: io.vertx/vertx-amqp-bridge
/**
* Verifies that a Symbol application property is converted to a String [by the JsonObject]
*/
@Test
public void testAMQP_to_JSON_VerifyApplicationPropertySymbol() {
Map<String, Object> props = new HashMap<>();
ApplicationProperties appProps = new ApplicationProperties(props);
String symbolPropKey = "symbolPropKey";
Symbol symbolPropValue = Symbol.valueOf("symbolPropValue");
props.put(symbolPropKey, symbolPropValue);
Message protonMsg = Proton.message();
protonMsg.setApplicationProperties(appProps);
JsonObject jsonObject = translator.convertToJsonObject(protonMsg);
assertNotNull("expected converted msg", jsonObject);
assertTrue("expected application properties element key to be present",
jsonObject.containsKey(AmqpConstants.APPLICATION_PROPERTIES));
JsonObject jsonAppProps = jsonObject.getJsonObject(AmqpConstants.APPLICATION_PROPERTIES);
assertNotNull("expected application properties element value to be non-null", jsonAppProps);
assertTrue("expected key to be present", jsonAppProps.containsKey(symbolPropKey));
assertEquals("expected value to be equal, as a string", symbolPropValue.toString(),
jsonAppProps.getValue(symbolPropKey));
}
内容来源于网络,如有侵权,请联系作者删除!