Sapient Releases JMX Management Console as Open Source

Discussions

News: Sapient Releases JMX Management Console as Open Source

  1. Sapient today announced it has developed and released a new product called Management Console for Java, or MC4J, to the open source community. MC4J enables graphical monitoring and maintenance of java apps/appservers written to support the JMX specification.

    Available at (http://mc4j.sf.net), the application sports a graphical interface for JMX that improves apon the existing web interfaces provided by many tools. It currently supports connecting to the MX4J project's JRMP connector, the JBoss Application Server, Bea's WebLogic application server and the JDMK RMI connector from Sun.

    Some features:
    * Tree view of MBeans, their attributes, operations and notifications
    * Connects to and remembers multiple servers
    * Descriptor information for Mbeans, attributes and operations
    * Running graphs of numeric MBean attributes
    * The ability to execute operations on MBeans and view html results
    * The ability to set attribute values of many common types
    * The ability to listen for and track notifications

    Please provide feeback in our forums:
    (http://sourceforge.net/forum/forum.php?forum_id=202966)


    Press Release
    -------------------------------------
    Sapient (NASDAQ: SAPE)), a leading business and technology consultancy, today announced it has developed and released a new product called Management Console for Java, or MC4JTM, to the open source community. MC4J enables easy graphical monitoring and maintenance of Java applications written to Java Management Extensions, or JMX, the emerging industry standard.

    "MC4J enhances the management of Java-based solutions through JMX across a variety of application server platforms, resulting in more reliable and transparent large enterprise deployments," said Ben Gaucherin, Sapient’s chief technology officer. "We’re pleased to make it available to the open source community and to contribute to the development of more accessible and valuable enterprise technologies."

    MC4J was developed by Sapient’s Advanced Technology team, which is led by Gaucherin and explores the practicable business applications of new technologies. Technology Specialist Gregory Hinkle of the Advanced Technology team was the lead architect responsible for developing the product. MC4J is available online at http://mc4j.sourceforge.net

    About Sapient
    Sapient, a leading business and technology consultancy, helps Global 2000 clients achieve measurable business results through the rapid application and support of advanced technology on a fixed-price basis. Founded in 1991, Sapient employs more than 1,800 people in offices in Atlanta, Cambridge (Mass.), Chicago, Dallas, Düsseldorf, London, Los Angeles, Milan, Munich, New Delhi, New York, San Francisco, Tokyo, Toronto and Washington, D.C. More information about Sapient can be found at www.sapient.com.
  2. The MC4J project should be a good complement to some existing open source projects:

    http://mx4j.sourceforge.net/

    JBossMX
    http://www.jboss.org/developers/projects/jboss/jbossmx.jsp

    http://www.objectweb.org/
  3. Sounds cool but when I run on jvm 1.3.0.02 I receive:

    java.lang.NullPointerException
            at org.netbeans.core.windows.frames.DefaultContainerImpl.findPosition(De
    faultContainerImpl.java:603)
            at org.netbeans.core.windows.frames.SplitContainerImpl.addToArea(SplitCo
    ntainerImpl.java:823)
            at org.netbeans.core.windows.frames.SplitContainerImpl.componentAdded(Sp
    litContainerImpl.java:481)
            at org.netbeans.core.windows.frames.DefaultContainerImpl.addTopComponent
    (DefaultContainerImpl.java:563)
            at org.netbeans.core.windows.ModeImpl.addToContainer(ModeImpl.java:2010)

            at org.netbeans.core.windows.ModeImpl.access$400(ModeImpl.java:79)
            at org.netbeans.core.windows.ModeImpl$1.performCommand(ModeImpl.java:521
    )
            at org.netbeans.core.windows.DeferredPerformer.processCommand(DeferredPe
    rformer.java:189)
            at org.netbeans.core.windows.DeferredPerformer.putRequest(DeferredPerfor
    mer.java:83)
            at org.netbeans.core.windows.ModeImpl.doDockInto(ModeImpl.java:488)
            at org.netbeans.core.windows.ModeImpl.dockInto(ModeImpl.java:428)
            at org.netbeans.core.windows.ModeImpl.dockInto(ModeImpl.java:414)
            at org.netbeans.core.windows.ModeImpl.dockInto(ModeImpl.java:402)
            at org.netbeans.core.windows.WindowManagerImpl$TopComponentManager.doOpe
    n(WindowManagerImpl.java:1673)
            at org.netbeans.core.windows.WindowManagerImpl$TopComponentManager.open(
    WindowManagerImpl.java:1630)
            at org.openide.windows.TopComponent.open(TopComponent.java:201)
            at org.openide.explorer.ExplorerPanel.open(ExplorerPanel.java:88)
            at org.netbeans.core.NbMainExplorer$ExplorerTab.open(NbMainExplorer.java
    :633)
            at org.netbeans.core.NbMainExplorer$MainTab.open(NbMainExplorer.java:863
    )
            at org.netbeans.core.windows.layers.TCRefImpl.performCommand(TCRefImpl.j
    ava:167)
            at org.netbeans.core.windows.DeferredPerformer.processCommand(DeferredPe
    rformer.java:189)
            at org.netbeans.core.windows.DeferredPerformer.stateChanged(DeferredPerf
    ormer.java:154)
            at org.netbeans.core.windows.StateManager.fireStateChanged(StateManager.
    java:117)
            at org.netbeans.core.windows.StateManager.setVisibilityState(StateManage
    r.java:142)
            at org.netbeans.core.windows.StateManager.propertyChange(StateManager.ja
    va:164)
            at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSup
    port.java:230)
            at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSup
    port.java:157)
            at java.awt.Component.firePropertyChange(Component.java:4473)
            at org.netbeans.core.windows.MainWindow.doShowWindow(MainWindow.java:223
    )
            at org.netbeans.core.windows.MainWindow.access$300(MainWindow.java:51)
            at org.netbeans.core.windows.MainWindow$4.run(MainWindow.java:199)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:154)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:334)
    [catch] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
    read.java:134)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
    ad.java:101)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:96)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)
  4. I just downloaded it. But when I try to run runidew.exe as per the readme.txt file, I get "JDK 1.3 or later cannot be found on your machine" eventhough I have required JDK version on my machine.
  5. I have been running it under JDK 1.3.1_04, and it completely rocks.

    This tool will help JBoss expand beyond the hard-core techie audience.
  6. Wrooom Wroom !!!! Yeah baby !!
  7. If it worked it would have been totally awesome! It looks really nice, and seems to have a great UI.

    However, it doesn't work with the current JBoss 3.2: you'll get a serialVersionUID problem, because some classes (in the jmxri.jar it seems, unless the console uses mx4j) have changed without specifying the UID, which means that the communications break down. Unfortunately the JMX classes are packaged into the JBoss jar, so they're not easy to replace. Put those into their own JAR and it should be possible to get it going by simply using the jmxri.jar file from JBoss.

    Then again, the real fix is to assign serialVersionUID's properly.

    Anyway, great first attempt, and I look forward to a version that actually works!
  8. Anyway, great first attempt, and I look forward to a version that actually works!


    Since it is OSS - you can do it!

  9. >>Anyway, great first attempt, and I look forward to a version that actually works!

    >Since it is OSS - you can do it!

    LOL! Thanks for explaining that to Rickard Oberg!
  10. MC4J was built to support different jmx libraries simultaneously by using the classloading functionality of NetBeans modules.

    Each application server module includes the jmx libraries from the server they're connecting to. I decided to do this because of compatibility problems between the libraries. In this case, MC4J 1.1 was released so that the jboss module includes the jbossmx libraries from the 3.0.0 release of jboss.

    Another option is to use external references so that they can be replaced with newer versions by users. I'll will definately consider that for version 1.1.1 as well as making sure it works with the new JBoss 3.2. In the meantime, you can make sure your using a certain set of JMX libraries by placing the proper jar in the "lib/ext" director of the application. Jars there will override all other module's libraries.
  11. Why's a down-and-out management consulting firm developing software -- and an open source one too? .... :)
  12. <Adrian>
    Why's a down-and-out management consulting firm developing software -- and an open source one too? .... :)
    </Adrian>

    Adrian,

    I was quite suprised to see Sapient release this stuff. What on earth are they playing at ? Sapient is one of those companies that was responsible for the dotcom hyperbole and subsequent malaise. I fear that they are trying to extend the dotcom irrational exuberance to oss - God forbid it!.

    As for the software, I am quite suprised it is getting so much kudos - I can only conclude that these chaps are affiliated with the ailing Sapient . I was quite excited when I heard of this tool but was quite disappointed with it. It is no more than an introspection of an app server's MBeans - it does not even attempt to filter MBeans based on type, as stable as a one legged table and counter intuitive. It builds upon netbeans and does a horrific job at that.

    It is sad to see a once great albeit cocky consultancy trying to eat scraps off an already congested dinner table.

    My advice to Sapient is either get back to MC'ing or die quietly !.