Surveillance des modifications apportées aux fichiers locaux
Le comportement hautement dynamique de Liberty répond aux modifications apportées à la configuration, aux applications et à toute autre ressource. Ce comportement dynamique s'appuie principalement sur la surveillance des modifications apportées aux fichiers locaux. Le service qui procède à cette surveillance est disponible pour toutes les fonctions Liberty via l'interface SPI FileMonitor. Le service de surveillance des fichiers est fourni par le noyau Liberty ; par conséquent, il n'est pas nécessaire de spécifier de fonction dans votre fichier server.xml pour le rendre disponible.
Pourquoi et quand exécuter cette tâche
L'interface SPI FileMonitor fournit différentes propriétés qui permettent de spécifier les ressources à surveiller et la fréquence de la surveillance. Vous devez implémenter l'interface FileMonitor et enregistrer la classe d'implémentation dans le registre de services.
La documentation d'API Java™ pour chaque interface SPI Liberty est disponible dans un fichier .zip distinct dans l'un des sous-répertoires javadoc du répertoire ${wlp.install.dir}/dev.
Exemple
...
import com.ibm.wsspi.kernel.filemonitor.FileMonitor;
...
public class MyFileMonitor implements FileMonitor {
...
private final BundleContext bundleContex;
...
public MyFileMonitor(BundleContext bundleContext) {
this.bundleContext = BundleContext;
...
}
public ServiceRegistration<FileMonitor> monitorFiles(Collection<String> paths, long monitorInterval) {
...
final Hashtable<String, Object> fileMonitorProps = new Hashtable<String, Object>();
fileMonitorProps.put(FileMonitor.MONITOR_FILES, paths);
fileMonitorProps.put(FileMonitor.MONITOR_INTERVAL, monitorInterval);
...
return bundleContext.registerService(FileMonitor.class, this, fileMonitorProps);
}
...
}