diff --git a/build.properties b/build.properties
index 88a207f01a..5f67d73da3 100644
--- a/build.properties
+++ b/build.properties
@@ -7,5 +7,5 @@ ivy.cache.dir=${basedir}/../ivy-cache
integration.repo.dir=${basedir}/../integration-repo
javadoc.exclude.package.names=org/springframework/integration/samples/**
# dependency versions
-spring.version=3.0.0.M4
+spring.version=3.0.0.RC1
junit.version=4.6.0
diff --git a/org.springframework.integration.adapter/.classpath b/org.springframework.integration.adapter/.classpath
index a355be7fdc..0cbdc017e0 100644
--- a/org.springframework.integration.adapter/.classpath
+++ b/org.springframework.integration.adapter/.classpath
@@ -7,11 +7,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/org.springframework.integration.event/.classpath b/org.springframework.integration.event/.classpath
index a355be7fdc..0cbdc017e0 100644
--- a/org.springframework.integration.event/.classpath
+++ b/org.springframework.integration.event/.classpath
@@ -7,11 +7,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/org.springframework.integration.file/.classpath b/org.springframework.integration.file/.classpath
index f7b0324893..30a2f34a07 100644
--- a/org.springframework.integration.file/.classpath
+++ b/org.springframework.integration.file/.classpath
@@ -7,12 +7,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/org.springframework.integration.http/.classpath b/org.springframework.integration.http/.classpath
index ed7669b16d..bc863d71ff 100644
--- a/org.springframework.integration.http/.classpath
+++ b/org.springframework.integration.http/.classpath
@@ -11,14 +11,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.httpinvoker/.classpath b/org.springframework.integration.httpinvoker/.classpath
index 7355875d8a..ac6b69db54 100644
--- a/org.springframework.integration.httpinvoker/.classpath
+++ b/org.springframework.integration.httpinvoker/.classpath
@@ -9,14 +9,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.jms/.classpath b/org.springframework.integration.jms/.classpath
index 89f640534b..ab9b27b384 100644
--- a/org.springframework.integration.jms/.classpath
+++ b/org.springframework.integration.jms/.classpath
@@ -8,14 +8,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.mail/.classpath b/org.springframework.integration.mail/.classpath
index 755b0cbfb6..004be15c95 100644
--- a/org.springframework.integration.mail/.classpath
+++ b/org.springframework.integration.mail/.classpath
@@ -9,13 +9,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.rmi/.classpath b/org.springframework.integration.rmi/.classpath
index 1cfd4ef38c..df96c39bad 100644
--- a/org.springframework.integration.rmi/.classpath
+++ b/org.springframework.integration.rmi/.classpath
@@ -8,13 +8,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.security/.classpath b/org.springframework.integration.security/.classpath
index 8fdbf22e09..92c9cc55f1 100644
--- a/org.springframework.integration.security/.classpath
+++ b/org.springframework.integration.security/.classpath
@@ -9,14 +9,14 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.stream/.classpath b/org.springframework.integration.stream/.classpath
index fd04a0ed11..0597cc212d 100644
--- a/org.springframework.integration.stream/.classpath
+++ b/org.springframework.integration.stream/.classpath
@@ -7,12 +7,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/org.springframework.integration.test/.classpath b/org.springframework.integration.test/.classpath
index 33caaa3dee..158c1679fc 100644
--- a/org.springframework.integration.test/.classpath
+++ b/org.springframework.integration.test/.classpath
@@ -9,15 +9,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration.test/src/main/java/org/springframework/integration/test/util/TestUtils.java b/org.springframework.integration.test/src/main/java/org/springframework/integration/test/util/TestUtils.java
index bd8368d41c..c5bcb4c43c 100644
--- a/org.springframework.integration.test/src/main/java/org/springframework/integration/test/util/TestUtils.java
+++ b/org.springframework.integration.test/src/main/java/org/springframework/integration/test/util/TestUtils.java
@@ -17,8 +17,10 @@
package org.springframework.integration.test.util;
import static org.hamcrest.CoreMatchers.is;
-import org.hamcrest.Matcher;
import static org.junit.Assert.assertThat;
+
+import org.hamcrest.Matcher;
+
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.FatalBeanException;
import org.springframework.beans.factory.BeanFactory;
@@ -39,9 +41,9 @@ import org.springframework.integration.message.MessageHandler;
import org.springframework.integration.message.MessageHandlingException;
import org.springframework.integration.message.MessageRejectedException;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-import org.springframework.scheduling.support.ErrorHandler;
import org.springframework.scheduling.support.PeriodicTrigger;
import org.springframework.util.Assert;
+import org.springframework.util.ErrorHandler;
import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy;
diff --git a/org.springframework.integration/.classpath b/org.springframework.integration/.classpath
index e775664196..6382837c88 100644
--- a/org.springframework.integration/.classpath
+++ b/org.springframework.integration/.classpath
@@ -11,15 +11,15 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/aop/MessagePublishingInterceptor.java b/org.springframework.integration/src/main/java/org/springframework/integration/aop/MessagePublishingInterceptor.java
index 090664f739..3725e9febd 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/aop/MessagePublishingInterceptor.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/aop/MessagePublishingInterceptor.java
@@ -144,7 +144,10 @@ public class MessagePublishingInterceptor implements MethodInterceptor {
String[] headerExpressionStrings = this.expressionSource.getHeaderExpressions(method);
if (headerExpressionStrings != null) {
Map headers = new HashMap();
- context.setRootObject(headers);
+
+ // TODO: avoid this downcast
+ ((StandardEvaluationContext) context).setRootObject(headers);
+
for (String headerExpression : headerExpressionStrings) {
if (StringUtils.hasText(headerExpression)) {
Expression expression = this.parser.parseExpression(headerExpression);
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/channel/ExecutorChannel.java b/org.springframework.integration/src/main/java/org/springframework/integration/channel/ExecutorChannel.java
index 65bba45f00..bfd510acce 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/channel/ExecutorChannel.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/channel/ExecutorChannel.java
@@ -23,8 +23,8 @@ import org.springframework.integration.core.MessageChannel;
import org.springframework.integration.dispatcher.LoadBalancingStrategy;
import org.springframework.integration.dispatcher.UnicastingDispatcher;
import org.springframework.integration.util.ErrorHandlingTaskExecutor;
-import org.springframework.scheduling.support.ErrorHandler;
import org.springframework.util.Assert;
+import org.springframework.util.ErrorHandler;
/**
* An implementation of {@link MessageChannel} that delegates to an instance of
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/channel/MessagePublishingErrorHandler.java b/org.springframework.integration/src/main/java/org/springframework/integration/channel/MessagePublishingErrorHandler.java
index 78ae73faa5..44fe5ef658 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/channel/MessagePublishingErrorHandler.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/channel/MessagePublishingErrorHandler.java
@@ -18,7 +18,6 @@ package org.springframework.integration.channel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.integration.context.IntegrationContextUtils;
@@ -26,8 +25,8 @@ import org.springframework.integration.core.Message;
import org.springframework.integration.core.MessageChannel;
import org.springframework.integration.core.MessagingException;
import org.springframework.integration.message.ErrorMessage;
-import org.springframework.scheduling.support.ErrorHandler;
import org.springframework.util.Assert;
+import org.springframework.util.ErrorHandler;
/**
* {@link ErrorHandler} implementation that sends an {@link ErrorMessage} to a
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/channel/PublishSubscribeChannel.java b/org.springframework.integration/src/main/java/org/springframework/integration/channel/PublishSubscribeChannel.java
index 137ea37c28..45131a9e20 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/channel/PublishSubscribeChannel.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/channel/PublishSubscribeChannel.java
@@ -21,7 +21,7 @@ import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.core.task.TaskExecutor;
import org.springframework.integration.dispatcher.BroadcastingDispatcher;
import org.springframework.integration.util.ErrorHandlingTaskExecutor;
-import org.springframework.scheduling.support.ErrorHandler;
+import org.springframework.util.ErrorHandler;
/**
* A channel that sends Messages to each of its subscribers.
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java
index d7ba23c7bf..7a80388af8 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/endpoint/AbstractPollingEndpoint.java
@@ -21,7 +21,6 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledFuture;
import org.aopalliance.aop.Advice;
-
import org.springframework.aop.framework.ProxyFactory;
import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.beans.factory.InitializingBean;
@@ -30,7 +29,6 @@ import org.springframework.integration.channel.BeanFactoryChannelResolver;
import org.springframework.integration.channel.MessagePublishingErrorHandler;
import org.springframework.integration.util.ErrorHandlingTaskExecutor;
import org.springframework.scheduling.Trigger;
-import org.springframework.scheduling.support.ErrorHandler;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
@@ -39,6 +37,7 @@ import org.springframework.transaction.support.TransactionCallback;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
+import org.springframework.util.ErrorHandler;
/**
* @author Mark Fisher
diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/util/ErrorHandlingTaskExecutor.java b/org.springframework.integration/src/main/java/org/springframework/integration/util/ErrorHandlingTaskExecutor.java
index efd885cb81..cf9144465e 100644
--- a/org.springframework.integration/src/main/java/org/springframework/integration/util/ErrorHandlingTaskExecutor.java
+++ b/org.springframework.integration/src/main/java/org/springframework/integration/util/ErrorHandlingTaskExecutor.java
@@ -17,8 +17,8 @@
package org.springframework.integration.util;
import org.springframework.core.task.TaskExecutor;
-import org.springframework.scheduling.support.ErrorHandler;
import org.springframework.util.Assert;
+import org.springframework.util.ErrorHandler;
/**
* A {@link TaskExecutor} implementation that wraps an existing TaskExecutor
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/PublishSubscribeChannelParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/PublishSubscribeChannelParserTests.java
index 4bc8e2979a..35b53d23cc 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/config/PublishSubscribeChannelParserTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/PublishSubscribeChannelParserTests.java
@@ -30,7 +30,7 @@ import org.springframework.core.task.TaskExecutor;
import org.springframework.integration.channel.PublishSubscribeChannel;
import org.springframework.integration.dispatcher.BroadcastingDispatcher;
import org.springframework.integration.util.ErrorHandlingTaskExecutor;
-import org.springframework.scheduling.support.ErrorHandler;
+import org.springframework.util.ErrorHandler;
/**
* @author Mark Fisher
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/TestErrorHandler.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/TestErrorHandler.java
index df8efe4bed..726838c66f 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/config/TestErrorHandler.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/TestErrorHandler.java
@@ -16,7 +16,7 @@
package org.springframework.integration.config;
-import org.springframework.scheduling.support.ErrorHandler;
+import org.springframework.util.ErrorHandler;
/**
* @author Mark Fisher
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingConsumerEndpointTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingConsumerEndpointTests.java
index eed92c1b62..c7834bcf7c 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingConsumerEndpointTests.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/endpoint/PollingConsumerEndpointTests.java
@@ -42,7 +42,7 @@ import org.springframework.integration.message.StringMessage;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-import org.springframework.scheduling.support.ErrorHandler;
+import org.springframework.util.ErrorHandler;
/**
* @author Iwein Fuld
diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/test/util/TestUtils.java b/org.springframework.integration/src/test/java/org/springframework/integration/test/util/TestUtils.java
index 8c1119cb6b..b80ae5ee88 100644
--- a/org.springframework.integration/src/test/java/org/springframework/integration/test/util/TestUtils.java
+++ b/org.springframework.integration/src/test/java/org/springframework/integration/test/util/TestUtils.java
@@ -17,8 +17,12 @@
package org.springframework.integration.test.util;
import static org.hamcrest.CoreMatchers.is;
-import org.hamcrest.Matcher;
import static org.junit.Assert.assertThat;
+
+import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy;
+
+import org.hamcrest.Matcher;
+
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.beans.FatalBeanException;
import org.springframework.beans.factory.BeanFactory;
@@ -39,11 +43,9 @@ import org.springframework.integration.message.MessageHandler;
import org.springframework.integration.message.MessageHandlingException;
import org.springframework.integration.message.MessageRejectedException;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-import org.springframework.scheduling.support.ErrorHandler;
import org.springframework.scheduling.support.PeriodicTrigger;
import org.springframework.util.Assert;
-
-import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy;
+import org.springframework.util.ErrorHandler;
/**
* @author Mark Fisher