diff --git a/spring-integration-amqp/src/main/resources/META-INF/spring.schemas b/spring-integration-amqp/src/main/resources/META-INF/spring.schemas
index d8d07e5505..f14910ecc6 100644
--- a/spring-integration-amqp/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-amqp/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/amqp/spring-integration-amqp-4.1.xsd=org/springframework/integration/amqp/config/spring-integration-amqp-4.1.xsd
-http\://www.springframework.org/schema/integration/amqp/spring-integration-amqp.xsd=org/springframework/integration/amqp/config/spring-integration-amqp-4.1.xsd
+http\://www.springframework.org/schema/integration/amqp/spring-integration-amqp-4.2.xsd=org/springframework/integration/amqp/config/spring-integration-amqp-4.2.xsd
+http\://www.springframework.org/schema/integration/amqp/spring-integration-amqp.xsd=org/springframework/integration/amqp/config/spring-integration-amqp-4.2.xsd
diff --git a/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-4.1.xsd b/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-4.2.xsd
similarity index 99%
rename from spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-4.1.xsd
rename to spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-4.2.xsd
index 9bff535de7..8eafa33727 100644
--- a/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-4.1.xsd
+++ b/spring-integration-amqp/src/main/resources/org/springframework/integration/amqp/config/spring-integration-amqp-4.2.xsd
@@ -9,7 +9,7 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java
index 8ae1ba0159..80201e5642 100644
--- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java
+++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/AbstractIntegrationNamespaceHandler.java
@@ -44,7 +44,7 @@ public abstract class AbstractIntegrationNamespaceHandler implements NamespaceHa
protected final Log logger = LogFactory.getLog(this.getClass());
- private static final String VERSION = "4.1";
+ private static final String VERSION = "4.2";
private final NamespaceHandlerDelegate delegate = new NamespaceHandlerDelegate();
diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/WireTapParser.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/WireTapParser.java
index adf5bc2992..0f5c1092df 100644
--- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/WireTapParser.java
+++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/WireTapParser.java
@@ -20,16 +20,21 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionReaderUtils;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.channel.interceptor.WireTap;
+import org.springframework.integration.config.ExpressionFactoryBean;
+import org.springframework.integration.filter.ExpressionEvaluatingSelector;
import org.springframework.util.StringUtils;
/**
* Parser for the <wire-tap> element.
*
* @author Mark Fisher
+ * @author Gary Russell
*/
public class WireTapParser implements BeanDefinitionRegisteringParser {
+ @Override
public String parse(Element element, ParserContext parserContext) {
+ Object source = parserContext.extractSource(element);
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(WireTap.class);
String targetRef = element.getAttribute("channel");
if (!StringUtils.hasText(targetRef)) {
@@ -37,9 +42,21 @@ public class WireTapParser implements BeanDefinitionRegisteringParser {
}
builder.addConstructorArgReference(targetRef);
String selectorRef = element.getAttribute("selector");
+ String selectorExpression = element.getAttribute("selector-expression");
+ if (StringUtils.hasText(selectorRef) && StringUtils.hasText(selectorExpression)) {
+ parserContext.getReaderContext().error("Only one of 'selector' or 'selector-expression' is allowed", source);
+ }
if (StringUtils.hasText(selectorRef)) {
builder.addConstructorArgReference(selectorRef);
}
+ else if (StringUtils.hasText(selectorExpression)) {
+ BeanDefinitionBuilder expressionBuilder = BeanDefinitionBuilder
+ .genericBeanDefinition(ExpressionFactoryBean.class);
+ expressionBuilder.addConstructorArgValue(selectorExpression);
+ BeanDefinitionBuilder eemsBuilder = BeanDefinitionBuilder.genericBeanDefinition(ExpressionEvaluatingSelector.class);
+ eemsBuilder.addConstructorArgValue(expressionBuilder.getBeanDefinition());
+ builder.addConstructorArgValue(eemsBuilder.getBeanDefinition());
+ }
String timeout = element.getAttribute("timeout");
if (StringUtils.hasText(timeout)) {
builder.addPropertyValue("timeout", Long.parseLong(timeout));
diff --git a/spring-integration-core/src/main/resources/META-INF/spring.schemas b/spring-integration-core/src/main/resources/META-INF/spring.schemas
index 50902a7f77..50345a8fb2 100644
--- a/spring-integration-core/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-core/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/spring-integration-4.1.xsd=org/springframework/integration/config/xml/spring-integration-4.1.xsd
-http\://www.springframework.org/schema/integration/spring-integration.xsd=org/springframework/integration/config/xml/spring-integration-4.1.xsd
+http\://www.springframework.org/schema/integration/spring-integration-4.2.xsd=org/springframework/integration/config/xml/spring-integration-4.2.xsd
+http\://www.springframework.org/schema/integration/spring-integration.xsd=org/springframework/integration/config/xml/spring-integration-4.2.xsd
diff --git a/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-4.1.xsd b/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-4.2.xsd
similarity index 99%
rename from spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-4.1.xsd
rename to spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-4.2.xsd
index 5948b66f66..5b35a311b3 100644
--- a/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-4.1.xsd
+++ b/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-4.2.xsd
@@ -3749,7 +3749,15 @@
A reference to a bean in the Application Context
which implements MessageSelector that must accept a message for it to be
- sent to the intercepting channel
+ sent to the intercepting channel. Mutually exclusive with 'selector-expression'.
+
+
+
+
+
+
+ A boolean expression evaluated against the message to determine whether it should
+ sent to the intercepting channel. Mutually exclusive with 'selector'.
diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/wireTapParserTests.xml b/spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests-context.xml
similarity index 88%
rename from spring-integration-core/src/test/java/org/springframework/integration/config/wireTapParserTests.xml
rename to spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests-context.xml
index be4d51d520..ad12db9248 100644
--- a/spring-integration-core/src/test/java/org/springframework/integration/config/wireTapParserTests.xml
+++ b/spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests-context.xml
@@ -21,7 +21,7 @@
-
+
@@ -54,4 +54,8 @@
+
+
+
+
diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests.java
index 846a5691a5..64271b0a9f 100644
--- a/spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests.java
+++ b/spring-integration-core/src/test/java/org/springframework/integration/config/WireTapParserTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2010 the original author or authors.
+ * Copyright 2002-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,58 +16,84 @@
package org.springframework.integration.config;
+import static org.hamcrest.Matchers.instanceOf;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
-import java.util.Map;
+import java.util.List;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.springframework.beans.DirectFieldAccessor;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.integration.channel.interceptor.WireTap;
+import org.springframework.integration.filter.ExpressionEvaluatingSelector;
+import org.springframework.integration.test.util.TestUtils;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
-import org.springframework.integration.channel.interceptor.WireTap;
import org.springframework.messaging.PollableChannel;
import org.springframework.messaging.support.GenericMessage;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author Mark Fisher
+ * @author Gary Russell
*/
+@ContextConfiguration
+@RunWith(SpringJUnit4ClassRunner.class)
public class WireTapParserTests {
+ @Autowired
+ MessageChannel noSelectors;
+
+ @Autowired
+ MessageChannel accepting;
+
+ @Autowired
+ MessageChannel rejecting;
+
+ @Autowired
+ MessageChannel withId;
+
+ @Autowired
+ PollableChannel wireTapChannel;
+
+ @Autowired @Qualifier("wireTap")
+ WireTap wireTap;
+
+ @Autowired
+ List wireTaps;
+
@Test
public void simpleWireTap() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
- "wireTapParserTests.xml", this.getClass());
- MessageChannel mainChannel = (MessageChannel) context.getBean("noSelectors");
- PollableChannel wireTapChannel = (PollableChannel) context.getBean("wireTapChannel");
assertNull(wireTapChannel.receive(0));
Message> original = new GenericMessage("test");
- mainChannel.send(original);
+ noSelectors.send(original);
Message> intercepted = wireTapChannel.receive(0);
assertNotNull(intercepted);
assertEquals(original, intercepted);
}
@Test
- public void simpleWireTapWithId() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
- "wireTapParserTests.xml", this.getClass());
- WireTap wireTap = (WireTap) context.getBean("wireTap");
- assertNotNull(wireTap);
+ public void simpleWireTapWithIdAndSelectorExpression() {
+ assertThat(TestUtils.getPropertyValue(wireTap, "selector"), instanceOf(ExpressionEvaluatingSelector.class));
+ Message> original = new GenericMessage("test");
+ withId.send(original);
+ Message> intercepted = wireTapChannel.receive(0);
+ assertNotNull(intercepted);
+ assertEquals(original, intercepted);
}
@Test
public void wireTapWithAcceptingSelector() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
- "wireTapParserTests.xml", this.getClass());
- MessageChannel mainChannel = (MessageChannel) context.getBean("accepting");
- PollableChannel wireTapChannel = (PollableChannel) context.getBean("wireTapChannel");
assertNull(wireTapChannel.receive(0));
Message> original = new GenericMessage("test");
- mainChannel.send(original);
+ accepting.send(original);
Message> intercepted = wireTapChannel.receive(0);
assertNotNull(intercepted);
assertEquals(original, intercepted);
@@ -75,26 +101,19 @@ public class WireTapParserTests {
@Test
public void wireTapWithRejectingSelector() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
- "wireTapParserTests.xml", this.getClass());
- MessageChannel mainChannel = (MessageChannel) context.getBean("rejecting");
- PollableChannel wireTapChannel = (PollableChannel) context.getBean("wireTapChannel");
assertNull(wireTapChannel.receive(0));
Message> original = new GenericMessage("test");
- mainChannel.send(original);
+ rejecting.send(original);
Message> intercepted = wireTapChannel.receive(0);
assertNull(intercepted);
}
@Test
public void wireTapTimeouts() {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
- "wireTapParserTests.xml", this.getClass());
- Map beans = context.getBeansOfType(WireTap.class);
int defaultTimeoutCount = 0;
int expectedTimeoutCount = 0;
int otherTimeoutCount = 0;
- for (WireTap wireTap : beans.values()) {
+ for (WireTap wireTap : wireTaps) {
long timeout = ((Long) new DirectFieldAccessor(wireTap).getPropertyValue("timeout")).longValue();
if (timeout == 0) {
defaultTimeoutCount++;
diff --git a/spring-integration-event/src/main/resources/META-INF/spring.schemas b/spring-integration-event/src/main/resources/META-INF/spring.schemas
index 00d1c2569e..06f7e5e69c 100644
--- a/spring-integration-event/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-event/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/event/spring-integration-event-4.1.xsd=org/springframework/integration/event/config/spring-integration-event-4.1.xsd
-http\://www.springframework.org/schema/integration/event/spring-integration-event.xsd=org/springframework/integration/event/config/spring-integration-event-4.1.xsd
+http\://www.springframework.org/schema/integration/event/spring-integration-event-4.2.xsd=org/springframework/integration/event/config/spring-integration-event-4.2.xsd
+http\://www.springframework.org/schema/integration/event/spring-integration-event.xsd=org/springframework/integration/event/config/spring-integration-event-4.2.xsd
diff --git a/spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-4.1.xsd b/spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-4.2.xsd
similarity index 99%
rename from spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-4.1.xsd
rename to spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-4.2.xsd
index 3b2affaaa2..de1eeff3d3 100644
--- a/spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-4.1.xsd
+++ b/spring-integration-event/src/main/resources/org/springframework/integration/event/config/spring-integration-event-4.2.xsd
@@ -8,7 +8,7 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
diff --git a/spring-integration-file/src/main/resources/META-INF/spring.schemas b/spring-integration-file/src/main/resources/META-INF/spring.schemas
index a9b9134f63..6275228570 100644
--- a/spring-integration-file/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-file/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/file/spring-integration-file-4.1.xsd=org/springframework/integration/file/config/spring-integration-file-4.1.xsd
-http\://www.springframework.org/schema/integration/file/spring-integration-file.xsd=org/springframework/integration/file/config/spring-integration-file-4.1.xsd
+http\://www.springframework.org/schema/integration/file/spring-integration-file-4.2.xsd=org/springframework/integration/file/config/spring-integration-file-4.2.xsd
+http\://www.springframework.org/schema/integration/file/spring-integration-file.xsd=org/springframework/integration/file/config/spring-integration-file-4.2.xsd
diff --git a/spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-4.1.xsd b/spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-4.2.xsd
similarity index 99%
rename from spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-4.1.xsd
rename to spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-4.2.xsd
index 4bc83d9e29..2fdb30fd9b 100644
--- a/spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-4.1.xsd
+++ b/spring-integration-file/src/main/resources/org/springframework/integration/file/config/spring-integration-file-4.2.xsd
@@ -10,7 +10,7 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/file/spring-integration-file-4.2.xsd" />
diff --git a/spring-integration-gemfire/src/main/resources/META-INF/spring.schemas b/spring-integration-gemfire/src/main/resources/META-INF/spring.schemas
index 9d3691cbaa..9b0fa9a821 100644
--- a/spring-integration-gemfire/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-gemfire/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire-4.1.xsd=org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.1.xsd
-http\://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd=org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.1.xsd
+http\://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire-4.2.xsd=org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.2.xsd
+http\://www.springframework.org/schema/integration/gemfire/spring-integration-gemfire.xsd=org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.2.xsd
diff --git a/spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.1.xsd b/spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.2.xsd
similarity index 99%
rename from spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.1.xsd
rename to spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.2.xsd
index 9907de7e0d..ea670e9fcf 100644
--- a/spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.1.xsd
+++ b/spring-integration-gemfire/src/main/resources/org/springframework/integration/gemfire/config/xml/spring-integration-gemfire-4.2.xsd
@@ -10,7 +10,7 @@
schemaLocation="http://www.springframework.org/schema/beans/spring-beans.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
diff --git a/spring-integration-http/src/main/resources/META-INF/spring.schemas b/spring-integration-http/src/main/resources/META-INF/spring.schemas
index 13f911f447..a166df358d 100644
--- a/spring-integration-http/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-http/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/http/spring-integration-http-4.1.xsd=org/springframework/integration/http/config/spring-integration-http-4.1.xsd
-http\://www.springframework.org/schema/integration/http/spring-integration-http.xsd=org/springframework/integration/http/config/spring-integration-http-4.1.xsd
+http\://www.springframework.org/schema/integration/http/spring-integration-http-4.2.xsd=org/springframework/integration/http/config/spring-integration-http-4.2.xsd
+http\://www.springframework.org/schema/integration/http/spring-integration-http.xsd=org/springframework/integration/http/config/spring-integration-http-4.2.xsd
diff --git a/spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-4.1.xsd b/spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-4.2.xsd
similarity index 99%
rename from spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-4.1.xsd
rename to spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-4.2.xsd
index 282e63ec92..ece1c5f4d7 100644
--- a/spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-4.1.xsd
+++ b/spring-integration-http/src/main/resources/org/springframework/integration/http/config/spring-integration-http-4.2.xsd
@@ -8,7 +8,7 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/scripting/spring-integration-scripting-core-4.2.xsd" />
diff --git a/spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-4.1.xsd b/spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-4.2.xsd
similarity index 99%
rename from spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-4.1.xsd
rename to spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-4.2.xsd
index 057efe3509..f6bf924743 100644
--- a/spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-4.1.xsd
+++ b/spring-integration-scripting/src/main/resources/org/springframework/integration/scripting/config/spring-integration-scripting-core-4.2.xsd
@@ -8,7 +8,7 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
diff --git a/spring-integration-security/src/main/resources/META-INF/spring.schemas b/spring-integration-security/src/main/resources/META-INF/spring.schemas
index 65c210d085..05c4ad1546 100644
--- a/spring-integration-security/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-security/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/security/spring-integration-security-4.1.xsd=org/springframework/integration/security/config/spring-integration-security-4.1.xsd
-http\://www.springframework.org/schema/integration/security/spring-integration-security.xsd=org/springframework/integration/security/config/spring-integration-security-4.1.xsd
+http\://www.springframework.org/schema/integration/security/spring-integration-security-4.2.xsd=org/springframework/integration/security/config/spring-integration-security-4.2.xsd
+http\://www.springframework.org/schema/integration/security/spring-integration-security.xsd=org/springframework/integration/security/config/spring-integration-security-4.2.xsd
diff --git a/spring-integration-security/src/main/resources/org/springframework/integration/security/config/spring-integration-security-4.1.xsd b/spring-integration-security/src/main/resources/org/springframework/integration/security/config/spring-integration-security-4.2.xsd
similarity index 100%
rename from spring-integration-security/src/main/resources/org/springframework/integration/security/config/spring-integration-security-4.1.xsd
rename to spring-integration-security/src/main/resources/org/springframework/integration/security/config/spring-integration-security-4.2.xsd
diff --git a/spring-integration-sftp/src/main/resources/META-INF/spring.schemas b/spring-integration-sftp/src/main/resources/META-INF/spring.schemas
index 3da0e70b92..c6ca16294f 100644
--- a/spring-integration-sftp/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-sftp/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/sftp/spring-integration-sftp-4.1.xsd=org/springframework/integration/sftp/config/spring-integration-sftp-4.1.xsd
-http\://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd=org/springframework/integration/sftp/config/spring-integration-sftp-4.1.xsd
+http\://www.springframework.org/schema/integration/sftp/spring-integration-sftp-4.2.xsd=org/springframework/integration/sftp/config/spring-integration-sftp-4.2.xsd
+http\://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd=org/springframework/integration/sftp/config/spring-integration-sftp-4.2.xsd
diff --git a/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-4.1.xsd b/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-4.2.xsd
similarity index 99%
rename from spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-4.1.xsd
rename to spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-4.2.xsd
index c8478689f7..885e888c65 100644
--- a/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-4.1.xsd
+++ b/spring-integration-sftp/src/main/resources/org/springframework/integration/sftp/config/spring-integration-sftp-4.2.xsd
@@ -10,9 +10,9 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/file/spring-integration-file-4.2.xsd" />
diff --git a/spring-integration-stream/src/main/resources/META-INF/spring.schemas b/spring-integration-stream/src/main/resources/META-INF/spring.schemas
index ddedf98a5f..4e850034ea 100644
--- a/spring-integration-stream/src/main/resources/META-INF/spring.schemas
+++ b/spring-integration-stream/src/main/resources/META-INF/spring.schemas
@@ -1,2 +1,2 @@
-http\://www.springframework.org/schema/integration/stream/spring-integration-stream-4.1.xsd=org/springframework/integration/stream/config/spring-integration-stream-4.1.xsd
-http\://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd=org/springframework/integration/stream/config/spring-integration-stream-4.1.xsd
+http\://www.springframework.org/schema/integration/stream/spring-integration-stream-4.2.xsd=org/springframework/integration/stream/config/spring-integration-stream-4.2.xsd
+http\://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd=org/springframework/integration/stream/config/spring-integration-stream-4.2.xsd
diff --git a/spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-4.1.xsd b/spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-4.2.xsd
similarity index 98%
rename from spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-4.1.xsd
rename to spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-4.2.xsd
index 353d333e19..c2a091edad 100644
--- a/spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-4.1.xsd
+++ b/spring-integration-stream/src/main/resources/org/springframework/integration/stream/config/spring-integration-stream-4.2.xsd
@@ -11,7 +11,7 @@
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/ip/spring-integration-ip-4.2.xsd" />
+ schemaLocation="http://www.springframework.org/schema/integration/spring-integration-4.2.xsd"/>