刘韬 há 5 anos atrás
pai
commit
4d56c46910

+ 7 - 0
DataFusion/src/com/zskk/config/ZskkConfig.java

@@ -16,6 +16,7 @@ import com.jfinal.plugin.cron4j.Cron4jPlugin;
 import com.jfinal.plugin.druid.DruidPlugin;
 import com.jfinal.template.Engine;
 import com.zskk.control.ViewController;
+import com.zskk.service.ServiceFactory;
 import com.zskk.task.DataTask;
 
 public class ZskkConfig extends JFinalConfig {
@@ -89,6 +90,12 @@ public class ZskkConfig extends JFinalConfig {
 
 	}
 	
+	@Override
+	public void onStart() {
+		// TODO Auto-generated method stub
+		super.onStart();
+		ServiceFactory.init();
+	}
 	
 	public static void main(String[] args) {
 		JFinal.start("WebRoot", 10002, "/", 5);

+ 11 - 0
DataFusion/src/com/zskk/service/DataService.java

@@ -0,0 +1,11 @@
+package com.zskk.service;
+
+public class DataService {
+	
+    private static String GET_EXAM_URL = "https://risserver3.pacsonline.cn/butt/getExam/butt/getExam";
+    
+    private static String SAVE_REPORT_URL = "https://risserver3.pacsonline.cn/butt/getExam/butt/saveReport";
+
+
+
+}

+ 29 - 0
DataFusion/src/com/zskk/service/ServiceFactory.java

@@ -0,0 +1,29 @@
+package com.zskk.service;
+
+import java.util.HashMap;
+import java.util.Map;
+import com.jfinal.aop.Duang;
+
+/**
+ * Service的工厂方法
+ * 使用工厂方法的主要目的是 为了AOP
+ * @author yht
+ *
+ */
+public class ServiceFactory {
+	private static final Map<Class<?>, Object> CLASS_MAP = new HashMap<Class<?>, Object>();
+	
+	/**
+	 * 初始化 创建Service
+	 */
+	public static void init(){
+		CLASS_MAP.put(ThreadPoolService.class, 	        Duang.duang(ThreadPoolService.class));
+		CLASS_MAP.put(DataService.class, 	            Duang.duang(DataService .class));
+
+	}
+	
+	@SuppressWarnings("unchecked")
+	public static <T> T getService(Class<T> c){
+		return (T)CLASS_MAP.get(c);
+	}
+}

+ 60 - 0
DataFusion/src/com/zskk/service/ThreadPoolService.java

@@ -0,0 +1,60 @@
+package com.zskk.service;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 线程池服务
+ * @author yht
+ *
+ */
+public class ThreadPoolService {
+	private static ExecutorService POOLS = null;
+	private static ScheduledExecutorService TIMER_POOLS = null;
+	public ThreadPoolService(){
+		POOLS		= Executors.newCachedThreadPool();
+		TIMER_POOLS = Executors.newScheduledThreadPool(1);
+	}
+
+	/**
+	 * 执行
+	 * @param run
+	 */
+	public void execute(Runnable run){
+		POOLS.execute(()->{
+			try{
+				run.run();
+			}catch(Exception e){
+//				LogUtil.sysError(e.getMessage(), e);
+			}
+		});
+	}
+	
+	/**
+	 * 提交任务
+	 * @param callable
+	 * @return
+	 */
+	public <T> Future<T>  submit(Callable<T> callable){
+		return POOLS.submit(callable);
+	}
+	
+	/**
+	 * 循环任务
+	 * @param call
+	 * @param delay
+	 */
+	public void schedule(Runnable call, long delay){
+		TIMER_POOLS.scheduleAtFixedRate(()->{
+			try{
+				call.run();
+			}catch(Exception e){
+//				LogUtil.sysError(e.getMessage(), e);
+			}
+		}, 0, delay, TimeUnit.MINUTES);
+	}
+}