最近**化工项目需做二次开发
主要实现功能是:对方ERP给出一些xml文件,这些文件没有通过前台手工录入方式处理数据,而是通过用友实现
为了同步数据库,因此需解析对方所给xml,后台调度自动运行。
二次开发解决步骤:
1.寻找合适的曾经开发过此功能的项目。***化工项目
2.将此项目的此功能代码拷过来,放入正在开发的项目中去。
本项目为,新增一个独立的文件ufia,所有解析xml文件程序都在此中。
3.了解系统与此解析XML功能关系:
- web.xml中 一项File-listener Listener----->CheckNewFileListener
<listener>
<listener-class>com.winsafe.drp.util.fileListener.CheckNewFileListener</listener-class>
</listener>
- File-listener文件:CheckNewFileListener ---->FILEMONITOR
Properties p = JProperties.loadProperties("ftpFilePath.properties", JProperties.BY_CLASSLOADER);
FILEMONITOR = new FileMonitor(p,1000);
FILEMONITOR.start(false);
- File-moniter文件(继承runnable接口):start ,run方法 FILEMONITOR -->importData
通过fileMoniter传参10000每10秒去查找相应目录下xml文件,若存在,则进行解析。
解析成功后则进行xml数据调用importdata文件处理。
Document document = FileUtil.readXml(tempTargetDir + "/" + fileList[i].getName());
ImportSysData.importData(document,fileList[i].getName());
- 进入importData进行各种处理。
- 通过手工录入一条数据,与xml解析一条数据,从后台数据库作对比,进行数据有关细节处理。
- 再进行控制有关的细节处理,如状态