diff --git a/spring-integration-reference/src/jmx.xml b/spring-integration-reference/src/jmx.xml
new file mode 100644
index 0000000000..aa44668380
--- /dev/null
+++ b/spring-integration-reference/src/jmx.xml
@@ -0,0 +1,175 @@
+
+
+
+ JMX Support
+
+ Spring Integration provides Channel Adapters for receiving and publishing JMX Notifications.
+ There is also an inbound Channel Adapter for polling JMX MBean attribute values, and an
+ outbound Channel Adapter for invoking JMX MBean operations.
+
+
+
+ Notification Listening Channel Adapter
+
+ The Notification-listening Channel Adapter requires a JMX ObjectName for the MBean that publishes
+ Notifications to which this listener should be registered. A very simple configuration might look like this:
+
+]]>
+
+ The notification-listening-channel-adapter registers with an MBeanServer at startup, and
+ the default bean name is "mbeanServer" which happens to be the same bean name generated
+ when using Spring's <context:mbean-server/> element. If you need to use a different
+ name be sure to include the "mbean-server" attribute.
+
+ The adapter can also accept a reference to a NotificationFilter and a "handback" Object
+ to provide some context that is passed back with each Notification. Both of those attributes
+ are optional. Extending the above example to include those attributes as well as an explicit
+ MBeanServer bean name would produce the following:
+
+]]>
+ Since the notification-listening adapter is registered with the MBeanServer directly, it is
+ event-driven and does not require any poller configuration.
+
+
+
+
+ Notification Publishing Channel Adapter
+
+ The Notification-publishing Channel Adapter is relatively simple. It only requires a
+ JMX ObjectName in its configuration as shown below.
+
+
+
+]]>
+ It does also require that an MBeanExporter be present in the context. That is why the
+ <context:mbean-export/> element is shown above as well.
+
+
+ When Messages are sent to the channel for this adapter, the Notification
+ is created from the Message content. If the payload is a String it will be
+ passed as the "message" text for the Notification. Any other payload type
+ will be passed as the "userData" of the Notification.
+
+
+ JMX Notifications also have a "type", and it should be a dot-delimited String.
+ There are two ways to provide the type. Precedence will always be given to a
+ Message header value associated with the JmxHeaders.NOTIFICATION_TYPE key.
+ On the other hand, you can rely on a fallback "default-notification-type"
+ attribute provided in the configuration.
+
+
+
+]]>
+
+
+
+
+ Attribute Polling Channel Adapter
+
+ The attribute polling adapter is useful when you have a requirement to periodically
+ check on some value that is available through an MBean as a managed attribute. The
+ poller can be configured in the same way as any other polling adapter in Spring
+ Integration (or it's possible to rely on the default poller). The "object-name"
+ and "attribute-name" are required. An MBeanServer reference is also required, but
+ it will automatically check for a bean named "mbeanServer" by default just like
+ the notification-listening-channel-adapter described above.
+
+
+
+
+
+]]>
+
+
+
+
+ Operation Invoking Channel Adapter
+
+ The operation-invoking-channel-adapter enables Message-driven invocation of
+ any managed operation exposed by an MBean. Each invocation requires the
+ operation name to be invoked and the ObjectName of the target MBean. In each
+ case, the adapter will first check for header values on the Message itself.
+ The keys for these headers are defined as JmxHeaders.OPERATION_NAME and
+ JmxHeaders.OBJECT_NAME, respectively. If relying on those Message headers,
+ the configuration is trivial.
+
+]]>
+ That adapter only needs to be able to discover the "mbeanServer" bean. If
+ a different bean name is required, then provide the "mbean-server" attribute
+ with a reference.
+
+
+ The payload of the Message will be mapped to the parameters of the operation, if any.
+ A Map-typed payload with String keys is treated as name/value pairs whereas a List or
+ array would be passed as a simple argument list (with no explicit parameter names).
+ If the operation requires a single parameter value, then the payload can represent
+ that single value, and if the operation requires no parameters, then the payload
+ would be ignored.
+
+
+ Similar to the behavior described above for the Notification type resoltion,
+ the operation-invoking-channel-adapter will also fallback to default values if
+ provided:
+
+]]>
+ If you want to expose a channel for a single common operation to be invoked
+ by Messages that need not contain headers, then that option works well.
+
+
+
+
+ Control Bus
+
+ Spring Integration components themselves may be exposed as MBeans when the Control Bus
+ is configured. As described in (EIP),
+ the idea behind the Control Bus is that the same messaging system can be used for monitoring
+ and managing the components within the framework as is used for "application-level" messaging.
+ In Spring Integration we build upon the adapters described above so that it's possible to
+ send Messages as a means of invoking exposed operations. Internally, the Control Bus uses
+ a Spring MBeanExporter instance to expose the various endpoints and channels. To create
+ an instance of the Control Bus, define a bean and provide a reference to an MBeanServer
+ and a domain name (we will be providing namespace support). The domain can be left out
+ in which case the default domain is "org.springframework.integration".
+
+
+
+
+
+
+
+
+]]>
+
+
+ The Control Bus has an "operationChannel" that can be accessed for invoking operations
+ on the MBeans that it has exported. This will also be covered by namespace support soon
+ to make it easier to configure references to that channel for other producers. We will
+ likely add some other channels for notifications and attribute polling as well.
+
+
+ The Control Bus functionality is a work in progress. At this time, one can perform some
+ basic monitoring of Message Channels and/or invoke Lifecycle operations (start/stop) on
+ Message Endpoints. Now that the foundation is available, however, we will be able to extend
+ the attributes and operations that are being exposed.
+
+
+
+
\ No newline at end of file
diff --git a/spring-integration-reference/src/spring-integration-reference.xml b/spring-integration-reference/src/spring-integration-reference.xml
index 53412607bc..5503a2affd 100644
--- a/spring-integration-reference/src/spring-integration-reference.xml
+++ b/spring-integration-reference/src/spring-integration-reference.xml
@@ -75,6 +75,7 @@
+