Equinox Aspects 1.0 M4 - New and Noteworthy

These days the Equinox Aspects incubator project is mostly working on improving stability and reliability.


General


weaving and caching service API changed We changed the API that is used between the hook and the aspectj weaver and the different caching service implementations to separate concerns. As long as you don't implement your own bytecode manipulation or caching services, this has no effect on your usage of equinox aspects.

p2.inf added We added a p2.inf file to allow the automatic installation of equinox aspects via the p2 provisioning system. Using this p2.inf file all the necessary changes to a config.ini are done automatically for you.
Thanks to Andrew Eisenberg from the AJDT team for this contribution!

Bugfixing We fixed a number of bugs in M4:
  • fixed: deploy of war bundle using Spring-DM web extender (bug 255156)
  • fixed: An endless recursion when weaving against M3 (bug 253656)
  • fixed: deadlock when using equinox aspects and spring dm extender (bug 249613)

Weaving


Mechanism reworked that does aop.xml parsing To solve some threading problems that could cause deadlocks (especially in the combination with Spring Dynamic Modules) we have reworked the mechanism that is parsing the aop.xml files that aspects bundles provide. From now on the aop.xml files are parsed at bundle resolve time.
This has the side effect that we spend more time on startup and bundle resolve time. On the other side we save a lot more time because we no longer parse those files over and over again. As long as you don't have a massive number of bundles that provide aspects the new mechanism improves performance.

The above features are just the ones that are new since the previous milestone build. Summaries for earlier 1.0 milestone builds: