一个项目中需要从HTTP中读取XML 同步数据到数据库中,在大量数据的压力测试下,发现有数据丢失
经过调试发现在控制台产生异常: FWK005
进一步定位发现在解析XML的时候,xml inputstream为空
之前的代码:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
private static DocumentBuilderFactory factory = null;
private static DocumentBuilder builder = factory.newDocumentBuilder();
if ( factory == null )
{
try
{
factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
}catch (Exception e){}
}
到sun(oracle)上查询j2ee1.4api文档,发现DocumentBuilder DocumentBuilderFactory不能保证线程安全,所以使用一个parser解析多个xml inputstream时,会有问题
解决方法:
每次解析XML inputstream,使用一个新的parser来解析
DocumentBuilder builder = null;
if ( factory == null ){
//DocumentBuilderFactory 单例
factory = DocumentBuilderFactory.newInstance();
}
//每次new一个Builder
builder = factory.newDocumentBuilder();
分享到:
相关推荐
java线程、线程池、xml解析 适合入门的例子或文档 上手使用
java资料\、文件资料、多线程和xml解析大汇总
Mini-XML是一个小型的开源的XML解析器,采用 C 语言开发。该解析器最大的特点就是小型、无须依赖其他类库,只需要 GCC 编译器 和 make 程序即可编译,支持 UTF-8/UTF-16 编码。Mini-XML支持读取UTF-8和UTF-16和UTF-8...
算法、常用数据结构、文件资料、多线程和XML解析 资料汇总
xml上传xml-上传和解析... 实现多线程 xml 5 * 解析器。 撤回订单超过 N 的客户,其中 N 为自定义编号(表单中的字段) 可选的示例 xml 文件 // --------------------------------------------- ------------- 124 维
小小的服务, 涉及了蛮多的知识点 ,上传以供大家参考, 也当给自己保存一下
知识点覆盖比较全面,要个20分不过分吧,有几本书认真讲过那些常用模块: socket, 数据库操作,xml解析,多线程,最具体的做法多半是一带而过,我可是一个例子一个例子做出来的。 把目录发给大家看看: 2.1 第1课:...
该线程将接收新创建文件的路径,并将使用 SAXParser 解析该文件。 每个 xml 文件将被拆分为与唯一供应商数量一样多的文件。 每个供应商文件都将包含原始文件中的相应产品,但按时间戳和价格排序。 为了获得更好的...
本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)...进阶篇有反射、泛型、注解、网络编程、多线程、序列化、数据库、Servlet、JSP、XML解析、单例模式与枚举。本专栏主要为Java入门者提供实验参考。
1.10 xml处理器/解析器 35 1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中...
人工智能-项目实践-多线程-tonado的multi-thread 多线程封装 ...基于tornado改装的多线程业务处理模型框架,自带跨域请求,json/xml参数解析,缓存和路由优化。适合多人合作的service系统后台搭建!
由扫描器、解析器和生成器组成的 JSON-to-XML 过滤器。 不需要描述 JSON 的模式 POJO。 在我写这篇文章的时候,我找不到可以做到这一点的独立实用程序(不需要每次都提供 POJO)。 我该如何设置? Eclipse Java ...
TinyXML-2 TinyXML-2是一个简单,小型,高效的C ++ XML解析器,可以轻松地集成到其他程序中。 主机托管在github上: : 这些文档的在线HTML版本: : 示例在HTML文档的“相关页面”选项卡中。它能做什么。 简而言之,...
很好的demo,涉及移动互联 多线程 简单明了的让你掌握xml,json解析
Android-05-解析XML数据(3集) Android-06-解析JSON数据(4集) Android-07-服务器端JDBC编程(2集) Android-08-服务器端Web编程(6集) Android-09-常用UI控件(33集) Android-11-对话框介绍(4集) Android-12-...
|--xml文件的pull解析与序列化写入 |--xml的封装序列化 |--任务循环之只在Activity显示时执行 |--修改文件的最后修改时间 |--偏好设置(回显) |--内存优化之各种方法 |--内容提供者之短信的序列化对象读写 |--内容...
java多线程tcp socket server源码很棒的德尔福 精选的 Delphi 框架、库、资源和闪亮事物的精选列表。 灵感来自很棒的-...东西。 请注意,仅考虑开源项目。 死项目(3 年或更长时间未更新)主要被忽略,除了那些没有...
本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)...进阶篇有反射、泛型、注解、网络编程、多线程、序列化、数据库、Servlet、JSP、XML解析、单例模式与枚举。本专栏主要为Java入门者提供实验参考。