@Async
	public synchronized void process() {
		SAXParserFactory factory = SAXParserFactory.newInstance();		
		SAXParser parser = null;
		try {
			parser = factory.newSAXParser();
		} catch (ParserConfigurationException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		} catch (SAXException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		while(true){
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			try {
				
				File dir = new File(path);
				File[] files = dir.listFiles(
						new FilenameFilter() {
			    public boolean accept(File dir, String name) {
			        return name.toLowerCase().endsWith(".xml") && !name.equals("pom.xml");
			    }
}
			);
				
				if(files !=null)
					for (int i = 0; i < files.length; i++) {
						parser.parse(files[i], parseUtil);
						logger.debug("File Parse is over");
						files[i].renameTo(new File(files[i].getName().split(".xml")[0]+(new Date()).getTime()+".done"));
					}
				
				
			} catch (SAXException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		
		
	}