diff --git a/org.springframework.integration.jmx/src/main/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParser.java b/org.springframework.integration.jmx/src/main/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParser.java
index a14bf71614..a2c95e35ba 100644
--- a/org.springframework.integration.jmx/src/main/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParser.java
+++ b/org.springframework.integration.jmx/src/main/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParser.java
@@ -22,6 +22,7 @@ import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser;
+import org.springframework.integration.config.xml.IntegrationNamespaceUtils;
/**
* @author Mark Fisher
@@ -34,6 +35,7 @@ public class NotificationPublishingChannelAdapterParser extends AbstractOutbound
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(
"org.springframework.integration.jmx.NotificationPublishingMessageHandler");
builder.addConstructorArgValue(element.getAttribute("object-name"));
+ IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "default-notification-type");
return builder.getBeanDefinition();
}
diff --git a/org.springframework.integration.jmx/src/main/resources/org/springframework/integration/jmx/config/spring-integration-jmx-2.0.xsd b/org.springframework.integration.jmx/src/main/resources/org/springframework/integration/jmx/config/spring-integration-jmx-2.0.xsd
index 17e867ef00..0f87ddf7c1 100644
--- a/org.springframework.integration.jmx/src/main/resources/org/springframework/integration/jmx/config/spring-integration-jmx-2.0.xsd
+++ b/org.springframework.integration.jmx/src/main/resources/org/springframework/integration/jmx/config/spring-integration-jmx-2.0.xsd
@@ -80,6 +80,7 @@
+
diff --git a/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests-context.xml b/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests-context.xml
index 7d42ff811b..f7b3a5e31f 100644
--- a/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests-context.xml
+++ b/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests-context.xml
@@ -20,7 +20,8 @@
+ object-name="test.publisher:name=publisher"
+ default-notification-type="default.type"/>
diff --git a/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests.java b/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests.java
index f8bdd6b854..643a18fd60 100644
--- a/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests.java
+++ b/org.springframework.integration.jmx/src/test/java/org/springframework/integration/jmx/config/NotificationPublishingChannelAdapterParserTests.java
@@ -81,6 +81,17 @@ public class NotificationPublishingChannelAdapterParserTests {
assertEquals("test.type", notification.getType());
}
+ @Test
+ public void defaultNotificationType() throws Exception {
+ assertNull(listener.lastNotification);
+ Message> message = MessageBuilder.withPayload("test").build();
+ channel.send(message);
+ assertNotNull(listener.lastNotification);
+ Notification notification = listener.lastNotification;
+ assertEquals("default.type", notification.getType());
+ }
+
+
private static class TestData {
}