ThreadStart.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.yihu.ehr.common;
  2. import com.yihu.ehr.common.config.SysConfig;
  3. import com.yihu.ehr.dbhelper.jdbc.DBHelper;
  4. import com.yihu.ehr.service.thread.CrawlerSupplyThread;
  5. import com.yihu.ehr.service.thread.CrawlerThread;
  6. import com.yihu.ehr.service.thread.StandardUpdateThread;
  7. import com.yihu.ehr.service.thread.ThreadManage;
  8. import com.yihu.ehr.util.log.LogUtil;
  9. import javax.servlet.ServletContextEvent;
  10. import javax.servlet.ServletContextListener;
  11. import java.io.FileOutputStream;
  12. import java.io.InputStream;
  13. import java.io.OutputStream;
  14. import java.util.Properties;
  15. /**
  16. * 线程启动执行
  17. * add by hzp at 2016-03-17
  18. */
  19. public class ThreadStart implements ServletContextListener {
  20. private static Properties prop = new Properties();
  21. private String log4jDirKey = "log4j";
  22. @Override
  23. public void contextInitialized(ServletContextEvent context) {
  24. try {
  25. String home = System.getProperty("catalina.home").replace('\\','/');
  26. String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
  27. crawlerConfig(homeUrl);
  28. startThread();
  29. } catch (Exception e) {
  30. System.out.print(e.getStackTrace().toString());
  31. }
  32. }
  33. @Override
  34. public void contextDestroyed(ServletContextEvent context) {
  35. }
  36. /**
  37. * 采集配置
  38. * @param homeUrl
  39. * @throws Exception
  40. */
  41. private void crawlerConfig(String homeUrl) throws Exception {
  42. System.setProperty(log4jDirKey, homeUrl + "log4j");
  43. SysConfig.getInstance().setTempFile(homeUrl + "standard");
  44. }
  45. /**
  46. * 启动线程
  47. */
  48. private void startThread() {
  49. try {
  50. DBHelper db = new DBHelper();
  51. Object obj = db.scalar("select param_value from system_param where param_key='ORG_CODE'");
  52. if (obj != null) {
  53. SysConfig.getInstance().setOrgCode(obj.toString());
  54. }
  55. Thread crawlerThread = new Thread(new CrawlerThread());
  56. Thread crawlerSupplyThread = new Thread(new CrawlerSupplyThread());
  57. Thread standardUpdateThread = new Thread(new StandardUpdateThread());
  58. ThreadManage.add(ThreadManage.CRAWLER_THREAD, crawlerThread);
  59. ThreadManage.add(ThreadManage.CRAWLER_SUPPLY_THREAD, crawlerSupplyThread);
  60. ThreadManage.add(ThreadManage.STANDARD_UPDATE_THREAD, standardUpdateThread);
  61. ThreadManage.setCrawlerInterval();
  62. ThreadManage.setUpdateInterval();
  63. //启动线程
  64. crawlerThread.start();
  65. crawlerSupplyThread.start();
  66. standardUpdateThread.start();
  67. }
  68. catch (Exception e)
  69. {
  70. LogUtil.error(e.getStackTrace().toString());
  71. }
  72. }
  73. }