//停止监听
public void desFileLister()
{
if(FMap.size()>0)
{
Iterator<String>it=FMap.keySet().iterator();
while(it.hasNext())
{
String key=(String)it.next();
FMap.get(key).cancel();
}
}
}
//加载配置文件配置信息
private Properties loadProperties()
{
Properties prop=new Properties();
FileInputStream in=null;
InputStreamReader reader=null;
try
{
if(configFile!=null)
{
in=new FileInputStream(configFile);
prop.load(in);
}
else
{
configFile=defaultConfigFile;
//根据文件名加载到其内容
URL url=this.getClass().getClassLoader().getResource(defaultConfigFile);
reader=new InputStreamReader(url.openStream());
prop.load(reader);
}
//print all properties
Enumeration<?> enu=prop.propertyNames();
logger.info("Load configuration file[" + configFile + "] start...");
while (enu.hasMoreElements())
{
String key = (String) enu.nextElement();
logger.info(" key: " + key + ", value: "
+ prop.getProperty(key));
}
logger.info("Load configuration file[" + configFile + "] success.");
}
catch (Exception e)
{
e.printStackTrace();
}
return prop;
}
//对外开放的方法,可以取到监听的文件配置数据
public static String getProperty(String fileName,String key)
{
//如果size为0,则程序没有启动,先启动程序
if(FMap.size()==0)
{
synchronized (FileManager.class)
{
if(FMap.size()==0)
{
startService();
}
}
}
Object obj=FMap.get(fileName);
if(obj!=null)
{
FileListener listener=(FileListener) obj;
if(listener.isFileFlag())
{
return listener.getProperties().getProperty(key);
}
else
{
return key;
}
}
else
{
return null;
}
}
/**
* Function得不到配置文件中的内容时,返回defaultValue的值
*/
public static String getProperty(String fileName,String key,String defaultValue)
{
String value=getProperty(fileName, key);
if(value==null)
{
value=defaultValue;
}
return value;
}
/**
* 提供给ESB使用的方法,取ESB配置文件数据
*/
public static String getESBProperty(String key)
{
return getProperty("esb.properties", key);
}
/**
* 启动监听服务
*/
private static void startService()
{
FileManager fm=new FileManager();
fm.regFileListener();
}
}
分享到:
相关推荐
总的来说,"jaxen-1.1-beta-6.jar"是DOM4J和其他XML库实现XPath功能的关键组件。理解XPath的工作原理以及如何在Java中使用Jaxen,对于处理XML文档的开发者来说至关重要。它提供了灵活性和效率,使得在XML数据的查询...
String fileName = new File(item.getName()).getName(); // 保存文件到服务器 File storeFile = new File("/path/to/save/files", fileName); item.write(storeFile); } } } catch (Exception e) { // 处理...
Document document = DocumentHelper.parseText(xmlString); // 创建XPath对象,使用JAXEN XPath xpath = new DOMXPath("//elementName"); // 使用XPath查询 List<Node> nodes = xpath.selectNodes(document); for...
《深入理解axiom-api-1.1.jar:Java XML处理的关键工具》 在Java开发领域,XML(Extensible Markup Language)作为一种数据交换和存储格式,广泛应用于各种系统间的数据交互。处理XML文档时,高效的API是必不可少的...
在描述中提到的错误“找不到nu.xom.Serializer这个类”,这表明在尝试使用XOM库进行XML序列化时,系统的类路径中没有包含XOM库,具体来说就是缺少了"xom-1.1.jar"这个依赖。 "nu.xom.Serializer"是XOM库中的一个...
根据查询结果的不同类型,`evaluate()`可以返回NodeSet、String、Number或Boolean值。 5. **处理查询结果**:查询结果可以是NodeSet,你可以遍历这个集合来访问每一个匹配的节点;如果是其他类型,直接使用返回值...
nu/xom/UnicodeUtil$UnicodeString.class 3.19 KB nu/xom/UnicodeUtil.class 111.86 KB nu/xom/UnicodeWriter.class 3.79 KB nu/xom/UnsynchronizedBufferedWriter.class 1.78 KB nu/xom/ValidityException...
String xml = xstream.toXML(yourObject); YourObject newObj = (YourObject) xstream.fromXML(xml); ``` XStream 1.4.2版本提供了一些改进,包括性能优化、更稳定的API以及对Java 8特性的支持。此外,它还允许...
`snappy-java-1.1.2.6.zip`是一个包含源代码和构建文件的压缩包,版本号为1.1.2.6,这个版本可能是对早期版本的改进和bug修复。 Snappy的核心特性在于它的速度,而不是压缩率。在牺牲一定的压缩比的情况下,Snappy...
1. **xpp3_min-1.1.3.4.O.jar**:这是Minimal XML Pull Parser(XPP3)的轻量级版本,它是一个高效的XML解析器,用于读取XML文档。XPP3被XStream用来解析XML流,从而理解XML文档的结构。它使用拉模型(Pull Model)...
### XML-RPC协议详解 #### 一、XML-RPC简介 **XML-RPC**(XML Remote Procedure Call)是一种轻量级的远程过程调用协议,它允许不同操作系统、不同环境中的程序通过Internet进行通信。XML-RPC使用HTTP作为传输协议...
Document document = DocumentHelper.parseText(xmlString); XPathFactory factory = XPathFactory.instance(); XPath xpath = factory.newXPath(); String expression = "//element[@attr='value']"; List<Element>...
**1.1 XMLSchema简介** - **1.1.1 什么是XMLSchema?** - XMLSchema是一种用于描述XML文档结构的语言,它定义了文档中的元素和属性的数据类型以及这些元素和属性应该如何被组织。 - **1.1.2 XMLSchema是DTD的继任...
JAX-RS 支持多种消息体处理器(Message Body Workers),这些处理器可以处理不同的数据格式,如 JSON、XML 等。开发者可以通过配置不同的处理器来支持多种数据格式。 例如,为了支持 JSON 数据格式,可以使用 ...
```xml <groupId>org.apache.commons <artifactId>commons-compress <version>1.8 ``` Gradle: ```groovy implementation 'org.apache.commons:commons-compress:1.8' ``` 2. **使用API**:然后,可以...
String xmlString = outputter.outputString(document); outputter.output(document, new FileOutputStream("output.xml")); ``` 5. **高级功能**:JDOM还支持XPath查询、Namespace管理以及XML Schema验证等高级...
- 序列化对象为XML:`String xml = xstream.toXML(myBeanInstance);` - 反序列化XML为对象:`MyBean myBean = (MyBean) xstream.fromXML(xml);` 6. **自定义转换和安全考虑** XStream允许用户自定义转换规则,...
调用pb开发的webserver(SOAP 1.1) /* POST /webservice/n_webservice.asmx HTTP/1.1 Host: localhost Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding=...
为了在Java项目中使用DOM4J解析XML,你需要将这两个jar文件(dom4j-1.6.1和jaxen-1.1-beta-7.jar)添加到你的类路径(classpath)中。这可以通过在IDE中配置构建路径,或者在命令行中指定 `-cp` 参数来完成。一旦...