diff --git a/spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/MethodInvokerTests-context.xml b/spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/MethodInvokerTests-context.xml
new file mode 100644
index 0000000000..f4a2fed5fd
--- /dev/null
+++ b/spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/MethodInvokerTests-context.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/MethodInvokerTests.java b/spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/MethodInvokerTests.java
new file mode 100644
index 0000000000..67df132ba0
--- /dev/null
+++ b/spring-integration-jmx/src/test/java/org/springframework/integration/jmx/config/MethodInvokerTests.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2002-2010 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. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+
+package org.springframework.integration.jmx.config;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Set;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.integration.Message;
+import org.springframework.integration.MessageChannel;
+import org.springframework.integration.MessagingException;
+import org.springframework.integration.core.MessageHandler;
+import org.springframework.integration.core.SubscribableChannel;
+import org.springframework.integration.support.MessageBuilder;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+/**
+ * @author Dave Syer
+ * @since 2.0
+ */
+@ContextConfiguration
+@RunWith(SpringJUnit4ClassRunner.class)
+public class MethodInvokerTests {
+
+ @Autowired
+ private MBeanServer server;
+
+ @Autowired
+ private MessageChannel echos;
+
+ @Autowired
+ private SubscribableChannel underscores;
+
+ @Test
+ public void testHandlerMBeanRegistration() throws Exception {
+ Set names = server.queryNames(new ObjectName("test.MethodInvoker:type=MessageHandler,*"), null);
+ // System.err.println(names);
+ // the router and the error handler...
+ assertEquals(2, names.size());
+ underscores.subscribe(new MessageHandler() {
+ public void handleMessage(Message> message) throws MessagingException {
+ assertEquals("foo", message.getPayload());
+ }
+ });
+ echos.send(MessageBuilder.withPayload("foo").setHeader("entity-type", "underscore").build());
+ }
+
+}