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

3. MaintainJ Quick Start

We strongly suggest you to watch this demo video first to understand MaintainJ's potential.

For detailed installation instructions, check the following sections. This wizard shows the download links and demo video relevant to your application.

What is the type of your application? Web App Core Java App Applet JUnit None of these

 

3.1 MaintainJ Eclipse Plug-ins Installation

MaintainJ has two Eclipse features:
a) MaintainJ Feature (always required)
b) MaintainJ J2EE Server Feature (required only for Tomcat and JBoss applications).

MaintainJ requires Eclipse 3.2 or newer versions. The following sections help you to install the plug-ins.

3.1.1. MaintainJ Update URL's

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

Follow these steps to install using the update URL's:

  • In Eclipse, click 'Help-->Install New Software'.
  • Click 'Add' and in the dialog box opened, enter one of the URL's above.
  • Select the just added site in the 'Available Software Sites' dropdown list and follow the wizard steps.

3.1.2. MaintainJ Plug-in Zip Files

We strongly recommend you to use the Update URL's to install, but if you cannot for any reason, you may install using the following zip files.

MaintainJ Feature: MaintainJ_4.0.0.zip
MaintainJ J2EE Server Feature: MaintainJ_J2EE_Launcher_4.0.0.zip

Unzip the zip files to <EclipseRoot>>/eclipse/plugins folder and restart Eclipse.
GEF (Graphical Editing Framework) plug-in is required for MaintainJ. Install it if you do not already have it installed. Ensure that you install the GEF version that works with your Eclipse version.

3.1.3. Verify Installation

MaintainJ UML Diagram and MaintainJ Wizards: Create a MaintainJ Trace Files Project by following File-->New-->Project-->MaintainJ-->MaintainJ Trace Files Project. You should see a sample trace file Alfresco_Login.ser in the project. When you open the trace file, sequence and class diagrams should show.

MaintainJ Run Configurations : Click 'Run-->Run Configurations' in Eclipse to open the run configurations dialog. On the left hand side, you should see Java Application with MaintainJ

Tomcat/JBoss Server Configurations: Open 'Servers' view in Eclipse and create a new Server (right click, New->Server). Under Apache and JBoss, you should see 'Tomcat with MaintainJ' and 'JBoss with MaintainJ'.

3.1.4. Get Evaluation License

Get the free evaluation license.
 

3.2 MaintainJ.war - To generate call trace files for Web Applications

MaintainJ.war web application is the wizard to install and configure MaintainJ on application servers. Deploy MaintainJ.war directly to the application server or from an Eclipse based IDE (after importing the war as a project). Open http://server/MaintainJ/index.jsp and follow the instructions.

Check the demo video.
 

3.3 MaintainJ Aspect Wizard

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

Use this wizard for core Java applications launched from outside Eclipse. Check the demo video. If you are launching your application from inside Eclipse, use MaintainJ Launcher plug-in.
 

3.4 Release Notes

MaintainJ 4.0.0 (April 30, 2013)

This release adds the response time tuning capability in a single user environment.
  1. Response Time View - The sequence diagram and the corresponding 'Outline view' are redesigned to allow the user to quickly find the methods that are taking the maximum response time in a use case.
  2. Filter Calls by Response Time - This feature allows the user to filter out all the calls whose response time is less than the specified time.
  3. Delete All Classes Except - This feature can be used to quickly see the interactions between the important classes in the use case.
  4. Shows the number of times a method is called in a loop - MaintainJ always removed the loop and recursive calls to avoid cluttered sequence diagrams. This version adds the feature to show the number of times a method is called in a loop.
  5. Opening trace files generated using older versions - To open the trace files generated using the older versions of MaintainJ, copy them to the 'MaintainJ Trace Files Project' created using this release. This project can be created by following File->New->Project->MaintainJ->MaintainJ Trace Files Project. Please note that the trace files from older verisons do not have information about the number of times a method is called in a loop.

MaintainJ 3.6.1 (March 12, 2013)

This is mainly a minor enhancement and bug fix release.
  1. Export the diagrams to UML2 - The package name of the return type of a call was not shown in the last release. This release fixes the issue. If the method parameters (or the return type) are of an array type, they were not shown properly in the last release. This issue is fixed as well.
  2. When call context is captured, the previous release did not generate a merged trace file of all the threads. This release generates the merged trace file for all threads.
  3. MaintainJ removes the loop and recursive calls by default. A system property is introduced to turn this off if necessary.

MaintainJ 3.6.0 (February 16, 2013)

  1. Export the diagrams to UML2 - This feature is enhanced to export the UML 2 model with the class hierarchy, class methods and attributes. Before exporting the UML 2 model, user can choose to export one or all of these options.
  2. A new plugin is created to render the class and sequence diagrams in RSA from the UML 2 model exported using the above feature.
  3. Web Sequence Diagrams - This feature allows to generate the web sequence diagrams as at websequencediagrams.com.
  4. Response times for each call is displayed in the Outline view.
  5. Support is added for JRE 1.7 and Tomcat 7.

MaintainJ 3.5.0 (January 27, 2013)

  1. Export the diagrams to UML2 - Now you can export the MaintainJ generated class and sequence diagrams into a UML2 model file. This UML2 model file can be imported into any UML2 compliant tool like Rational Software Architect (RSA) to view the UML2 class and sequence diagrams.
  2. Predefined Filters - The prior releases of MaintainJ allow defining class and/or package filters before generating the trace files. Now, similar filters can be applied on the diagrams after generating the trace files. You can capture the trace files with all the classes and then apply different filters to the diagram to view the diagrams at different levels of abstraction.
  3. Delete Constructor Calls - All constructor calls can be deleted at once using this option in the sequence diagram.

MaintainJ 3.3.0 (October 26, 2012)

  1. Introduces Impact Analysis capability - User can search for trace files, classes, methods, SQL statements in multiple trace files across many 'MaintainJ Trace File Projects'. Check the section on Impact Analysis in the user guide for more details.
  2. The class diagram is improved to show the fields and methods in a class when the mouse is hovered over a class.

MaintainJ 3.2.0 (September 7, 2012)

  1. Major release with multiple enhancements to the product.
  2. Shows call context - The context of each call is shown in the sequence diagram. The context includes the call parameters, return value and the state of the called object.
  3. Displays runtime SQL - The actual runtime SQL statements (with populated parameters) going to the database regardless of the JDBC frameworks used are shown in the sequence diagram.
  4. JSP calls - The calls to JSP(s) in a use case are shown in the sequence diagrams. If one JSP includes multiple JSPs, the runtime calls to the inner JSPs are displayed as well.
  5. Supports multi-JVM applications - Users can trace applications running on multiple JVMs and see the end-to-end call flow in a single sequence diagram. For example, when an application calls a web service running in a different JVM, the call flow across JVMs is shown in a single sequence diagram. The calls in each JVM can be seen in a different color on the same diagram.
  6. Enhanced Outline View - The sequence diagram's 'Outline View' shows all the classes and calls in the use case. It is enhanced to select and delete multiple packages, classes or calls at one go. An option to filter out all getter and setter methods has been added to the sequence diagram.
  7. By using 'Select In Diagram' feature in 'Outline View', the breadcrumb trail of the call can be seen in sequence diagram. This feature helps to quickly browse the diagram without expanding all calls.
  8. The new 'Exclude Class' feature allows to exclude some classes or packages from the diagram. This is similar to excluding classes or packages from instrumentation scope so that those classes or packages will not be captured in the trace file. This new feature allows us to first capture all calls and then exclude those we do not want from the diagram.

MaintainJ 2.9.0 (March 29, 2011)

  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