Supervisión de archivos locales en busca de cambios
Liberty tiene un comportamiento muy dinámico, que responde a los cambios en la configuración, las aplicaciones y otros recursos. Gran parte de este comportamiento dinámico se basa en la supervisión de sistema de archivos local en busca de cambios. El servicio que realiza esta supervisión está disponible para todas las características de Liberty a través de la SPI FileMonitor. El kernel de Liberty proporciona el servicio de supervisión de archivos, de modo que no tiene que especificar una característica en el archivo server.xml para hacerla disponible.
Acerca de esta tarea
La SPI FileMonitor proporciona propiedades diferentes para especificar qué recursos se supervisan y con qué frecuencia. Debe implementar la interfaz FileMonitor y registrar la clase de implementación en el registro de servicios.
La documentación de la API Java™ para cada SPI de Liberty está disponible en un archivo .zip aparte en uno de los subdirectorios javadoc del directorio ${wlp.install.dir}/dev.
Ejemplo
...
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);
}
...
}