Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行时刷新Springbean_Java_Spring - Fatal编程技术网

Java 运行时刷新Springbean

Java 运行时刷新Springbean,java,spring,Java,Spring,我有一个XML文件,其中XML的值在Springbean对象中获取。我正在使用一个文件监视程序来检查XML是否正在被修改。如果它被修改,我必须在运行时刷新Springbean对象 import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardWatchEventKind; import java.nio.file.WatchEvent; import

我有一个XML文件,其中XML的值在Springbean对象中获取。我正在使用一个文件监视程序来检查XML是否正在被修改。如果它被修改,我必须在运行时刷新Springbean对象

    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.nio.file.StandardWatchEventKind;
    import java.nio.file.WatchEvent;
    import java.nio.file.WatchKey;
    import java.nio.file.WatchService;
    import java.util.List;

public class Main {

    public static void main(String[] args) {

        //define a folder root
        Path myDir = Paths.get("D:/data");       

        try {
           WatchService watcher = myDir.getFileSystem().newWatchService();
           myDir.register(watcher, StandardWatchEventKind.ENTRY_CREATE, 
           StandardWatchEventKind.ENTRY_DELETE, StandardWatchEventKind.ENTRY_MODIFY);

           WatchKey watckKey = watcher.take();

           List<WatchEvent<?>> events = watckKey.pollEvents();
           for (WatchEvent event : events) {
                if (event.kind() == StandardWatchEventKind.ENTRY_MODIFY) {
                   //CODE FOR REFRESHING BEAN
                }
             }  
         }
     }
import java.nio.file.Path;
导入java.nio.file.path;
导入java.nio.file.StandardWatchEventKind;
导入java.nio.file.WatchEvent;
导入java.nio.file.WatchKey;
导入java.nio.file.WatchService;
导入java.util.List;
公共班机{
公共静态void main(字符串[]args){
//定义文件夹根目录
Path myDir=Path.get(“D:/data”);
试一试{
WatchService watcher=myDir.getFileSystem().newWatchService();
myDir.register(watcher、StandardWatchEventKind.ENTRY\u创建、,
StandardWatchEventKind.ENTRY\u删除,StandardWatchEventKind.ENTRY\u修改);
WatchKey WatchKey=watcher.take();

ListSHow与bean相关的部分和spring init。实际上,您可以从spring上下文访问bean并更改XML。将观察程序重构为bean,将主bean作为成员注入观察程序。当观察程序解析了新的和经过验证的数据后,调用主bean上的方法,使其从解析的XML.Wat刷新自身检查是否存在同步问题。