Hi,
We are running our application (tomcat with number of jsps) with LTW
enabled.
-javaagent:$CATALINA_HOME/lib/aspectjweaver-1.7.1.jar
While analyzing heap dump we found that aspectj objects (org.aspectj.*)
are consuming 109M of memory. That was to the surprise since no
crosscuts were actually enabled.
<aspectj>
<weaver options="-showWeaveInfo -nowarn">
</weaver>
<aspects>
</aspects>
</aspectj>
I am fairly new to aspectj, but it looks that there is a weaving adapter
per calssloader held in memory through weak map <Loader->World>. Each
adaptor is not too bad (including referenced objects) around 30K. But in
case of jsp new class loader instance (JasperLoader) gets created per
every jsp loaded so we end up with 2K of weaving adaptors responsible
for 100M of memory in total. It looks bad considering that aspectj is
pretty much not used at all.
The overhead of 30K per jsp is quite significant in our case. Is it a
known feature or limitation of using aspectj in a web application? Is
any workaround available?
Any suggestion, thought or recommendation is very welcomed.
Thanks,
Sergei
This e-mail message and all attachments transmitted with it may contain
privileged and/or confidential information intended solely for the use of the
addressee(s). If the reader of this message is not the intended recipient, you
are hereby notified that any reading, dissemination, distribution, copying,
forwarding or other use of this message or its attachments is strictly
prohibited. If you have received this message in error, please notify the
sender immediately and delete this message, all attachments and all copies and
backups thereof.
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users