Я думаю о добавлении JMX-бина для горячего резервного копирования индекса lucene.
LuceneMBean mbean = new LuceneMBeanImpl(); имя_объекта = новое имя_объекта("indexing.index:type=lucene"); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); mbs.registerMBean(mbean, имя);
LuceneMBean будет иметь метод с именем backupIndex (каталог строк).
Я просмотрел документы Lucene и обнаружил метод copy() каталога. Если у меня есть Writer Open в каталоге, будет ли этот метод работать? В основном мой фрагмент кода выглядит следующим образом:
public class LuceneMBeanImpl implements LuceneMBean{
public void backupIndex(String directory){
Directory fileDirectory = FSDirectory.getDirectory(directory);
Directory.copy(masterDirectory, fileDirectory,false);
}
}