MaintainJ  
Home Demos download.html Buy License User Guide Support Testimonials About Us
1. Introduction 2. Why MaintainJ? 3. Installation 4. UML Editor 5. Instrumentation 6. FAQ

3. MaintainJ Quick Start

For detailed installation instructions, check the sections below. The following wizard will present the download links and demo video relevant to your application.

What is the type of your application? J2EE J2SE Applet JUnit Eclipse Plug-in None of these

3.1 MaintainJ.war - For J2EE Applications

MaintainJ.war

MaintainJ.war web application is used to instrument J2EE applications. It installs MaintainJ jar files to the application server and configures the J2EE application for instrumentation. Deploy MaintainJ.war directly to the server or from an Eclipse based IDE (after importing the war as a project). Open http://server/MaintainJ/index.jsp for installation and configuration page and follow the instructions.

3.2 Eclipse Plug-ins Installation

MaintainJ has two Eclipse features - MaintainJ Feature and MaintainJ J2EE Server Feature. MaintainJ Feature is required. J2EE Server Feature is required only for Tomcat or JBoss applications.

MaintainJ Feature has the following 3 plug-ins:
1. MaintainJ UML Editor - Renders UML sequence and class diagrams from call trace files.

2. MaintainJ Launcher - Launches Java applications, Applets, JUnit test cases with MaintainJ enabled. You need this plug-in to generate call trace files for J2SE GUI or non-GUI applications, Applets and JUnit test cases.
3. MaintainJ Wizards - Contains help files, wizards to merge trace files and to get license files.

MaintainJ J2EE Server Feature has MaintainJ J2EE Server Launcher plug-in.

The following sections help you to install the plug-ins.

3.2.1. Software Requirements
3.2.2. MaintainJ Update Urls
3.2.3. MaintainJ Plug-in Zips  
3.2.4. Register for License
3.2.5. Verification

3.2.1. Software Requirements

  • Eclipse 3.2 or newer
  • GEF 3.2 or newer - Graphical Editing Framework plug-in; used to render UML diagrams

3.2.2. MaintainJ Update Urls

MaintainJ Feature:
Update URL for Eclipse 3.3 or above: http://www.maintainj.com/updates/2.9

Update URL for Eclipse 3.2: http://www.maintainj.com/updates/2.9.32

MaintainJ J2EE Server Feature: http://www.maintainj.com/updates/server

The following installation steps vary depending on Eclipse version. Just remember that you need to install GEF too.

  • In Eclipse, click 'Help-->Software Updates-->Find and Install-->Search for new features to install'
  • Click 'New Remote Site' and in the dialog box opened, enter one of the URLs above
  • Select MaintainJ Update Site, expand Ganymede/Europa/Callisto Discovery Site and click 'Select Required'. This will select GEF plug-in if it is not already present in your configuration.
  • Click 'Next' and follow the wizard steps

3.2.3. MaintainJ Plug-in Zips

MaintainJ Feature:
MaintainJ_2.9.0.zip (for Eclipse 3.3 and above)
MaintainJ_2.9.0_ForEclipse_3.2.zip (for Eclipse 3.2)

MaintainJ J2EE Server Feature: MaintainJ_J2EE_Launcher_2.9.0.zip

These zips contains all MaintainJ plug-ins. Unzip the zip file to <<EclipseRoot>>/eclipse/plugins folder and restart Eclipse. <<EclipseRoot>> is the folder where Eclipse was installed. If you do not have the GEF plug-in pre-installed, install it before installing MaintainJ. The following table lists the Eclipse version and the matching version of GEF along with the download links. To install GEF, unzip GEF-runtime-x.x.x.zip to <<EclipseRoot>> folder.

Eclipse Version Matching GEF Version
3.5 3.5
3.4.x 3.4.x
3.3 3.3
3.2.2 3.2.2
3.2.0 3.2.0

3.2.4. Register - Register to get the full evaluation license.

3.2.5. Verification

MaintainJ UML Diagram Editor : Download the sample trace files and copy them to an Eclipse project in your workspace. UML sequence and class diagrams should be shown in Eclipse.  Sun's PetStore application is instrumented to generate the following trace files. If these files are downloaded as *.htm (IE may do so), rename them as *.ser before adding to a Java project in Eclipse.

AddToCart31080535.ser - Trace file for 'Add to Shopping Cart' use case.
CompleteOrder31080535.ser - Trace file for 'Complete Order' use case.

MaintainJ Launcher : Click 'Run-->Run' in Eclipse to open the launch configurations dialog. On the left hand side, you should see Java Application with MaintainJ as one of the launch configurations

MaintainJ Wizards : Click 'File-->New-->Other' in Eclipse. In the 'New' wizard, you should see MaintainJ folder.

MaintainJ J2EE Server Launcher : Open Servers view in Eclipse. Open the 'Define a New Server' wizard (in Servers view, right click->New->Server). Under Apache and JBoss server groups, you should see Tomcat x.x with MaintainJ and JBoss x.x with MaintainJ respectively.

3.3 MaintainJ Aspect Wizard

MaintainJSwingWizard.jar  - Start as 'java -jar MaintainJSwingWizard.jar'

You can use this wizard to instrument in two scenarios:
a) You have a J2SE application that is launched from outside Eclipse. If you are launching your application from inside Eclipse, use MaintainJ Launcher plug-in.
b) You want to reverse engineer an Eclipse plug-in and generate the UML diagrams.

3.4 Release Notes

