123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.yihu.ehr.common;
- import com.yihu.ehr.common.config.SysConfig;
- import com.yihu.ehr.dbhelper.jdbc.DBHelper;
- import com.yihu.ehr.service.thread.CrawlerSupplyThread;
- import com.yihu.ehr.service.thread.CrawlerThread;
- import com.yihu.ehr.service.thread.StandardUpdateThread;
- import com.yihu.ehr.service.thread.ThreadManage;
- import com.yihu.ehr.util.log.LogUtil;
- import javax.servlet.ServletContextEvent;
- import javax.servlet.ServletContextListener;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.Properties;
- /**
- * 线程启动执行
- * add by hzp at 2016-03-17
- */
- public class ThreadStart implements ServletContextListener {
- private static Properties prop = new Properties();
- private String log4jDirKey = "log4j";
- @Override
- public void contextInitialized(ServletContextEvent context) {
- try {
- String home = System.getProperty("catalina.home").replace('\\','/');
- String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
- crawlerConfig(homeUrl);
- startThread();
- } catch (Exception e) {
- System.out.print(e.getStackTrace().toString());
- }
- }
- @Override
- public void contextDestroyed(ServletContextEvent context) {
- }
- /**
- * 采集配置
- * @param homeUrl
- * @throws Exception
- */
- private void crawlerConfig(String homeUrl) throws Exception {
- System.setProperty(log4jDirKey, homeUrl + "log4j");
- SysConfig.getInstance().setTempFile(homeUrl + "standard");
- }
- /**
- * 启动线程
- */
- private void startThread() {
- try {
- DBHelper db = new DBHelper();
- Object obj = db.scalar("select param_value from system_param where param_key='ORG_CODE'");
- if (obj != null) {
- SysConfig.getInstance().setOrgCode(obj.toString());
- }
- Thread crawlerThread = new Thread(new CrawlerThread());
- Thread crawlerSupplyThread = new Thread(new CrawlerSupplyThread());
- Thread standardUpdateThread = new Thread(new StandardUpdateThread());
- ThreadManage.add(ThreadManage.CRAWLER_THREAD, crawlerThread);
- ThreadManage.add(ThreadManage.CRAWLER_SUPPLY_THREAD, crawlerSupplyThread);
- ThreadManage.add(ThreadManage.STANDARD_UPDATE_THREAD, standardUpdateThread);
- ThreadManage.setCrawlerInterval();
- ThreadManage.setUpdateInterval();
- //启动线程
- crawlerThread.start();
- crawlerSupplyThread.start();
- standardUpdateThread.start();
- }
- catch (Exception e)
- {
- LogUtil.error(e.getStackTrace().toString());
- }
- }
- }
|