private static void addAxonHeaders(Headers target, EventMessage<?> eventMessage, SerializedObject<byte[]> serializedObject, BiFunction<String, Object, RecordHeader> headerValueMapper) { eventMessage.getMetaData() .forEach((k, v) -> target.add(headerValueMapper.apply(generateMetadataKey(k), v))); defaultHeaders(eventMessage, serializedObject).forEach((k, v) -> addHeader(target, k, v)); }
private static void addAxonHeaders(Headers target, EventMessage<?> eventMessage, SerializedObject<byte[]> serializedObject, BiFunction<String, Object, RecordHeader> headerValueMapper) { eventMessage.getMetaData() .forEach((k, v) -> target.add(headerValueMapper.apply(generateMetadataKey(k), v))); defaultHeaders(eventMessage, serializedObject).forEach((k, v) -> addHeader(target, k, v)); }
@Override public AMQPMessage createAMQPMessage(EventMessage<?> eventMessage) { SerializedObject<byte[]> serializedObject = eventMessage.serializePayload(serializer, byte[].class); String routingKey = routingKeyResolver.resolveRoutingKey(eventMessage); AMQP.BasicProperties.Builder properties = new AMQP.BasicProperties.Builder(); Map<String, Object> headers = new HashMap<>(); eventMessage.getMetaData().forEach((k, v) -> headers.put(Headers.MESSAGE_METADATA + "-" + k, v)); Headers.defaultHeaders(eventMessage, serializedObject).forEach((k, v) -> { if (k.equals(MESSAGE_TIMESTAMP)) { headers.put(k, formatInstant(eventMessage.getTimestamp())); } else { headers.put(k, v); } }); properties.headers(headers); if (durable) { properties.deliveryMode(2); } return new AMQPMessage(serializedObject.getData(), routingKey, properties.build(), false, false); }
@Override public AMQPMessage createAMQPMessage(EventMessage<?> eventMessage) { SerializedObject<byte[]> serializedObject = serializePayload(eventMessage, serializer, byte[].class); String routingKey = routingKeyResolver.resolveRoutingKey(eventMessage); AMQP.BasicProperties.Builder properties = new AMQP.BasicProperties.Builder(); Map<String, Object> headers = new HashMap<>(); eventMessage.getMetaData().forEach((k, v) -> headers.put(Headers.MESSAGE_METADATA + "-" + k, v)); Headers.defaultHeaders(eventMessage, serializedObject).forEach((k, v) -> { if (k.equals(MESSAGE_TIMESTAMP)) { headers.put(k, formatInstant(eventMessage.getTimestamp())); } else { headers.put(k, v); } }); properties.headers(headers); if (durable) { properties.deliveryMode(2); } return new AMQPMessage(serializedObject.getData(), routingKey, properties.build(), false, false); }