Resolve Sonar Issue

This commit is contained in:
Gary Russell
2021-04-29 11:49:47 -04:00
parent 52cb8987cf
commit 28d6445542
2 changed files with 10 additions and 3 deletions

View File

@@ -466,8 +466,8 @@ public class RabbitTemplate extends RabbitAccessor // NOSONAR type line count
*/
@Deprecated
public void setReturnCallback(ReturnCallback returnCallback) {
Assert.state(this.returnsCallback == null ||
(this.returnsCallback.delegate() != null && this.returnsCallback.delegate().equals(returnCallback)),
ReturnCallback delegate = this.returnsCallback == null ? null : this.returnsCallback.delegate();
Assert.state(this.returnsCallback == null || delegate == null || delegate.equals(returnCallback),
"Only one ReturnCallback is supported by each RabbitTemplate");
this.returnsCallback = new ReturnsCallback() {
@@ -2856,7 +2856,7 @@ public class RabbitTemplate extends RabbitAccessor // NOSONAR type line count
void returnedMessage(ReturnedMessage returned);
/**
* Internal use only; transisitional during deprecation.
* Internal use only; transitional during deprecation.
* @return the legacy delegate.
* @deprecated - will be removed with {@link ReturnCallback}.
*/

View File

@@ -66,6 +66,7 @@ import org.springframework.amqp.rabbit.connection.PublisherCallbackChannel;
import org.springframework.amqp.rabbit.connection.RabbitUtils;
import org.springframework.amqp.rabbit.connection.SimpleRoutingConnectionFactory;
import org.springframework.amqp.rabbit.connection.SingleConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnCallback;
import org.springframework.amqp.rabbit.core.RabbitTemplate.ReturnsCallback;
import org.springframework.amqp.support.converter.SimpleMessageConverter;
import org.springframework.amqp.utils.SerializationUtils;
@@ -572,6 +573,12 @@ public class RabbitTemplateTests {
ReturnsCallback cb = TestUtils.getPropertyValue(template, "returnsCallback", ReturnsCallback.class);
cb.returnedMessage(new ReturnedMessage(null, 0, null, null, null));
assertThat(called.get()).isTrue();
assertThatIllegalStateException().isThrownBy(() ->
template.setReturnCallback(mock(RabbitTemplate.ReturnCallback.class)));
RabbitTemplate template2 = new RabbitTemplate();
ReturnCallback callback = mock(RabbitTemplate.ReturnCallback.class);
template2.setReturnCallback(callback);
template2.setReturnCallback(callback);
}
@SuppressWarnings("serial")