shiyj
2019-07-25 7f00a46d453a5ebea9733e5845fff777568cdb46
JobService/src/main/java/com/java110/job/task/PrvncFtpToFileSystemJob.java
@@ -3,24 +3,26 @@
import com.java110.common.util.SpringBeanInvoker;
import com.java110.job.dao.IPrvncFtpFileDAO;
import com.java110.job.smo.PrvncFtpToFileSystemQuartz;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean;
import java.util.HashMap;
import java.util.Map;
/**
 * 将集团文件同步至本地支持的文件系统
 *
 *
 * @author wuxw7
 *
 *
 */
public class PrvncFtpToFileSystemJob extends MethodInvokingJobDetailFactoryBean.StatefulMethodInvokingJob {
public class PrvncFtpToFileSystemJob implements Job {
   private static final Logger logger = LoggerFactory.getLogger(PrvncFtpToFileSystemJob.class);
   public static String JOB_DATA_CONFIG_NAME = "ftpToFileSystemTaskName";
@@ -30,29 +32,29 @@
   private IPrvncFtpFileDAO prvncFtpFileDAO;
   @Autowired
   private PrvncFtpToFileSystemQuartz prvncDumpQuartz;
   protected void executeInternal(JobExecutionContext context) {
      try {
         if(logger.isDebugEnabled()){
            logger.debug("FTP通用数据文件传接任务:" +
                   context.getJobDetail().getFullName() + " taskID:" +
                   context.getJobDetail().getJobDataMap().get(JOB_DATA_TASK_ID) +
                   " ftpfileTaskName:" +
                   context.getJobDetail().getJobDataMap().get(JOB_DATA_CONFIG_NAME), context);
                  context.getJobDetail().getFullName() + " taskID:" +
                  context.getJobDetail().getJobDataMap().get(JOB_DATA_TASK_ID) +
                  " ftpfileTaskName:" +
                  context.getJobDetail().getJobDataMap().get(JOB_DATA_CONFIG_NAME), context);
         }
         long taskId = Long.parseLong(context.getJobDetail().getJobDataMap()
               .getString(JOB_DATA_TASK_ID));
         // 根据taskId 查询配置信息
         Map ftpItemConfigInfo = this.getFtpConfigInfo(taskId);
         //如果查询不到数据,或者是没有处理class,不在运行
         if(ftpItemConfigInfo == null || !ftpItemConfigInfo.containsKey("DEAL_CLASS") || ftpItemConfigInfo.get("DEAL_CLASS") == null){
            logger.error("---【PrvncFtpToFileSystemQuartz.executeInternal】查询到的ftp配置数据为空,或没有处理类", ftpItemConfigInfo);
            return;
         }
         String dealClass = ftpItemConfigInfo.get("DEAL_CLASS").toString();
         prvncDumpQuartz = (PrvncFtpToFileSystemQuartz) SpringBeanInvoker.getBean(dealClass);
         prvncDumpQuartz.startFtpTask(ftpItemConfigInfo);
@@ -63,7 +65,7 @@
   /**
    * 查询配置相关信息
    *
    *
    * @param taskId
    * @return
    */
@@ -87,4 +89,8 @@
      return prvncFtpFileDAO;
   }
   @Override
   public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
      this.executeInternal(jobExecutionContext);
   }
}