diff --git a/docs/pom.xml b/docs/pom.xml
index f3987adfc..0bb38e32b 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-stream-binder-rabbit-parent
- 2.2.1.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
pom
spring-cloud-stream-binder-rabbit-docs
diff --git a/pom.xml b/pom.xml
index f5361466d..6c0e414a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,17 +2,16 @@
4.0.0
spring-cloud-stream-binder-rabbit-parent
- 2.2.1.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
pom
org.springframework.cloud
spring-cloud-build
- 2.1.4.BUILD-SNAPSHOT
+ 2.2.0.BUILD-SNAPSHOT
- 2.2.0.BUILD-SNAPSHOT
- 2.1.4.RELEASE
+ 3.0.0.BUILD-SNAPSHOT
1.8
true
true
diff --git a/spring-cloud-starter-stream-rabbit/pom.xml b/spring-cloud-starter-stream-rabbit/pom.xml
index cb163e930..70405d4aa 100644
--- a/spring-cloud-starter-stream-rabbit/pom.xml
+++ b/spring-cloud-starter-stream-rabbit/pom.xml
@@ -4,7 +4,7 @@
org.springframework.cloud
spring-cloud-stream-binder-rabbit-parent
- 2.2.1.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
spring-cloud-starter-stream-rabbit
Spring Cloud Starter Stream Rabbit
diff --git a/spring-cloud-stream-binder-rabbit-core/pom.xml b/spring-cloud-stream-binder-rabbit-core/pom.xml
index f06b4d95f..0d7a17ce9 100644
--- a/spring-cloud-stream-binder-rabbit-core/pom.xml
+++ b/spring-cloud-stream-binder-rabbit-core/pom.xml
@@ -10,7 +10,7 @@
org.springframework.cloud
spring-cloud-stream-binder-rabbit-parent
- 2.2.1.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
diff --git a/spring-cloud-stream-binder-rabbit-test-support/pom.xml b/spring-cloud-stream-binder-rabbit-test-support/pom.xml
index 1615407bd..bae3a583f 100644
--- a/spring-cloud-stream-binder-rabbit-test-support/pom.xml
+++ b/spring-cloud-stream-binder-rabbit-test-support/pom.xml
@@ -4,7 +4,7 @@
org.springframework.cloud
spring-cloud-stream-binder-rabbit-parent
- 2.2.1.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
spring-cloud-stream-binder-rabbit-test-support
Rabbit related test classes
diff --git a/spring-cloud-stream-binder-rabbit/pom.xml b/spring-cloud-stream-binder-rabbit/pom.xml
index 616b6f028..a62c86c15 100644
--- a/spring-cloud-stream-binder-rabbit/pom.xml
+++ b/spring-cloud-stream-binder-rabbit/pom.xml
@@ -10,7 +10,7 @@
org.springframework.cloud
spring-cloud-stream-binder-rabbit-parent
- 2.2.1.BUILD-SNAPSHOT
+ 3.0.0.BUILD-SNAPSHOT
diff --git a/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java b/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java
index 9f9b406d0..40496d3b2 100644
--- a/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java
+++ b/spring-cloud-stream-binder-rabbit/src/main/java/org/springframework/cloud/stream/binder/rabbit/RabbitMessageChannelBinder.java
@@ -32,21 +32,21 @@ import org.springframework.amqp.ImmediateAcknowledgeAmqpException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessagePostProcessor;
import org.springframework.amqp.core.MessageProperties;
+import org.springframework.amqp.rabbit.batch.BatchingStrategy;
+import org.springframework.amqp.rabbit.batch.SimpleBatchingStrategy;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.connection.LocalizedQueueConnectionFactory;
import org.springframework.amqp.rabbit.connection.RabbitUtils;
import org.springframework.amqp.rabbit.core.BatchingRabbitTemplate;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.amqp.rabbit.core.support.BatchingStrategy;
-import org.springframework.amqp.rabbit.core.support.SimpleBatchingStrategy;
import org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
-import org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.retry.RejectAndDontRequeueRecoverer;
import org.springframework.amqp.rabbit.retry.RepublishMessageRecoverer;
import org.springframework.amqp.rabbit.support.DefaultMessagePropertiesConverter;
+import org.springframework.amqp.rabbit.support.ListenerExecutionFailedException;
import org.springframework.amqp.rabbit.support.MessagePropertiesConverter;
import org.springframework.amqp.support.converter.AbstractMessageConverter;
import org.springframework.amqp.support.converter.MessageConversionException;
diff --git a/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/RabbitBinderTests.java b/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/RabbitBinderTests.java
index 2046e7bc5..019c65af6 100644
--- a/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/RabbitBinderTests.java
+++ b/spring-cloud-stream-binder-rabbit/src/test/java/org/springframework/cloud/stream/binder/rabbit/RabbitBinderTests.java
@@ -90,6 +90,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.Lifecycle;
+import org.springframework.context.support.GenericApplicationContext;
import org.springframework.expression.spel.standard.SpelExpression;
import org.springframework.integration.amqp.outbound.AmqpOutboundEndpoint;
import org.springframework.integration.amqp.support.NackedAmqpMessageException;
@@ -638,7 +639,6 @@ public class RabbitBinderTests extends
assertThat(container.isRunning()).isFalse();
}
- @SuppressWarnings("deprecation")
@Test
public void testProducerProperties() throws Exception {
RabbitTestBinder binder = getBinder();
@@ -658,17 +658,20 @@ public class RabbitBinderTests extends
Boolean.class)).isFalse();
ExtendedProducerProperties producerProperties = createProducerProperties();
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkExtractor",
+ TestPartitionKeyExtractorClass.class, () -> new TestPartitionKeyExtractorClass());
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkSelector",
+ TestPartitionSelectorClass.class, () -> new TestPartitionSelectorClass());
+ producerProperties.setPartitionKeyExtractorName("pkExtractor");
+ producerProperties.setPartitionSelectorName("pkSelector");
producerProperties.getExtension().setPrefix("foo.");
producerProperties.getExtension()
.setDeliveryMode(MessageDeliveryMode.NON_PERSISTENT);
producerProperties.getExtension().setHeaderPatterns(new String[] { "foo" });
producerProperties
.setPartitionKeyExpression(spelExpressionParser.parseExpression("'foo'"));
- producerProperties
- .setPartitionKeyExtractorClass(TestPartitionKeyExtractorClass.class);
producerProperties.setPartitionSelectorExpression(
spelExpressionParser.parseExpression("0"));
- producerProperties.setPartitionSelectorClass(TestPartitionSelectorClass.class);
producerProperties.setPartitionCount(1);
producerProperties.getExtension().setTransacted(true);
producerProperties.getExtension()
@@ -860,7 +863,6 @@ public class RabbitBinderTests extends
assertThat(context.containsBean(TEST_PREFIX + "dlqtest.default.dlq")).isFalse();
}
- @SuppressWarnings("deprecation")
@Test
public void testAutoBindDLQPartionedConsumerFirst() throws Exception {
RabbitTestBinder binder = getBinder();
@@ -888,9 +890,11 @@ public class RabbitBinderTests extends
ExtendedProducerProperties producerProperties = createProducerProperties();
producerProperties.getExtension().setPrefix("bindertest.");
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkExtractor", PartitionTestSupport.class, () -> new PartitionTestSupport());
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkSelector", PartitionTestSupport.class, () -> new PartitionTestSupport());
producerProperties.getExtension().setAutoBindDlq(true);
- producerProperties.setPartitionKeyExtractorClass(PartitionTestSupport.class);
- producerProperties.setPartitionSelectorClass(PartitionTestSupport.class);
+ producerProperties.setPartitionKeyExtractorName("pkExtractor");
+ producerProperties.setPartitionSelectorName("pkSelector");
producerProperties.setPartitionCount(2);
BindingProperties bindingProperties = createProducerBindingProperties(
producerProperties);
@@ -973,7 +977,6 @@ public class RabbitBinderTests extends
testAutoBindDLQPartionedConsumerFirstWithRepublishGuts(true);
}
- @SuppressWarnings("deprecation")
private void testAutoBindDLQPartionedConsumerFirstWithRepublishGuts(
final boolean withRetry) throws Exception {
RabbitTestBinder binder = getBinder();
@@ -1005,8 +1008,10 @@ public class RabbitBinderTests extends
ExtendedProducerProperties producerProperties = createProducerProperties();
producerProperties.getExtension().setPrefix("bindertest.");
producerProperties.getExtension().setAutoBindDlq(true);
- producerProperties.setPartitionKeyExtractorClass(PartitionTestSupport.class);
- producerProperties.setPartitionSelectorClass(PartitionTestSupport.class);
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkExtractor", PartitionTestSupport.class, () -> new PartitionTestSupport());
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkSelector", PartitionTestSupport.class, () -> new PartitionTestSupport());
+ producerProperties.setPartitionKeyExtractorName("pkExtractor");
+ producerProperties.setPartitionSelectorName("pkSelector");
producerProperties.setPartitionCount(2);
BindingProperties bindingProperties = createProducerBindingProperties(
producerProperties);
@@ -1117,7 +1122,6 @@ public class RabbitBinderTests extends
outputBinding.unbind();
}
- @SuppressWarnings("deprecation")
@Test
public void testAutoBindDLQPartitionedProducerFirst() throws Exception {
RabbitTestBinder binder = getBinder();
@@ -1126,8 +1130,9 @@ public class RabbitBinderTests extends
properties.getExtension().setPrefix("bindertest.");
properties.getExtension().setAutoBindDlq(true);
properties.setRequiredGroups("dlqPartGrp");
- properties.setPartitionKeyExtractorClass(PartitionTestSupport.class);
- properties.setPartitionSelectorClass(PartitionTestSupport.class);
+ ((GenericApplicationContext)this.applicationContext).registerBean("pkExtractor", PartitionTestSupport.class, () -> new PartitionTestSupport());
+ properties.setPartitionKeyExtractorName("pkExtractor");
+ properties.setPartitionSelectorName("pkExtractor");
properties.setPartitionCount(2);
DirectChannel output = createBindableChannel("output",
createProducerBindingProperties(properties));