diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java index 57e4e5a241..02513da4e0 100644 --- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java +++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/JmsOutboundGateway.java @@ -145,7 +145,6 @@ public class JmsOutboundGateway extends AbstractReplyProducingMessageHandler imp * specified as a boolean value ("true" or "false"). This will set the delivery * mode accordingly to either "PERSISTENT" (1) or "NON_PERSISTENT" (2). *
The default is "true", i.e. delivery mode "PERSISTENT".
- * @see #setDeliveryMode(int)
* @see javax.jms.DeliveryMode#PERSISTENT
* @see javax.jms.DeliveryMode#NON_PERSISTENT
*/
@@ -260,7 +259,13 @@ public class JmsOutboundGateway extends AbstractReplyProducingMessageHandler imp
/**
* Specify the JMS DeliveryMode to use when sending request Messages.
+ * @deprecated use {@link #setDeliveryPersistent(boolean)}
+ * This should have been deprecated in 2.0 when the attribute was
+ * deprecated in the schema. As of 3.0, the attribute has been
+ * removed but this remains to allow users of the API to migrate.
+ * TODO: Remove in 3.1/4.0
*/
+ @Deprecated
public void setDeliveryMode(int deliveryMode) {
this.deliveryMode = deliveryMode;
}
diff --git a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsOutboundGatewayParser.java b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsOutboundGatewayParser.java
index 978e62dfab..e4eda32e56 100644
--- a/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsOutboundGatewayParser.java
+++ b/spring-integration-jms/src/main/java/org/springframework/integration/jms/config/JmsOutboundGatewayParser.java
@@ -65,19 +65,8 @@ public class JmsOutboundGatewayParser extends AbstractConsumerEndpointParser {
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "priority");
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "explicit-qos-enabled");
- String deliveryMode = element.getAttribute("delivery-mode");
String deliveryPersistent = element.getAttribute("delivery-persistent");
- if (StringUtils.hasText(deliveryMode) && StringUtils.hasText(deliveryPersistent)) {
- parserContext.getReaderContext().error(
- "The 'delivery-mode' and 'delivery-persistent' attributes are mutually exclusive.", element);
- return null;
- }
- if (StringUtils.hasText(deliveryMode)) {
- parserContext.getReaderContext().warning(
- "The 'delivery-mode' attribute is deprecated. Use 'delivery-persistent' instead.", element);
- builder.addPropertyValue("deliveryMode", deliveryMode);
- }
- else if (StringUtils.hasText(deliveryPersistent)) {
+ if (StringUtils.hasText(deliveryPersistent)) {
builder.addPropertyValue("deliveryPersistent", deliveryPersistent);
}
Element container = DomUtils.getChildElementByTagName(element, "reply-listener");
diff --git a/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-3.0.xsd b/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-3.0.xsd
index 6bd25ed26c..07ba7f27de 100644
--- a/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-3.0.xsd
+++ b/spring-integration-jms/src/main/resources/org/springframework/integration/jms/config/spring-integration-jms-3.0.xsd
@@ -924,6 +924,11 @@