Axis2 1.3: Slow stub generation by jgn on Friday, September 28, 2007 in Uncategorized

Apache Axis2 has been very frustrating going from version to version. It seems to be better recently, but get this:

We generate Axis2 1.3 stubs with org.apache.axis2.tool.ant.AntCodegenTask. I noticed in the switchover from 1.2 to 1.3 that my stub generation was taking 10 minutes instead of 10 seconds. Wonder why?

It turns out that the Axis2 1.3 team tossed jalopy -- a Java pretty-printer -- into their stub generation process. My stubs are gigantic, so pretty-printing that is slow. But, worse, jalopy works on the current directory and everything below it. So suddenly all of my Java client code was getting pretty-printed. And there's a lot of it. So none of my files were matching subversion... Chaos!

The solution was to just exclude the jalopy jar from my Axis2 classpath:

 <path id="axis.classpath">
   <fileset dir="${env.OTS}/axis2-${axis2Version}/lib">
     <include name="\*\*/\*.jar"></include>
     <exclude name="\*\*/\*jalopy\*.jar"></exclude>
   </fileset>
 </path>

Still, this kind of made me want to cry. Lucky I didn't check in the "pretty" code!

A recent post to the Axis2 e-mail list says you can also set -Daxis2.jalopy=false -- but sheesh, it's not really documented, and the default should be false! Isn't that common sense?

comments powered by Disqus