Spring Roo is responsible for managing the AspectJ ITDs in a Roo project. As AspectJ ITDs are managed by Roo, you must not modify them. In some situations you may want to modify the AspectJ ITD files to serve your application's requirements. For instance, you may want to modify implementation of a method in an AspectJ ITD file.
In the Sending emails using JavaMail API recipe of Chapter 6, Emailing, Messaging, Spring Security, Solr, and GAE we copied the
create(...) method from
FlightController_Roo_Controller.aj file to
FlightController.java file because we wanted to modify the implementation of
create(...) method. If Roo finds a method defined in the Java source file, it removes the method with the same signature from the corresponding AspectJ ITD file. So, when we copied the
create(...) method to the
FlightController.java file, Roo removed the
create(...) method from the
FlightController_Roo_Controller.aj file. The copy paste approach can be quite daunting...