MinerStoreThread.java 存储线程
2016-03-27 09:35
260 查看
MinerStoreThread.java 存储线程
返回列表
package com.iteye.injavawetrust.miner; import java.util.HashMap; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * 存储线程 * @author InJavaWeTrust * */ public class MinerStoreThread extends Thread { private static final Log LOG = LogFactory.getLog(MinerStoreThread.class); private MinerDB mdb = MinerDB.getInstance(); private MinerConfig config = null; public MinerStoreThread(MinerConfig config) { this.config = config; } public void run() { while(!MinerMonitorThread.done){ store(); } } public synchronized void store(){ switch(config.getStoreType().getType()) { case MinerConstanits.DB : dbStore(); break; case MinerConstanits.FILE : fileStore(); break; default : return; } } /** * 数据库存储 */ public synchronized void dbStore() { Html html = MinerQueue.storePoll(); if(null == html || MinerUtil.isBlank(html.getHtml())){ return; } Map<String, String> map = new HashMap<String, String>(); map.put("html", html.getHtml()); String title = MinerUtil.fileName(html.getUrl()); if(title == null || title.length() > 255){ return; } map.put("title", title); MinerUtil.getHtmlToLocal(map); MinerBean bean = new MinerBean(); bean.setId(mdb.getUUID()); bean.setBatchNo(MinerUtil.getToday()); String path = (MinerConstanits.HTMLPATH + MinerUtil.getToday()).replaceAll("\\\\", "\\\\\\\\"); bean.setFilePath(path); bean.setFileName(title); String insertSql = mdb.getInsertSql(bean); mdb.insert(insertSql); LOG.info("MinerStoreThread 当前线程[" + Thread.currentThread().getName() + "]"); } /** * 文件存储 */ public synchronized void fileStore() { Html html = MinerQueue.storePoll(); if(null == html || MinerUtil.isBlank(html.getHtml())){ return; } Map<String, String> map = new HashMap<String, String>(); map.put("html", html.getHtml()); String title = MinerUtil.fileName(html.getUrl()); if(title == null || title.length() > 255){ return; } map.put("title", title); MinerUtil.getHtmlToLocal(map); LOG.info("MinerStoreThread 当前线程[" + Thread.currentThread().getName() + "]"); } }
返回列表
相关文章推荐
- MinerStoreThread.java 存储线程
- Java 单链表的反转 以及 双向链表的实现
- Java中的Socket通信
- 深入理解Java之接口
- windows下Eclipse的Hadoop运行调试环境搭建
- Java设计模式之策略模式
- 《Java虚拟机原理图解》1.4 class文件里的字段表集合--field字段在class文件里是如何组织的
- java学习之---java虚拟机浅谈
- myEclipse 创建服务器
- Java反射机制
- 分布式 Springmvc myBatis shiro restful dubbo zookeepe
- java cp classpath
- Java基本类型
- 20145308刘昊阳 《Java程序设计》第4周学习总结
- Path must include project and resource name: /struts-default.xml
- myeclipse/eclipse修改JSP生成模板pageEncoding为UTF-8
- NetBeans建立跳过测试构建的快捷方式
- Spring 事务管理
- Java并发:可重入与线程安全
- Java并发:如何编写线程安全的代码