ローカル・ファイルの変更のモニター

Liberty は、構成、アプリケーション、その他のリソースでの変更に対応して、非常に動的に動作することができます。この動的な動作の多くは、ローカル・ファイル・システムの変更のモニターに基づいています。 このモニターを実行するサービスは、FileMonitor SPI によってすべての Liberty フィーチャーから利用できます。ファイル・モニター・サービス は Liberty カーネルによって提供されるため、それを使用可能にするために server.xml ファイル内で フィーチャーを指定する必要はありません。

このタスクについて

FileMonitor SPI には、モニターするリソースと頻度を指定するさまざまなプロパティーがあります。 FileMonitor インターフェースを実装して、 実装クラスをサービス・レジストリーに登録する必要があります。

各 Liberty SPI の Java™ API 文書は、インフォメーション・センターのプログラミング・インターフェース (Javadoc) のセクションに詳述されていて、${wlp.install.dir}/dev ディレクトリーのいずれかの javadoc サブディレクトリー内の個別 .zip ファイル内にもあります。

...
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);
  }
  ...
}

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_monitor_local_files.html