So,
Я пытаюсь преобразовать наше существующее кеширование (ehcache) в кеш-память и перейти на весенние аннотации. У меня возникают некоторые трудности с тем, чтобы аннотации работали так же, как наши существующие кеши - наши существующие кеши создаются автоматически всякий раз, когда мы кэшируем что-то из нового класса, а новый кеш имеет то же имя, что и класс объекта.
Вся текущая логика кэширования (наряду с большей частью обычной логики операций CRUD) находится в абстрактном классе, который расширен для всех наших постоянных объектов. Однако при исследовании аннотаций spring мне кажется, что мне нужно определить имя кеша в методе, что, очевидно, не работает для абстрактного класса, если только я не хочу, чтобы все наши объекты находились в одном кеше (возможно, но определенно не идеал). В идеале я бы указал имя кеша как «#this.class.toString», но SPEL не разрешен в имени кеша, как и в ключе.
Кажется, что единственный способ динамически разрешать кэш - это создать собственный преобразователь кеша, но по какой-то причине IgniteCache не расширяет кеш springframework, а javax Cache, и преобразователь кеша должен возвращать прежний. Так что я даже не понимаю, как Ignite cache вообще работает с весенними аннотациями?
Это кажется мне довольно простым вариантом использования, поэтому кажется странным, что аннотации spring заставляют меня указывать явное имя метода, когда я предполагаю, что большинство приложений любого значительного размера абстрагируют свои методы сохранения, и я чувствую, что Должно быть, я пропустил какую-то важную документацию, но я точно не могу ее найти. Есть ли способ указать имя кеша для конкретной реализации, но сохранить аннотацию кэширования для абстрактных методов?
Спасибо!