Время компиляции с использованием Cache Abstraction in Spring

В настоящее время я использую кэш-абстракцию с использованием прокси. Проблема с прокси в том, что внутренние вызовы методов не работают. Теперь я хочу использовать ткачество времени компиляции вместо прокси, поскольку внутренние вызовы методов работают. Я искал в Google, но я не нашел какой-либо существенной ссылки, которая объясняет, как использовать ткачество времени компиляции. Есть много ссылок для ткачества времени загрузки. Может кто-нибудь привести какой-нибудь пример для плетения времени компиляции с абстракцией кеша или какой-нибудь соответствующей ссылкой??

Заранее спасибо.

1 ответ

Решение

Вы можете добавить аспект Spring для кэширования, используя плагин maven aspectj, идентифицируя класс аспекта и применяя его вручную к нужным классам (проверьте в аспектах Spring-аспекты и Spring-cache для аспекта).

Этот механизм не связан напрямую с пружиной, это может быть сделано с любым аспектом, а не только с аспектами весны.

Причина, по которой он не используется, заключается в том, что он не очень удобен, потому что нам нужно знать классы, которые мы хотим посоветовать во время компиляции, и не можем полагаться на механизм сканирования весенних аннотаций.

Переплетение времени загрузки решает проблему, о которой вы упомянули, - сделать так, чтобы повторяющиеся вызовы работали более прозрачно, без неудобств переплетения времени компиляции. Плетение по времени загрузки - это рекомендуемый способ использования пружин для ткачества aspectJ, включаемый аннотацией. @EnableLoadTimeWeaving,

Для конкретного случая использования, который вы упомянули, не представляется хорошим вариантом для введения ткачества во время компиляции, в общем, нет хорошего варианта использования для ткачества во время компиляции, что объясняет отсутствие документации, доступной онлайн.

Я полагаю, что лучшим вариантом для упомянутого вами варианта использования будет использование ткачества времени загрузки.

Другие вопросы по тегам