Мне нужно использовать ehcache в неуправляемом классе, например в служебном классе.Это не работает.Я попытался инициализировать объект служебного класса, но все равно не повезло.Причина, по которой я собираюсь создать объект, заключается в том, что этот конкретный класс не может быть одноэлементным объектом, поскольку этот класс имеет некоторые другие переменные класса, значения которых отличаются от других объектов того же класса.Поэтому я не могу аннотировать этот класс с помощью @Component
служебного класса
public class DirectoryReader implements IReader {
// Some other class variables, which values are different from other object of same class Ex. Delete the file after read.
private boolean deleteFilesAfterRead;
@Cacheable(cacheNames="directoryContent", unless="#result.length() > 0")
public String getContent() {
//Read a file and get data;
return "";
}
}
Создание объекта
@Component
public class ReaderUtility {
@Autowired
ApplicationContext applicationContext;
@Bean(name="readers")
public List<IReader> determineReader() {
DirectoryReader directoryReader1 = new DirectoryReader();
DirectoryReader directoryReader2 = new DirectoryReader();
applicationContext.getAutowireCapableBeanFactory().initializeBean(directoryReader1, "directoryReader1");
applicationContext.getAutowireCapableBeanFactory().initializeBean(directoryReader2, "directoryReader2");
// List<IReader> readers = .....
// return readers;
}
}