MaintainJ 2.9.0 (March 29, 2010)

  1. Major revamp of UML Diagram Editor to increase the performance.
  2. The tooltips for calls and classes are enhanced. The call tooltip shows the javadoc information if the source file is available in the workspace. In the class diagram the class tooltip shows all the methods of that class called in the use case. The tooltips behave exactly as they do in java source editor.
  3. The sequence and class diagrams are always in sync now. In the previous releases, when a class is deleted in the sequence diagram, it is deleted in class diagram but when a class is deleted from class diagram, it is not deleted in sequence diagram. In this release they are always in sync.
  4. When a class or call is selected in the Outline view, the corresponding class or call is not automatically selected in the diagram. User needs to right click and choose 'Select In Diagram' to select the corresponding class or call in the diagram. This change is to avoid unnecessary scrolling of the diagram, which is very slow in large diagrams.
  5. For Tomcat and JBoss applications deployed in Eclipse using MaintainJ J2EE server feature, the JSPs are automatically added to the instrumentation scope and are shown in the diagrams.
  6. The trace files saved as .mnj files in previous releases cannot be opened in this release. A conversion tool for this purpose will be released soon.

MaintainJ 2.8.0 (September 10, 2009)

  1. MaintainJ J2EE Server Plug-in is released. This plug-in is used to instrument applications running on Tomcat or JBoss.
  2. MaintainJ Launcher plug-in is enhanced to seamlessly support JUnit and Applets.
  3. 'MaintainJ Start and Stop Tracing' Swing window is updated with more information.
  4. AspectJ weaver used is upgraded to more efficient version 1.6.4.

MaintainJ 2.5.3 (January 17, 2009)

  1. Added floating license option.
  2. Classes in class diagrams can be resized now.
  3. In MaintainJ Launcher plug-in, stopping users from selecting com package as it includes packages like com.sun into the instrumentation scope.

MaintainJ 2.5.1 (October 27, 2008)

  1. Bug fix release. Fixed a defect in MaintainJ Launcher plug-in.

MaintainJ 2.5 (July 07, 2008)

  1. Dependency on AJDT plug-in is removed. Now GEF is the only required plug-in.
  2. Build-time instrumentation wizard is retired.

MaintainJ 2.4 (July 01, 2008)

  1. UML class diagrams show methods called in each class in a scenario.
  2. In UML sequence diagrams, 'Delete Duplicate Calls to a Method' menu option deletes all calls expect the selected call.

MaintainJ 2.1 (December 08, 2007)

  1. MaintainJ.war updates - Updated to work on UNIX. Updated to work with J2EE applications deployed from Eclipse.
  2. MaintainJ Launcher is supported on all flavors of JREs of version 1.4 and above.
  3. UML sequence diagrams show the response time for every method call. Select a call and open the Eclipse properties view to view the response time.

MaintainJ 2.0 (October 24, 2007)

  1. Runtime instrumentation support is added for J2SE and J2EE applications. Applications running on supported configurations are instrumented at runtime to generate the call trace files. No changes done to the source code. No need to build the source code using AspectJ; the deployed application is instrumented at runtime to generate the call trace files. UML diagrams are generated from trace files.
  2. A new Eclipse plug-in, MaintainJ Launcher, is added. This plug-in instruments J2SE applications at runtime and generates call trace files when the application is launched from Eclipse.
  3. A new web application MaintainJ.war is developed for runtime instrumenting J2EE applications. MaintainJ.war installs MaintainJ related jars on the server, generates the aspect and prepares the application for runtime instrumentation.
  4. UML diagrams can also be exported as BMP images. BMP images offer better quality.

MaintainJ 1.3 (September 1, 2007)

  1. UML Editor's performance has been increased drastically. Now large diagrams can be opened and edited much faster than before. While in the last release a sequence diagram with 6000 calls took around 75 seconds to open, it now takes about 13 seconds.
  2. More features to better understand multi-threaded applications. In this release trace files of different threads can be merged using a wizard. Follow File-->New-->Other-->MaintainJ-->Merge Trace Files to access the wizard. When the trace file logging is stopped, a trace file that contains joinpoints of all threads is written with name <<TraceFileName>>_AllThreads.ser . However, if this file is too large (say 20,000+ calls), it may take a while to render the diagram. In such a case, it is better to work with trace files of each thread separately and merge them as necessary.
  3. Instrumentation Wizard enhanced to work on Solaris. The browser widget, which was giving problems on Solaris is not used on platforms that do not support browser.
  4. License is locked to the computer name. Users need to supply the Host Key (encoded computer name + user name for evaluation and just machine name when bought) to get the license file.
  5. Bug fixes. When a trace file outside the workspace is opened, a message is shown to add to add the trace file to a project in workspace.

MaintainJ 1.2.2 (July 19, 2007)

  1. Bug fixes to work with Eclipse 3.3.

MaintainJ 1.2.1 (July 13, 2007)

  1. The downloaded version of the plug-in works in a limited evaluation mode, in which  one can expand or collapse calls in the sequence diagrams for a limited number of times. Users need to install the license file to get the full evaluation license.

MaintainJ 1.2 (June 26, 2007)

The following is a list of the major changes in this version:

  1. Support for Eclipse plug-ins is added. Now, Eclipse plug-ins can be instrumented using Instrumentation Wizard and diagrams can be generated in a couple of minutes.
  2. Support for pure web applications is added. In the previous version, the Instrumentation Wizard did not support pure web applications that don't have an EAR file. Now users can instrument such applications and deploy to servers like Tomcat to generate UML diagrams.
  3. Support for non-GUI J2SE applications is added. Instrumentation Wizard can instrument any Java code. Once the code is instrumented, user can add a few lines of code to log the trace files. 
  4. Demos are added for J2SE and Plug-in instrumentation.
  5. Bug fixes.
MaintainJ