MaintainJ Blog

April 19, 2012

Unable to continue, this version of AspectJ supports classes built with weaver version 6.0 but the class XXX is version 7.0

Filed under: Uncategorized — maintainj @ 10:19 am

You might see this kind of exception when you start your application with MaintainJ. The reason for this exception is nicely described by the AspectJ lead Andy in his blog.

This exception might occur if you are already using AspectJ in your application, which may conflict with the version of AspectJ that MaintainJ is using. Below are the steps to resolve this:

1. Search if you have aspectjrt.jar or aspectjweaver.jar in your application classpath. Remove them if so.

2. MaintainJ already places aspectjweaver.jar at a higher level in the classpath. So, you don’t need it in your application. aspectjweaver.jar has all the classes in aspectjrt.jar and so you can safely remove it from your classpath.

Do those steps and restart your application. If you still have any problems, contact me.

–Choudary Kothapalli.

April 7, 2012

MaintainJ for Android apps

Filed under: Uncategorized — maintainj @ 8:05 pm

MaintainJ support for Android applications is added.

–Choudary Kothapalli.

March 26, 2012

MaintainJ won the Best Modeling Product award at Eclipse Community Awards 2012

Filed under: Uncategorized — maintainj @ 9:02 pm

Great news! MaintainJ won the Best Modeling Product award at Eclipse Community Awards 2012!

Here are the nomination details.

Below is my picture taking the award from Ian Skerrett of Eclipse foundation!

–Choudary Kothapalli.

March 20, 2012

What a relief!

Filed under: Uncategorized — maintainj @ 11:40 pm

This is the first time I am linking another blog on my blog. I just feel so relieved after reading this particular blog. Read about Imposter Syndrome.

Choudary Kothapalli.

March 6, 2012

NotSerializableException: org.aspectj.runtime.reflect.JoinPointImpl$StaticPartImpl

Filed under: Uncategorized — maintainj @ 1:40 pm

One of the MaintainJ users reported the above exception while tracing a legacy application. The exception stack trace is as below:

Caused by: java.io.NotSerializableException: org.aspectj.runtime.reflect.JoinPointImpl$StaticPartImpl
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at xxx.yyyyy.ZZZClass.writeExternal_aroundBody4(ZZZClass.java:70)

MaintainJ uses AspectJ load time weaving (LTW) mechanism to capture the call trace. The LTW adds new fields like below to the woven classes and they are not marked ‘transient’.

private static final org.aspectj.lang.JoinPoint.StaticPart ajc$tjp_0; /* synthetic field */

The JoinPoint.StaticPart does not implement Serializable. So, when a woven class is serialized, NotSerializableException is thrown. The AspectJ team responded very quickly to mark these fields transient and avoid this exception. If you are interested to know more details of this issue, check this thread in the AspectJ dev mailing list.

The aspectjweaver.jar with the fix will be included in the next release of AspectJ. In the meanwhile if you encounter this exception, please contact me.

–Choudary Kothapalli.

March 1, 2012

MaintainJ is selected as a finalist for the Best Modeling Product

Filed under: Uncategorized — maintainj @ 7:04 pm

Today it is announced that MaintainJ is selected as one of the two finalists for the Best Modeling Product award for the Eclipse Community Awards 2012.

Here are the nomination details. The winner will be announced on March 26th at the EclipseCon 2012.

— Choudary Kothapalli.

« Newer PostsOlder Posts »

Powered by WordPress