Apply "instanceof pattern matching" in spring-jms
This commit is contained in:
@@ -31,6 +31,7 @@ import org.springframework.util.Assert;
|
||||
* @author Arjen Poutsma
|
||||
* @author Mark Fisher
|
||||
* @author Rossen Stoyanchev
|
||||
* @author Sam Brannen
|
||||
* @since 4.0
|
||||
* @param <T> the message payload type
|
||||
* @see GenericMessage
|
||||
@@ -153,14 +154,14 @@ public final class MessageBuilder<T> {
|
||||
return this.providedMessage;
|
||||
}
|
||||
MessageHeaders headersToUse = this.headerAccessor.toMessageHeaders();
|
||||
if (this.payload instanceof Throwable) {
|
||||
if (this.providedMessage != null && this.providedMessage instanceof ErrorMessage) {
|
||||
Message<?> message = ((ErrorMessage) this.providedMessage).getOriginalMessage();
|
||||
if (this.payload instanceof Throwable throwable) {
|
||||
if (this.providedMessage != null && this.providedMessage instanceof ErrorMessage errorMessage) {
|
||||
Message<?> message = errorMessage.getOriginalMessage();
|
||||
if (message != null) {
|
||||
return (Message<T>) new ErrorMessage((Throwable) this.payload, headersToUse, message);
|
||||
return (Message<T>) new ErrorMessage(throwable, headersToUse, message);
|
||||
}
|
||||
}
|
||||
return (Message<T>) new ErrorMessage((Throwable) this.payload, headersToUse);
|
||||
return (Message<T>) new ErrorMessage(throwable, headersToUse);
|
||||
}
|
||||
else {
|
||||
return new GenericMessage<>(this.payload, headersToUse);
|
||||
@@ -203,8 +204,8 @@ public final class MessageBuilder<T> {
|
||||
public static <T> Message<T> createMessage(@Nullable T payload, MessageHeaders messageHeaders) {
|
||||
Assert.notNull(payload, "Payload must not be null");
|
||||
Assert.notNull(messageHeaders, "MessageHeaders must not be null");
|
||||
if (payload instanceof Throwable) {
|
||||
return (Message<T>) new ErrorMessage((Throwable) payload, messageHeaders);
|
||||
if (payload instanceof Throwable throwable) {
|
||||
return (Message<T>) new ErrorMessage(throwable, messageHeaders);
|
||||
}
|
||||
else {
|
||||
return new GenericMessage<>(payload, messageHeaders);
|
||||
|
||||
Reference in New Issue
Block a user