Они предназначены для ткачества времени загрузки . aj5
для Java 5, aj
для Java 1.4.
Вот типы плетения, поддерживаемые AspectJ:
Ткачество во время компиляции - самый простой подход. Когда у вас есть исходный код для приложения, ajc будет компилировать из исходного кода и выдавать тканые файлы классов в качестве вывода. Вызов ткача является неотъемлемой частью процесса компиляции ajc. Сами аспекты могут быть в исходной или двоичной форме. Если аспекты требуются для компиляции затронутых классов, то вы должны переплетаться во время компиляции. Аспекты требуются, например, когда они добавляют члены в класс, а другие компилируемые классы ссылаются на добавленные члены.
Плетение после компиляции (также иногда называемое бинарным переплетением) используется для переплетения существующих файлов классов и файлов JAR. Как и в случае ткачества во время компиляции, аспекты, используемые для ткачества, могут быть в исходной или двоичной форме и сами могут быть сплетены аспектами.
Плетение при загрузке (LTW) - это просто двоичное переплетение, отложенное до момента, когда загрузчик классов загружает файл класса и определяет класс для JVM. Для поддержки этого требуются один или несколько «загрузчиков классов ткачества», которые явно предоставляются средой выполнения или активируются через «ткацкий агент».