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));