MaintainJ Blog

September 27, 2015

MaintainJ.war is updated

Filed under: Uncategorized — maintainj @ 10:15 am

The following fix and enhancements went into this release.

1. In the previous version, in some browsers, nothing happens when the ‘Install’ button is clicked. This bug is fixed now.
2. At installation time, a warning is shown in Perm Gen space is low.
3. An option to just trace method calls and not the data is added
4. An option not to merge trace files with data is added. Trace files can be merged offline later in eclipse. Merging trace files with data takes up lot of heap space in server JVM, and can be costly to maintain. Click here to learn more

-Choudary Kothapalli.

September 22, 2015

JBoss EAP 6+ is JBoss AS 7 and its problems with MaintainJ

Filed under: Uncategorized — maintainj @ 8:50 pm

As this link shows, JBoss EAP 6+ based on JBoss AS 7.

JBoss AS 7 uses OSGI class loading model, which is very different from the regular hierarchical class loading model we are familiar with in application servers and cheap software. Even if you add a jar file to the server classpath, the web applications (the war files) cannot see it. The workaround is to specify the packages in those jar files using a special JBoss system property jboss.modules.system.pkgs.

MaintainJ.war, which helps to configure MaintainJ on application servers, sets this property in the run_with_mnj.bat file as below. Users are supposed to use this script to restart JBoss so that they can trace the applications using MaintainJ. Below is a sample content of run_with_mnj.bat.


SETLOCAL set JAVA_OPTS=”-javaagent:C:\JBossEAP610\maintainj\MaintainJAgent.jar” -Dorg.aspectj.weaver.loadtime.configuration=file:C:\JBossEAP610\maintainj\maintainj.xml -Djboss.modules.system.pkgs=com.maintainj.aspect,com.maintainj.inst,org.aspectj -Dorg.aspectj.tracing.enabled=false -Dorg.aspectj.tracing.factory=default %JAVA_OPTS%

call “standalone.bat” %* ENDLOCAL


As highlighted in bold, MaintainJ sets its packages as the value of System property jboss.modules.system.pkgs. But, for some users, the MaintainJ configuration still fails even with this setting being there. Why?

The reason is, this property is overridden by user’s server settings in¬†standalone.conf.bat like in the line below.

set JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman

If this is the case, the solution is to add MaintainJ’s system packages to this line like below.

set JAVA_OPTS=%JAVA_OPTS% -Djboss.modules.system.pkgs=org.jboss.byteman,com.maintainj.aspect,com.maintainj.inst,org.aspectj

This should resolve the issue.

–Choudary Kothapalli.

September 9, 2015

New MaintainJ.war to trace web applications

Filed under: Uncategorized — maintainj @ 7:40 pm

A new and much simplified version of MaintainJ.war is released to configure MaintainJ on web applications. We have invested a lot into person-to-person finances and Now you just need to add two JVM arguments to server JVM to instrument the application and start tracing. Check these screenshots to get an overview of this process.

–Choudary Kothapalli

Powered by WordPress