最代码位
okliu123456的gravatar头像
okliu1234562015-09-24 11:34:00

龙8国际娱乐pt老虎机

java web开发maven工程只需修改配置文件不用重启工程即可动态加载配置文件

1、读取配置文件ConfigManager.java,把变量地址修改成自己的

java web开发maven工程只需修改配置文件不用重启工程即可动态加载配置文件

 //设置动态读取的文件路径
 private static String configPath = "E:/Documents/NetBeansProjects/ConfigManager/conf";
 //设置动态读取的文件名
 private static String pathName = "/configuration.properties";

2、创建监听文件来读取配置文件FileListenerAdaptor.java

  @Override
    public void onFileChange(File file) {
        System.out.println("[修改]:" + file.getAbsolutePath());
         new ConfigManager();
    }

3、启动输入maven令命启动  tomcat7:run

4、访问servlet地址 http://localhost:8080/Web/config

5、修改配置文件是再次访问 地址返回的是修改后的配置文件,无须重起web工程

//读取配置文件(属性文件)的工具类
public class ConfigManager {
    private static ConfigManager configManager;
    //properties.load(InputStream);读取属性文件
    private static Properties properties;
    //设置动态读取的文件路径
    private static String configPath = "E:/Documents/NetBeansProjects/ConfigManager/conf";
    //设置动态读取的文件名
    private static String pathName= "/configuration.properties";
    static {
        try {
            // 构造观察类主要提供要观察的文件或目录,当然还有详细信息的filter
            FileAlterationObserver observer = new FileAlterationObserver(
                    new File(configPath), null, null);
            // 构造收听类
            FileListenerAdaptor listener = new FileListenerAdaptor();
            // 为观察对象添加收听对象
            observer.addListener(listener);
            // 配置Monitor,第一个参数单位是毫秒,是监听的间隔;第二个参数就是绑定我们之前的观察对象。
            FileAlterationMonitor fileMonitor = new FileAlterationMonitor(
                    1000, new FileAlterationObserver[]{observer});
            // 启动开始监听
            fileMonitor.start();
        } catch (Exception ex) {
            Logger.getLogger(FileListenerAdaptor.class
                    .getName()).log(Level.SEVERE, null, ex);
        }
    }
    public ConfigManager() {
//        String configFile = "/opt/soft/apache-tomcat-8.0.12/webapps/gn/conf/configuration.properties";
        String configFile = configPath+pathName;
        properties = new Properties();
        InputStream in = null;
        try {
            System.out.println(new File(".").getAbsolutePath());
            in = new FileInputStream(configFile);
            properties.load(in);
            in.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public static ConfigManager getInstance() {
        if (configManager == null) {
            configManager = new ConfigManager();
        }
        return configManager;
    }
    public String getString(String key) {
        return properties.getProperty(key);
    }
    public int getInt(String key) {
        return Integer.parseInt(properties.getProperty(key));
    }

 

 

有问题联系qq 363349862

最代码位

打赏

文件名:Web.zip,文件大小:18275.941K下载
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友