AMQP: Add bindSourceMessage property (inbound)
Resolves https://github.com/spring-projects/spring-integration/issues/2958
This commit is contained in:
committed by
Artem Bilan
parent
0addbe536b
commit
1067f91a8b
@@ -67,6 +67,11 @@ public class IntegrationMessageHeaderAccessor extends MessageHeaderAccessor {
|
||||
|
||||
public static final String ACKNOWLEDGMENT_CALLBACK = "acknowledgmentCallback";
|
||||
|
||||
/**
|
||||
* Raw source message.
|
||||
*/
|
||||
public static final String SOURCE_DATA = "sourceData";
|
||||
|
||||
private static final BiFunction<String, String, String> TYPE_VERIFY_MESSAGE_FUNCTION =
|
||||
(name, trailer) -> "The '" + name + trailer;
|
||||
|
||||
@@ -153,6 +158,18 @@ public class IntegrationMessageHeaderAccessor extends MessageHeaderAccessor {
|
||||
return getHeader(DELIVERY_ATTEMPT, AtomicInteger.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the source data header, if present.
|
||||
* @param <T> the data type.
|
||||
* @return the source header.
|
||||
* @since 5.1.6
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
public <T> T getSourceData() {
|
||||
return (T) getHeader(SOURCE_DATA);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
public <T> T getHeader(String key, Class<T> type) {
|
||||
|
||||
@@ -107,4 +107,10 @@ public final class StaticMessageHeaderAccessor {
|
||||
AcknowledgmentCallback.class);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
public static <T> T getSourceData(Message<?> message) {
|
||||
return (T) message.getHeaders().get(IntegrationMessageHeaderAccessor.SOURCE_DATA);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user