diff --git a/org.springframework.jms/src/main/java/org/springframework/jms/config/JmsListenerContainerParser.java b/org.springframework.jms/src/main/java/org/springframework/jms/config/JmsListenerContainerParser.java
index c6f6bf2df44..bd052175e9e 100644
--- a/org.springframework.jms/src/main/java/org/springframework/jms/config/JmsListenerContainerParser.java
+++ b/org.springframework.jms/src/main/java/org/springframework/jms/config/JmsListenerContainerParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2008 the original author or authors.
+ * Copyright 2002-2009 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.
@@ -42,6 +42,8 @@ class JmsListenerContainerParser extends AbstractListenerContainerParser {
private static final String TASK_EXECUTOR_ATTRIBUTE = "task-executor";
+ private static final String ERROR_HANDLER_ATTRIBUTE = "error-handler";
+
private static final String CACHE_ATTRIBUTE = "cache";
@@ -93,6 +95,12 @@ class JmsListenerContainerParser extends AbstractListenerContainerParser {
new RuntimeBeanReference(taskExecutorBeanName));
}
+ String errorHandlerBeanName = containerEle.getAttribute(ERROR_HANDLER_ATTRIBUTE);
+ if (StringUtils.hasText(errorHandlerBeanName)) {
+ containerDef.getPropertyValues().addPropertyValue("errorHandler",
+ new RuntimeBeanReference(errorHandlerBeanName));
+ }
+
String destinationResolverBeanName = containerEle.getAttribute(DESTINATION_RESOLVER_ATTRIBUTE);
if (StringUtils.hasText(destinationResolverBeanName)) {
containerDef.getPropertyValues().addPropertyValue("destinationResolver",
diff --git a/org.springframework.jms/src/main/resources/org/springframework/jms/config/spring-jms-3.0.xsd b/org.springframework.jms/src/main/resources/org/springframework/jms/config/spring-jms-3.0.xsd
index c55297de2fa..1ba1f277702 100644
--- a/org.springframework.jms/src/main/resources/org/springframework/jms/config/spring-jms-3.0.xsd
+++ b/org.springframework.jms/src/main/resources/org/springframework/jms/config/spring-jms-3.0.xsd
@@ -125,6 +125,19 @@
+
+
+
+
+
+
+
+
+
+
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms.xsd">
+ transaction-manager="testTransactionManager" error-handler="testErrorHandler">
@@ -46,6 +46,8 @@
+
+