writing a Liberty feature (어렵지는 않지만 약간의 배경 읽기가 필요함)을 회피하지 않으면 com.ibm.wsspi.kernel.filemonitor.FileMonitor
인터페이스를 선언적 서비스로 구현하여 특정 파일의 변경 사항에 대한 수신기를 등록 할 수 있습니다. DS로 등록되면 Liberty 파일 모니터가 구현의 메소드를 호출합니다. 시작시 onBaseline(Collection<File> baseline)
을 호출하고 일종의 변경이 발생한 경우 onChange(Collection<File> createdFiles, Collection<File> modifiedFiles, Collection<File> deletedFiles)
을 호출합니다.
하나의 구현은 다음과 같습니다이 도움이
@Component(immediate="true", property={"monitor.directories=/path/to/myMonitoredDir"})
public class MyFileMonitor implements FileMonitor {
@Override
public void onBaseline(Collection<File> baseline) {
System.out.println("Initial file state:");
for (File f : baseline) {
System.out.println(f.getName());
}
}
@Override
public void onChange(Collection<File> createdFiles, Collection<File> modifiedFiles, Collection<File> deletedFiles) {
System.out.println("Newly added files:");
for (File f : createdFiles) {
System.out.println(f.getName());
}
System.out.println("Newly deleted files:");
for (File f : deletedFiles) {
System.out.println(f.getName());
}
System.out.println("Modified files:");
for (File f : modifiedFiles) {
System.out.println(f.getName());
}
}
}
희망,
앤디
정말 고마워요, 앤디! 정말 도움이 되서 노력하고 있어요! 귀하의 솔루션과 세부 사항에 감사 드리며 매우 명확합니다! –