[jbosstools-dev] Short, medium, and long term changes to JMX component

Rob Stryker rstryker at redhat.com
Tue May 6 01:45:35 EDT 2014


Hi All:

For those who may not be aware, the JMX component is set to undergo 
significant changes in the future.  The cause for these changes are a 
large amount of duplication between FuseIDE and the current JMX 
component, which need to be unified together.

Based on the current release schedule, it is unlikely we get a complete 
refactor / merge accomplished in any way for this year's release, though 
we are proceeding at this time with the expectation that we get as much 
low-hanging fruit dealt with as quickly as possible.

With this in mind, Paul Leacu has been working on investigating the 
history of the various branches and the origins and lifecycles of them 
over the past 7 years, with some assistance from myself and Lars Heinemann.

The low-hanging fruit we've decided to make a baseline goal for this 
year's major release is to move the JVM monitor code from FuseIDE into 
the jbosstools-server/jmx repository, and to get it enabled in our JMX 
view.  FuseIDE, which has a release schedule that is staggered from 
ours, will have plenty of time to adapt to these changes, remove the 
outdated duplicates from their repository, and begin using our JMX 
component as a dependency for FuseIDE.



At this point, we've accomplished two main goals:
    1) We've verified that there are no critical incompatibilities or 
blockages that would prevent the larger merge in principle
    2) We have successfully made a topic branch which moves the jvm 
monitor's core and ui plugins into the jbosstools-server repository.

This is not enough for a commit to jbosstools-server's master branch 
yet. While the core and the ui have been added cleanly, it is not 
enabled in our JMX / MBean Explorer view. A critical wiring plugin still 
needs to be refactored in order to enable this.

Once the remaining plugin, in charge of adding the JVM Monitor nodes to 
our MBean Explorer view, has been cleaned up, we will be looking to add 
this code to the upcoming release, and will be requesting feedback via a 
Pull Request.

This approach would achieve the following goals:
    1) Safely add new *and functional* code AND workflow, with no new 
dependencies, to the jbosstools-server repository
    2) Remove duplication from the FuseIDE for a significant chunk of 
what needs to be merged
    3) Serves as a baseline for further integration and a starting point 
for the larger refactor that is needed


The work can be followed at the following links:

Planning document: 
https://community.jboss.org/docs/DOC-52590?uniqueTitle=false
JIRA issue:  https://issues.jboss.org/browse/ECLIPSE-946
JIRA issue:  https://issues.jboss.org/browse/JBIDE-14119

The new additions as they stand at the moment can be viewed here: 
https://github.com/jbosstools/jbosstools-server/pull/220

We are hopefully expecting this critical wiring component to be 
converted over the next week or so, with a few days after for testing.

An alternative plan would be to accept PR 220 without "wiring" 
immediately. This would give us a lot of new code, but no new 
functionality for users, and so is of questionable utility, but I list 
it here as an option. This alternative plan would be safe, and would 
serve as a base for future integration, but would not in fact be very 
"useful" to the current JMX component.

Feel free to discuss any questions or concerns on strategy here or on 
the JIRAs.

- Rob Stryker




More information about the jbosstools-dev mailing list