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();
}
分享到:
相关推荐
ConfigManager.cs
资源分类:Python库 所属语言:Python 资源全名:whtc.recipe.configmanager-1.1.2.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
该ConfigManager统一配置中心是基于CSS设计,包含1376个文件,涵盖359个CSS样式文件、175个JavaScript脚本文件、141个DLL动态链接库文件等。该项目旨在实现所有项目的配置集中管理,简化运维和部署流程,并具备高...
configmanager2
一个简单的configmanager程序,用于将值分配给自定义配置文件中的变量| 高朗 该程序configmanager读取配置文件(* .conf),并将值分配给用户定义的结构。 当您想通过自定义配置文件在golang程序中分配一些变量时,...
2. **ConfigManager**:这是主类,可能是整个工具的入口点,提供了对其他子类的访问和管理。通过实例化ConfigManager,用户可以方便地调用各种文件操作方法。 3. **配置文件(Config)**:Config_manager 主要处理...
《Go-configmanager:高效管理raft配置的利器》 在IT领域,配置管理是系统稳定运行的关键环节,尤其是在分布式系统中,如基于Raft一致性算法的系统。Go-configmanager是一个专门针对这种需求设计的工具,它巧妙地将...
用法在您的草图中包含库# include < ConfigManager> 创建您的config和meta结构。 这些是您的设置的定义。 struct Config { char name[ 20 ]; bool enabled; int8_t hour; char password[ 20 ];} config;struct ...
`Dxt_ConfigManager`看起来是针对Magento的配置管理系统的一个扩展或模块,旨在帮助用户更有效地管理和操控Magento的配置设置。在这个项目中,`Dxt_ConfigManager-master`可能代表了该扩展的主分支或者最新版本。 ...
如果省略目录,则install.sh将安装到~/.configmanager/ 。 注意:仅在首次使用时才需要安装。 您将在每台将使用此计算机的其他计算机上导入目录,因此无需再次安装此方法。使用首次使用时,您将需要注册将要管理的...
"r-configmanager"是一个针对JavaScript开发的配置管理工具,它主要功能是管理和存储应用程序的配置信息,便于在项目中组织和检索分组属性。在软件开发中,尤其是大型的、复杂的JavaScript应用,良好的配置管理至关...
public static ConfigManager getInstance() { if (instance == null) { synchronized (ConfigManager.class) { if (instance == null) { instance = new ConfigManager(); } } } return instance; } ...
这些变量在静态块中被初始化,从ConfigManager类中获取对应的配置信息。 ConfigManager类 ConfigManager类是配置管理类,用于存储和获取应用程序的配置信息。在BaseDao类中,ConfigManager类被用于获取数据库连接...
Java Web 运行开发环境和 Servlet 的开发部署 Java Web 运行开发环境是指 Java Web 应用的开发和部署所需的环境配置,包括 JDK、Tomcat 等。其中,JDK 是 Java 开发的基础环境,而 Tomcat 是一个 Servlet 和 JSP ...
Dim value As String = configManager.XML_ReadValue("config.xml", "SectionName", "KeyName") ' 读取配置值 ``` 五、测试与调试 在编写完代码后,通过创建一个简单的用户界面或者控制台程序来测试XML配置文件的...
JiebaNet分词动态库支持.NET 4.0、.NET 4.5、.NET 2.0 包含:JiebaNet.Analyser.dll、JiebaNet.Segmenter.dll 两个文件 支持进行分词、检索(多种模式)、维护词典。
ConfigManager类中的m_instance是一个私有的静态变量,用于保存ConfigManager的唯一实例。 除了上述三种单例模式外,在Java中还可以使用枚举类型来实现单例模式。Java枚举的特性保证了枚举类型的单例性,因为枚举...