Files
spring-integration-samples/basic/jmx
Spring Operator 4f48dce420 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were fixed successfully.

* http://www.apache.org/licenses/LICENSE-2.0.txt migrated to:
  https://www.apache.org/licenses/LICENSE-2.0.txt ([https](https://www.apache.org/licenses/LICENSE-2.0.txt) result 200).
* http://projects.spring.io/spring-integration migrated to:
  https://projects.spring.io/spring-integration ([https](https://projects.spring.io/spring-integration) result 301).
* http://repo.spring.io/libs-milestone migrated to:
  https://repo.spring.io/libs-milestone ([https](https://repo.spring.io/libs-milestone) result 302).
* http://repo.spring.io/libs-snapshot migrated to:
  https://repo.spring.io/libs-snapshot ([https](https://repo.spring.io/libs-snapshot) result 302).
* http://repo.spring.io/libs-staging-local migrated to:
  https://repo.spring.io/libs-staging-local ([https](https://repo.spring.io/libs-staging-local) result 302).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0
* http://maven.apache.org/xsd/maven-4.0.0.xsd
* http://www.w3.org/2001/XMLSchema-instance
2019-03-06 10:03:19 -05:00
..
2017-09-01 16:14:34 -04:00
2019-03-06 10:03:19 -05:00

JMX Sample

This example demonstrates the following aspects of the JMX support available with Spring Integration:

  1. JMX Attribute Polling Channel
  2. JMX Operation Invoking Channel Adapter

StopWatch is a Managed Bean. It is bootstraped and deployed using annotation support (@Component, @ManagedResource) and component scanning functionality provided by Spring JMX. Internally StopWatch simply runs a task that increments the value of its seconds attribute by 1 every second.

The JMX Attribute Polling Channel Adapter simply polls a managed attribute seconds of the StopWatch MBean identified by the name:

org.springframework.integration.samples.jmx:type=StopWatch,name=stopWatch

It sends its value to a seconds channel. The interesting part is that the seconds channel is a publish-subscribe-channel and has two subscribers:

  • Stdout Channel Adapter which prints the value of the polled attribute to the console
  • Filter which essentially waits till the payload value is 10

Once the payload value is 10, the filter sends the Message to a reset channel, which is represented as JMX Operation Invoking Channel Adapter. That adapter simply invokes the reset operation on the same StopWatch MBean resetting the seconds attribute value back to 1 and the process repeats.

To run the JMX Adapter sample simply execute JmxAdapterDemoTest. You will see output similar to this, which will loop for ~20 seconds:

1
2
3
4
5
6
7
8
9
10
1
2
3
. . .