`
michael_paul
  • 浏览: 173434 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

ConfigManager

阅读更多
package com.javapatterns.singleton.demos;


import java.util.Properties;
import java.io.FileInputStream;
import java.io.File;

public class ConfigManager
{
	private ConfigManager()
	{
		m_file = new File(PFILE);
		m_lastModifiedTime = m_file.lastModified();

		if(m_lastModifiedTime == 0)
		{
            System.err.println(PFILE + " file does not exist!");
        }

		m_props = new Properties();

		try
		{
			m_props.load(new FileInputStream(PFILE));
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}

	synchronized public static ConfigManager getInstance()
	{
		return m_instance;
	}

	final public Object getConfigItem(String name, Object defaultVal)
	{
		long newTime = m_file.lastModified();

		if(newTime == 0)
		{
			if(m_lastModifiedTime == 0)
            {
				System.err.println(PFILE + " file does not exist!");
            }
			else
            {
				System.err.println(PFILE + " file was deleted!!");
            }
			return defaultVal;
		}
		else if(newTime > m_lastModifiedTime)
		{
			m_props.clear();	// Get rid of the old properties
			try
			{
				m_props.load(new FileInputStream(PFILE));
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
		m_lastModifiedTime = newTime;

		Object val = m_props.getProperty(name);
		if( val == null )
        {
			return defaultVal;
        }
		else
        {
			return val;
        }
	}

	private static final String PFILE = System.getProperty("user.dir") +  "/Singleton.properties";

	private File m_file = null;

	private long m_lastModifiedTime = 0;

	private Properties m_props = null;

	private static ConfigManager m_instance = new ConfigManager();

}


分享到:
评论

相关推荐

    wxh ConfigManager.cs

    ConfigManager.cs

    Python库 | whtc.recipe.configmanager-1.1.2.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:whtc.recipe.configmanager-1.1.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    基于CSS的ConfigManager统一配置中心设计源码

    该ConfigManager统一配置中心是基于CSS设计,包含1376个文件,涵盖359个CSS样式文件、175个JavaScript脚本文件、141个DLL动态链接库文件等。该项目旨在实现所有项目的配置集中管理,简化运维和部署流程,并具备高...

    configmanager2.dll

    configmanager2

    configmanager

    一个简单的configmanager程序,用于将值分配给自定义配置文件中的变量| 高朗 该程序configmanager读取配置文件(* .conf),并将值分配给用户定义的结构。 当您想通过自定义配置文件在golang程序中分配一些变量时,...

    Config_manager

    2. **ConfigManager**:这是主类,可能是整个工具的入口点,提供了对其他子类的访问和管理。通过实例化ConfigManager,用户可以方便地调用各种文件操作方法。 3. **配置文件(Config)**:Config_manager 主要处理...

    go-configmanager:将 raft 配置存储到内存和磁盘,还提供按跳过列表的快速搜索

    《Go-configmanager:高效管理raft配置的利器》 在IT领域,配置管理是系统稳定运行的关键环节,尤其是在分布式系统中,如基于Raft一致性算法的系统。Go-configmanager是一个专门针对这种需求设计的工具,它巧妙地将...

    ConfigManager:ESP8266 Wifi连接和配置管理器

    用法在您的草图中包含库# include < ConfigManager> 创建您的config和meta结构。 这些是您的设置的定义。 struct Config { char name[ 20 ]; bool enabled; int8_t hour; char password[ 20 ];} config;struct ...

    Dxt_ConfigManager:magento 的配置管理器

    `Dxt_ConfigManager`看起来是针对Magento的配置管理系统的一个扩展或模块,旨在帮助用户更有效地管理和操控Magento的配置设置。在这个项目中,`Dxt_ConfigManager-master`可能代表了该扩展的主分支或者最新版本。 ...

    configmanager:一组不错的脚本,用于在多个Linux用户帐户之间在VCS下管理和共享配置文件

    如果省略目录,则install.sh将安装到~/.configmanager/ 。 注意:仅在首次使用时才需要安装。 您将在每台将使用此计算机的其他计算机上导入目录,因此无需再次安装此方法。使用首次使用时,您将需要注册将要管理的...

    r-configmanager

    "r-configmanager"是一个针对JavaScript开发的配置管理工具,它主要功能是管理和存储应用程序的配置信息,便于在项目中组织和检索分组属性。在软件开发中,尤其是大型的、复杂的JavaScript应用,良好的配置管理至关...

    java辅助开发的两个封装类共6页.pdf.zip

    public static ConfigManager getInstance() { if (instance == null) { synchronized (ConfigManager.class) { if (instance == null) { instance = new ConfigManager(); } } } return instance; } ...

    图书管理系统增删查改jspservlet基础项目BaseDao样本.docx

    这些变量在静态块中被初始化,从ConfigManager类中获取对应的配置信息。 ConfigManager类 ConfigManager类是配置管理类,用于存储和获取应用程序的配置信息。在BaseDao类中,ConfigManager类被用于获取数据库连接...

    java web的运行开发环境和servlet的开发部署

    Java Web 运行开发环境和 Servlet 的开发部署 Java Web 运行开发环境是指 Java Web 应用的开发和部署所需的环境配置,包括 JDK、Tomcat 等。其中,JDK 是 Java 开发的基础环境,而 Tomcat 是一个 Servlet 和 JSP ...

    VBNet中用XML替代INI配置功能的完整教程.docx

    Dim value As String = configManager.XML_ReadValue("config.xml", "SectionName", "KeyName") ' 读取配置值 ``` 五、测试与调试 在编写完代码后,通过创建一个简单的用户界面或者控制台程序来测试XML配置文件的...

    JiebaNet分词动态库(包含:JiebaNet.Analyser.dll、JiebaNet.Segmenter.dll)

    JiebaNet分词动态库支持.NET 4.0、.NET 4.5、.NET 2.0 包含:JiebaNet.Analyser.dll、JiebaNet.Segmenter.dll 两个文件 支持进行分词、检索(多种模式)、维护词典。

    Java单例模式.pdf

    ConfigManager类中的m_instance是一个私有的静态变量,用于保存ConfigManager的唯一实例。 除了上述三种单例模式外,在Java中还可以使用枚举类型来实现单例模式。Java枚举的特性保证了枚举类型的单例性,因为枚举...

Global site tag (gtag.js) - Google Analytics