MaintainJ Blog

September 16, 2011

About the new MaintainJ V3.2 video demo on Alfresco

Filed under: Uncategorized — maintainj @ 6:08 pm

The MaintainJ V3.2 captures the the actual runtime SQL calls sent to the database irrespective of the JDBC framework used. It also shows the interactions between the JSPs. So I was looking for a suitable sample application with the following qualities to demonstrate these capabilities.

  1. A large application – I do not want to demonstrate MaintainJ on a ‘Hello World’ kind of application. I wanted a  large, enterprise scale, real-world application that uses the popular Java frameworks.
  2. An application that uses database so that I can showcase the runtime SQL statements.
  3. An open source application so that I would not be reverse engineering some proprietary code.

Alfresco satisfies all the criteria to perfection. It’s a large open source software with:

  • 8000+ Java classes
  • 600+ XML configuration files that include Spring, Hibernate and I don’t know what else
  • 260+ JSP’s
  • A J2EE application running on Tomcat and MySQL.

I had few problems in running the Alfresco Document Management product. I just had to create a database in my local MySQL server and Alfresco created the required tables.
When I tried MaintainJ on Alfresco, it was surprisingly smooth. I faced two familiar issues that were resolved quickly.

  1. The OutOfMemoryError:PermGen issue that was resolved by increasing the max PermGen to 256MB. This line is added to the Tomcat setenv.bat – set JAVA_OPTS=-XX:MaxPermSize=256m %JAVA_OPTS%
  2. There were 2 classes that were causing problems with instrumenting the code. I excluded both those classes from the instrumentation scope.

That’s it! I chose the Login use case because it has all the elements to demonstrate the capabilities of MaintainJ.

This demo proved that:

  1. MaintainJ indeed helps developers to quickly understand the runtime interactions for a use case in a large application.
  2. That the actual runtime SQL statements are captured with parameters populated regardless of the JDBC framework used (Hibernate being the framework here)

Choudary Kothapalli.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

You must be logged in to post a comment.

Powered by WordPress