Supervisión de archivos locales en busca de cambios
Liberty tiene un comportamiento muy dinámico, que responde a los cambios en configuración, 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 servicio de supervisión de archivos es proporcionado por el kernel Liberty, así que no tiene que especificar una característica en el archivo server.xml para que ponerlo a disposición.
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™ de cada SPI de Liberty está disponible en un archivo .zip separado 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);
}
...
}