NutzCN Logo
问答 服务器上定时任务未执行
发布于 2299天前 作者 wx_vjqsjg4om8803f2gnu54 2333 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

使用的nutzwk框架,添加定时任务后,在本地都没问题,放到服务器上后定时任务没有执行,但是任务列表里显示执行成功了,这是什么原因呢?

15 回复

怎么知道没执行?

我在定时任务里加了log.info("init redis 报警时间间隔 time::" + (b - a) + "ms");打印日志。本地上一直能执行,服务器上一直没打印。定时任务的操作也没实现。

#==============================================================    
#Configure Main Scheduler Properties    
#==============================================================     
org.quartz.scheduler.instanceName = defaultScheduler
org.quartz.scheduler.instanceId = AUTO

#==============================================================    
#Configure JobStore     isClustered=ÆôÓü¯ÈºÄ£Ê½
#==============================================================   
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix = SYS_QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.jobStore.maxMisfiresToHandleAtATime = 120
org.quartz.jobStore.misfireThreshold = 120000
org.quartz.jobStore.txIsolationLevelSerializable = false

#==============================================================    
#Configure ThreadPool    
#==============================================================   
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 4
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

#==============================================================  
#Skip Check Update  
#update:true  
#not update:false  
#==============================================================  
org.quartz.scheduler.skipUpdateCheck = true

#============================================================================     
# Configure Plugins      
#============================================================================        
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
#============================================================================
# NutDao dataSource
#============================================================================
org.quartz.dataSource.myDS.connectionProvider.class = org.nutz.integration.quartz.NutConnectionProvider

跟定时任务的配置文件有关系吗?

应该不是这个原因

单机部署吗?

嗯,单机部署的,有没有可能是因为多个人同时访问一个账号造成的?我看生产的表sys_qrtz_scheduler_state里的INSTANCE_NAME记录了电脑的名称

不晓得,等大鲨鱼来看看吧

org.quartz.scheduler.instanceName = defaultScheduler
org.quartz.threadPool.threadCount = 3  
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore 
org.quartz.scheduler.skipUpdateCheck=true

我把配置文件换成nutzmore的定时任务例子的配置文件就可以了,我看了下只是org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore 这个的类不一样,nutzwk里是org.quartz.impl.jdbcjobstore.JobStoreTX,这两个有什么区别吗?跟事务有关吗?

那是持久化到数据库,集群的时候需要

我们现在也只是单台服务器。这么会遇到这样的情况呢?目前换成org.quartz.simpl.RAMJobStore 定时任务一直在跑。

换成org.quartz.simpl.RAMJobStore 这个类,发现现在定时任务跑了两次。这个是啥子回事嘛?

你的job是按照nutzwk里的 TestJob 示例写的么?

```
package cn.wizzer.app.web.commons.quartz.job;

import java.util.List;

import org.apache.commons.lang3.ArrayUtils;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.integration.jedis.JedisAgent;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Strings;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.alibaba.fastjson.JSON;

import cn.wizzer.app.hydraulic.modules.models.DevAlarm;
import cn.wizzer.app.hydraulic.modules.models.DevAlarmHistory;
import cn.wizzer.app.hydraulic.modules.models.DevBase;
import cn.wizzer.app.hydraulic.modules.models.DevChannelRecord;
import cn.wizzer.app.hydraulic.modules.models.DevGateRecord;
import cn.wizzer.app.hydraulic.modules.services.DevAlarmHistoryService;
import cn.wizzer.app.hydraulic.modules.services.DevAlarmService;
import cn.wizzer.app.hydraulic.modules.services.DevBaseService;
import cn.wizzer.app.sys.modules.models.Sys_message;
import cn.wizzer.app.sys.modules.models.Sys_param;
import cn.wizzer.app.sys.modules.models.Sys_task;
import cn.wizzer.app.sys.modules.models.Sys_tenant;
import cn.wizzer.app.sys.modules.services.SysMessageService;
import cn.wizzer.app.sys.modules.services.SysParamService;
import cn.wizzer.app.sys.modules.services.SysTenantService;
import cn.wizzer.app.web.commons.base.Globals;
import cn.wizzer.app.web.commons.util.DateUtilWeb;
import redis.clients.jedis.Jedis;
/**
* 报警数据间隔定时任务
* @author lizhihong
*
*/
@IocBean
public class WarnIntervaljob implements Job{

private static final Log log = Logs.get();
@Inject
protected Dao dao;
@Inject
private JedisAgent jedisAgent;
@Inject
private DevBaseService deviceService;
@Inject
private SysTenantService tenantService;
@Inject
private SysParamService paramService;
@Inject
private DevAlarmService devAlarmService;
@Inject
private DevAlarmHistoryService devAlarmHistoryService;
@Inject
private SysMessageService messageService;


public void execute(JobExecutionContext context) throws JobExecutionException {
    JobDataMap data = context.getJobDetail().getJobDataMap();
    String taskId = context.getJobDetail().getKey().getName();
    long a = System.currentTimeMillis();
    //获取租户的list
    List<Sys_tenant> tenantList = tenantService.query(Cnd.where("delFlag","=",false));
    //当前时间转成int类型
    int time = (int) (System.currentTimeMillis() / 1000);
    //时间间隔变量
    int timeInterval = 0;
    //忽略时间间隔
    int timeIgnore = 0;
    //闸门记录对象
    DevGateRecord gateRecord = null;
    DevChannelRecord devChannelRecord = null;
    DevAlarm devAlarm = new DevAlarm();
    DevAlarmHistory devAlarmHistory = new DevAlarmHistory();
    Sys_message message = new Sys_message();
    //获取jedis对象
    try (Jedis jedis = jedisAgent.getResource()) {
        //遍历租户
        for (Sys_tenant tenant : tenantList) {
            //判断租户下对应的闸门实时记录在redis中是否存在
            if (jedis.exists(tenant.getId() + ":" + Globals.gate)) {
               // 获取key里所有的值
          List<String> list = jedis.hvals(tenant.getId() + ":" + Globals.gate);
          if(list.size()>0){
              // 遍历把list的值转为对象
              for (int i = 0; i < list.size(); i++) {
                 // 转换成对象
                 gateRecord = JSON.parseObject(list.get(i), DevGateRecord.class);
                 if(gateRecord != null){
                   //获取设备的时间间隔
                   Sys_param sysParam = paramService.fetch(Cnd.where("deviceId","=",gateRecord.getDeviceId()));
                   //如果不存在,设备时间间隔为默认的时间间隔,如果存在设备时间间隔为设备的时间间隔
                   if(sysParam == null){
                    timeInterval = Globals.timeInterval;
                    timeIgnore = Globals.timeIgnore;
                   }else{
                    timeInterval = sysParam.getTimeInterval();
                    timeIgnore = sysParam.getIgnoreTime();
                   }
                   //判断当前时间-设备的实时记录的上报时间,换成分钟数,如果>时间间隔的2倍,修改redis和数据库的报警时间和报警时间
                   if((time - gateRecord.getUpTime())/60 >= timeInterval+5){
                    if(gateRecord.getAlarmType().equals("")||gateRecord.getAlarmType().equals("-1")){
                        //设置实时记录的报警类型为6,报警时间为当前时间
                        gateRecord.setAlarmType("6");
                        gateRecord.setAlarmTime(String.valueOf(time));
                        gateRecord.setDealTime("");
                        gateRecord.setDealType("");
                        //修改redis里的值
                        jedis.hset(tenant.getId() + ":" + Globals.gate, gateRecord.getDeviceCode(), JSON.toJSONString(gateRecord));
                        devAlarm.setAlarmType(6);
                        devAlarm.setAlarmTime(time);
                        devAlarm.setSpaceTime((time - gateRecord.getUpTime())/60);
                        devAlarm.setDeviceId(gateRecord.getDeviceId());
                        devAlarm.setGatePosition(gateRecord.getGatePosition());
                        devAlarm.setWaterPosition(gateRecord.getWaterPosition());
                        devAlarm.setInstantFlow(gateRecord.getInstantFlow());
                        devAlarmHistory.setAlarmType("6");
                        devAlarmHistory.setAlarmTime(time);
                        devAlarmHistory.setSpaceTime((time - gateRecord.getUpTime())/60);
                        devAlarmHistory.setDeviceId(gateRecord.getDeviceId());
                        devAlarmHistory.setGatePosition(gateRecord.getGatePosition());
                        devAlarmHistory.setWaterPosition(gateRecord.getWaterPosition());
                        devAlarmHistory.setInstantFlow(gateRecord.getInstantFlow());
                        //报警记录表添加数据
                        devAlarmService.insert(devAlarm);
                        //报警记录历史表添加数据
                        devAlarmHistoryService.insert(devAlarmHistory);
                        //消息表添加数据
                        message.setMessageType("i");
                        message.setContent(gateRecord.getStationName()+"测站的"+gateRecord.getDeviceName()+"设备("+gateRecord.getDeviceCode()+")于"+DateUtilWeb.getDate(time)+"时间发生了数据间隔时间异常类型的报警状况,请及时予以处理。");
                        message.setReceiveTime((int) (System.currentTimeMillis() / 1000));
                        message.setState('0');
                        DevBase device = deviceService.fetch(Cnd.where("deviceCode","=",gateRecord.getDeviceCode()).and("delFlag","=",false));
                        message.setUserId(device.getDeviceLeader());
                        messageService.insert(message);
                    }else{
                        //获取报警类型,切割字符串
                        String alarmType = gateRecord.getAlarmType();
                        String[] alarmTypes = alarmType.split(",");
                        //报警类型为6的次数,如果次数为0 ,代表没有这个报警,添加报警,否则说明已存在这个报警,不再报警
                        if(!ArrayUtils.contains(alarmTypes,"6")){
                           gateRecord.setAlarmType(gateRecord.getAlarmType()+",6");
                           gateRecord.setAlarmTime(String.valueOf(time));
                           gateRecord.setDealTime("");
                           gateRecord.setDealType("");
                           devAlarmHistory.setAlarmType(gateRecord.getAlarmType());
                           //修改redis里的值
                           jedis.hset(tenant.getId() + ":" + Globals.gate, gateRecord.getDeviceCode(), JSON.toJSONString(gateRecord));
                           devAlarm.setAlarmType(6);
                           devAlarm.setAlarmTime(time);
                           devAlarm.setSpaceTime((time - gateRecord.getUpTime())/60);
                           devAlarm.setDeviceId(gateRecord.getDeviceId());
                           devAlarm.setGatePosition(gateRecord.getGatePosition());
                           devAlarm.setWaterPosition(gateRecord.getWaterPosition());
                           devAlarm.setInstantFlow(gateRecord.getInstantFlow());
                           devAlarmHistory.setAlarmTime(time);
                           devAlarmHistory.setSpaceTime((time - gateRecord.getUpTime())/60);
                           devAlarmHistory.setDeviceId(gateRecord.getDeviceId());
                           devAlarmHistory.setGatePosition(gateRecord.getGatePosition());
                           devAlarmHistory.setWaterPosition(gateRecord.getWaterPosition());
                           devAlarmHistory.setInstantFlow(gateRecord.getInstantFlow());
                           //报警记录表添加数据
                           devAlarmService.insert(devAlarm);
                           //报警记录历史表添加数据
                           devAlarmHistoryService.insert(devAlarmHistory);
                           //消息表添加数据
                           message.setMessageType("i");
                           message.setContent(gateRecord.getStationName()+"测站的"+gateRecord.getDeviceName()+"设备("+gateRecord.getDeviceCode()+")于"+DateUtilWeb.getDate(time)+"时间发生了数据间隔时间异常类型的报警状况,请及时予以处理。");
                           message.setReceiveTime((int) (System.currentTimeMillis() / 1000));
                           message.setState('0');
                           DevBase device = deviceService.fetch(Cnd.where("deviceCode","=",gateRecord.getDeviceCode()).and("delFlag","=",false));
                           message.setUserId(device.getDeviceLeader());
                           messageService.insert(message);
                        }
                    }
                   }
                   String dealTime = gateRecord.getDealTime();
                   if(!Strings.isBlank(dealTime)){
                    if(gateRecord.getDealType().equals("2") && (time - Integer.parseInt(dealTime))/60 > timeIgnore){
                        gateRecord.setDealType("");
                        gateRecord.setDealTime("");
                        //修改redis里的值
                        jedis.hset(tenant.getId() + ":" + Globals.gate, gateRecord.getDeviceCode(), JSON.toJSONString(gateRecord));
                        DevAlarmHistory history = devAlarmHistoryService.fetch(Cnd.where("deviceId", "=", gateRecord.getDeviceId()).and("alarmTime","=",gateRecord.getAlarmTime()));
                        history.setDealType(0);
                        history.setDealTime(0);
                        history.setHandler(null);
                        devAlarmHistoryService.insert(history);
                    }
                   }
                 }
              }
          }
            }
            //判断租户下对应的闸门实时记录在redis中是否存在
            if (jedis.exists(tenant.getId() + ":" + Globals.channel)) {
               // 获取key里所有的值
          List<String> list = jedis.hvals(tenant.getId() + ":" + Globals.channel);
          if(list.size()>0){
              // 遍历把list的值转为对象
              for (int i = 0; i < list.size(); i++) {
                 // 转换成对象
                 devChannelRecord = JSON.parseObject(list.get(i), DevChannelRecord.class);
                 if(devChannelRecord != null){
                   //获取设备的时间间隔
                   Sys_param sysParam = paramService.fetch(Cnd.where("deviceId","=",devChannelRecord.getDeviceId()));
                   //如果不存在,设备时间间隔为默认的时间间隔,如果存在设备时间间隔为设备的时间间隔
                   if(sysParam == null){
                    timeInterval = Globals.timeInterval;
                   }else{
                    timeInterval = sysParam.getTimeInterval();
                   }
                   //判断当前时间-设备的实时记录的上报时间,换成分钟数,如果>时间间隔的2倍,修改redis和数据库的报警时间和报警时间
                   if((time - devChannelRecord.getUpTime())/60 >= timeInterval+5){
                    if(devChannelRecord.getAlarmType().equals("")||devChannelRecord.getAlarmType().equals("-1")){
                        //设置实时记录的报警类型为6,报警时间为当前时间
                        devChannelRecord.setAlarmType("6");
                        devChannelRecord.setAlarmTime(String.valueOf(time));
                        devChannelRecord.setDealTime("");
                        devChannelRecord.setDealType("");
                        //修改redis里的值
                        jedis.hset(tenant.getId() + ":" + Globals.channel, devChannelRecord.getDeviceCode(), JSON.toJSONString(devChannelRecord));
                        devAlarm.setAlarmType(6);
                        devAlarm.setAlarmTime(time);
                        devAlarm.setSpaceTime((time - gateRecord.getUpTime())/60);
                        devAlarm.setDeviceId(devChannelRecord.getDeviceId());
                        devAlarm.setWaterPosition(devChannelRecord.getWaterPosition());
                        devAlarm.setInstantFlow(devChannelRecord.getInstantFlow());
                        devAlarmHistory.setAlarmType("6");
                        devAlarmHistory.setAlarmTime(time);
                        devAlarmHistory.setSpaceTime((time - gateRecord.getUpTime())/60);
                        devAlarmHistory.setDeviceId(devChannelRecord.getDeviceId());
                        devAlarmHistory.setWaterPosition(devChannelRecord.getWaterPosition());
                        devAlarmHistory.setInstantFlow(devChannelRecord.getInstantFlow());
                        //报警记录表添加数据
                        devAlarmService.insert(devAlarm);
                        //报警记录历史表添加数据
                        devAlarmHistoryService.insert(devAlarmHistory);
                        //消息表添加数据
                        message.setMessageType("i");
                        message.setContent(devChannelRecord.getStationName()+"测站的"+devChannelRecord.getDeviceName()+"设备("+devChannelRecord.getDeviceCode()+")于"+DateUtilWeb.getDate(time)+"时间发生了数据间隔时间异常类型的报警状况,请及时予以处理。");
                        message.setReceiveTime((int) (System.currentTimeMillis() / 1000));
                        message.setState('0');
                        DevBase device = deviceService.fetch(Cnd.where("deviceCode","=",devChannelRecord.getDeviceCode()).and("delFlag","=",false));
                        message.setUserId(device.getDeviceLeader());
                        messageService.insert(message);
                    }else{
                        //获取报警类型,切割字符串
                        String alarmType = devChannelRecord.getAlarmType();
                        String[] alarmTypes = alarmType.split(",");
                        //报警类型为6的次数,如果次数为0 ,代表没有这个报警,添加报警,否则说明已存在这个报警,不再报警
                        if(!ArrayUtils.contains(alarmTypes,"6")){
                           devChannelRecord.setAlarmType(devChannelRecord.getAlarmType()+",6");
                           devAlarmHistory.setAlarmType(devChannelRecord.getAlarmType());
                           devChannelRecord.setAlarmTime(String.valueOf(time));
                           devChannelRecord.setDealTime("");
                           devChannelRecord.setDealType("");
                           //修改redis里的值
                           jedis.hset(tenant.getId() + ":" + Globals.channel, devChannelRecord.getDeviceCode(), JSON.toJSONString(devChannelRecord));
                           devAlarm.setAlarmType(6);
                           devAlarm.setAlarmTime(time);
                           devAlarm.setSpaceTime((time - gateRecord.getUpTime())/60);
                           devAlarm.setDeviceId(devChannelRecord.getDeviceId());
                           devAlarm.setWaterPosition(devChannelRecord.getWaterPosition());
                           devAlarm.setInstantFlow(devChannelRecord.getInstantFlow());
                           devAlarmHistory.setAlarmTime(time);
                           devAlarmHistory.setSpaceTime((time - gateRecord.getUpTime())/60);
                           devAlarmHistory.setDeviceId(devChannelRecord.getDeviceId());
                           devAlarmHistory.setWaterPosition(devChannelRecord.getWaterPosition());
                           devAlarmHistory.setInstantFlow(devChannelRecord.getInstantFlow());
                           //报警记录表添加数据
                           devAlarmService.insert(devAlarm);
                           //报警记录历史表添加数据
                           devAlarmHistoryService.insert(devAlarmHistory);
                           //消息表添加数据
                           message.setMessageType("i");
                           message.setContent(devChannelRecord.getStationName()+"测站的"+devChannelRecord.getDeviceName()+"设备("+devChannelRecord.getDeviceCode()+")于"+DateUtilWeb.getDate(time)+"时间发生了数据间隔时间异常类型的报警状况,请及时予以处理。");
                           message.setReceiveTime((int) (System.currentTimeMillis() / 1000));
                           message.setState('0');
                           DevBase device = deviceService.fetch(Cnd.where("deviceCode","=",devChannelRecord.getDeviceCode()).and("delFlag","=",false));
                           message.setUserId(device.getDeviceLeader());
                           messageService.insert(message);
                        }
                    }
                   }
                   String dealTime = devChannelRecord.getDealTime();
                   if(!Strings.isBlank(dealTime)){
                    if(devChannelRecord.getDealType().equals("2") && (time -  Integer.parseInt(dealTime))/60 > timeIgnore){
                        devChannelRecord.setDealType("");
                        devChannelRecord.setDealTime("");
                        //修改redis里的值
                        jedis.hset(tenant.getId() + ":" + Globals.channel, devChannelRecord.getDeviceCode(), JSON.toJSONString(devChannelRecord));
                        DevAlarmHistory history = devAlarmHistoryService.fetch(Cnd.where("deviceId", "=", devChannelRecord.getDeviceId()).and("alarmTime","=",devChannelRecord.getAlarmTime()));
                        history.setDealType(0);
                        history.setDealTime(0);
                        history.setHandler(null);
                        devAlarmHistoryService.insert(history);
                    }
                   }
                 }
              }
          }
            }
       }
    }
    long b = System.currentTimeMillis();
    log.info("init redis 报警时间间隔 time::" + (b - a) + "ms");
    dao.update(Sys_task.class, Chain.make("exeAt", (int) (System.currentTimeMillis() / 1000)).add("exeResult", "执行成功"), Cnd.where("id", "=", taskId));
}

}

``
是按例子写的,在本地一点问题没有,到服务器就不行了。

一月 03, 2018 8:31:48 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:wk-web' did not find a matching property.
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server version: Apache Tomcat/8.0.44
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server built: May 10 2017 17:21:09 UTC
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Server number: 8.0.44.0
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Name: Windows 7
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: OS Version: 6.1
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Architecture: amd64
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Java Home: C:\Program Files\Java\jdk1.8.0_121\jre
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Version: 1.8.0_121-b13
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: JVM Vendor: Oracle Corporation
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_BASE: D:\java-develop\apache-tomcat-8.0.44
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: CATALINA_HOME: D:\java-develop\apache-tomcat-8.0.44
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:49720
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.base=D:\java-develop\apache-tomcat-8.0.44
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dcatalina.home=D:\java-develop\apache-tomcat-8.0.44
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dwtp.deploy=D:\java-develop\apache-tomcat-8.0.44\webapps
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Djava.endorsed.dirs=D:\java-develop\apache-tomcat-8.0.44\endorsed
一月 03, 2018 8:31:48 上午 org.apache.catalina.startup.VersionLoggerListener log
信息: Command line argument: -Dfile.encoding=UTF-8
一月 03, 2018 8:31:48 上午 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_121\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.8.0_121\jre\bin;C:/Program Files/Java/jre1.8.0_121/bin/server;C:/Program Files/Java/jre1.8.0_121/bin;C:/Program Files/Java/jre1.8.0_121/lib/amd64;D:\java-develop\apache-tomcat-8.0.44\bin;D:\java-develop\apache-maven-3.3.9-bin\apache-maven-3.3.9\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Java\jdk1.8.0_121\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Lenovo\Touch Fingerprint Software\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\tools\SSH;D:\java-develop\eclipse;;.
一月 03, 2018 8:31:49 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-nio-8080"]
一月 03, 2018 8:31:49 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
一月 03, 2018 8:31:49 上午 org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["ajp-nio-8009"]
一月 03, 2018 8:31:49 上午 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息: Using a shared selector for servlet write/read
一月 03, 2018 8:31:49 上午 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 1690 ms
一月 03, 2018 8:31:49 上午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Catalina
一月 03, 2018 8:31:49 上午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/8.0.44
一月 03, 2018 8:31:59 上午 org.apache.jasper.servlet.TldScanner scanJars
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
一月 03, 2018 8:31:59 上午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Shiro environment
[INFO ] 2018-01-03 08:31:59,501 org.apache.shiro.config.ReflectionBuilder.createNewInstance(ReflectionBuilder.java:138) - An instance with name 'authc' already exists. Redefining this object as a new instance of type cn.wizzer.app.web.commons.shiro.filter.PlatformAuthenticationFilter
[INFO ] 2018-01-03 08:31:59,969 org.apache.shiro.config.IniSecurityManagerFactory.isAutoApplyRealms(IniSecurityManagerFactory.java:112) - Realms have been explicitly set on the SecurityManager instance - auto-setting of realms will not occur.
[INFO ] 2018-01-03 08:32:00,098 org.nutz.mvc.NutFilter._init(NutFilter.java:85) - NutFilter[nutz] starting ...
[INFO ] 2018-01-03 08:32:00,170 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.63-SNAPSHOT
[INFO ] 2018-01-03 08:32:00,171 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
[INFO ] 2018-01-03 08:32:00,655 org.nutz.ioc.loader.annotation.AnnotationIocLoader.(AnnotationIocLoader.java:56) - Found 145 classes in 1 base-packages!
beans = ["wxTplListController", "sysQrtzDayServiceImpl", "uploadController", "wxReplyTxtServiceImpl", "dateUtilWeb", "wxReplyNewsServiceImpl", "sysLoginController", "wxTplLogServiceImpl", "dateUtil", "sysStationServiceImpl", "sysUserServiceImpl", "sysRoleServiceImpl", "qrcodeService", "sysRouteController", "idcardUtil", "sysQrtzMonthJob", "gateDevAlarmRecordController", "sysQrtzJobController", "cmsController", "cmsChannelServiceImpl", "sysTenantController", "cmsArticleController", "wxMenuController", "alarmStatisticsController", "weixinController", "code128Util", "sysQrtzJob", "devBaseServiceImpl", "wxMsgReplyServiceImpl", "flowWarnDataController", "cmsLinkClassController", "cmsArticleServiceImpl", "deviceTypeServiceImpl", "dataEntryController", "devAlarmHistoryServiceImpl", "wxReplyController", "sysQrtzTenJob", "operateRecordController", "sysConfigServiceImpl", "cookieUtil", "multyDeviceReportStatisticsController", "wxMsgServiceImpl", "wxPayBackController", "wxReplyServiceImpl", "bdController", "redisIdGenerator", "sysTaskController", "cmsSiteController", "generateVirtualDataJob", "sysQrtzYearJob", "sysDictServiceImpl", "wxConfigServiceImpl", "sysQrtzMonthServiceImpl", "apiTestController", "sysMenuController", "cmsSiteServiceImpl", "cmsLinkController", "sysMessageController", "realDataController", "devBaseController", "sysRoleController", "sysQrtzTenServiceImpl", "wechatController", "wxMsgUserController", "sysTenantServiceImpl", "sysDictController", "wxMassSendServiceImpl", "rSAUtil", "realTimeDataController", "summaryStatisticsController", "wxConfigController", "stringUtil", "sysParamServiceImpl", "wxTplListServiceImpl", "sysOrgServiceImpl", "tplService", "sysPluginServiceImpl", "wxUserServiceImpl", "sysMessageServiceImpl", "flowRealTimeController", "channelDevAlarmRecordController", "nutShiroMethodInterceptor", "gatePositionServiceImpl", "dynamicInterceptor", "gateController", "sysLogController", "wxMassController", "emailService", "sysParamController", "warnIntervaljob", "wxMenuServiceImpl", "wxReplyNewsController", "cmsLinkClassServiceImpl", "sysRouteServiceImpl", "flowRealDataController", "sysHomeController", "devGateRecordServiceImpl", "wxMassNewsServiceImpl", "wxMassServiceImpl", "gatePositionController", "redisOperateUtil", "operateRecordServiceImpl", "sysMenuServiceImpl", "flowDataEntryController", "sysStationController", "cxfClientService", "wxHandler", "cmsChannelController", "wxController", "devChannelRecordServiceImpl", "rabbitProducer", "sysTaskServiceImpl", "sysLogServiceImpl", "wxTplIdServiceImpl", "shiroUtil", "dataAuthority", "$aop_syslog", "gateAlarmStatisController", "wxReplyTxtController", "warnDataController", "devAlarmServiceImpl", "sysPluginController", "sysQrtzDayJob", "wxTplLogController", "sysApiServiceImpl", "dataUpdateCountJob", "wxUserController", "wxPayTestController", "sysQrtzYearServiceImpl", "sLogService", "sysOrgController", "tokenController", "sysApiController", "cmsLinkServiceImpl", "sysUnitServiceImpl", "wxTplIdController", "devAlarmVirtualDataJob", "flowmeterSummaryStatisticsController", "sysUserController", "platformAuthorizingRealm", "sysConfController", "pluginMaster", "testJob", "singleDeviceReportStatisticsController", "$aop_1_plugin"] [INFO ] 2018-01-03 08:32:00,716 org.nutz.ioc.loader.annotation.AnnotationIocLoader.(AnnotationIocLoader.java:56) - Found 4 classes in 1 base-packages!
beans = ["wkcacheRemoveAllInterceptor", "wkcacheResultInterceptor", "$aop_wkcache", "wkcacheRemoveEntryInterceptor"] [INFO ] 2018-01-03 08:32:00,719 org.nutz.ioc.impl.NutIoc.(NutIoc.java:98) - NutIoc init begin ...
[INFO ] 2018-01-03 08:32:00,721 org.nutz.ioc.impl.NutIoc.(NutIoc.java:121) - ... NutIoc init complete
[INFO ] 2018-01-03 08:32:00,723 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
[INFO ] 2018-01-03 08:32:01,443 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: ~/nutzwk/upload/tmp [1000] [INFO ] 2018-01-03 08:32:01,447 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 76
[INFO ] 2018-01-03 08:32:01,587 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/flow [2000] [INFO ] 2018-01-03 08:32:01,590 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:01,600 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/device/upload [2000] [INFO ] 2018-01-03 08:32:01,603 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:01,628 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/user [2000] [INFO ] 2018-01-03 08:32:01,653 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:01,668 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/gate [2000] [INFO ] 2018-01-03 08:32:01,670 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[ERROR] 2018-01-03 08:32:02,252 com.alibaba.druid.filter.FilterManager.loadFilter(FilterManager.java:133) - load filter error, filter not found : mergeStat#mysql
[INFO ] 2018-01-03 08:32:02,291 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:785) - {dataSource-1} inited
[INFO ] 2018-01-03 08:32:02,545 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
[INFO ] 2018-01-03 08:32:02,934 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/station [2000] [INFO ] 2018-01-03 08:32:02,936 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:02,939 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:221) - Found 429 module methods
[INFO ] 2018-01-03 08:32:02,987 org.nutz.mvc.impl.NutLoading.createSessionProvider(NutLoading.java:414) - SessionBy --> cn.wizzer.framework.shiro.ShiroSessionProvider@d117e53
[INFO ] 2018-01-03 08:32:02,987 org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:275) - Setup application...
[INFO ] 2018-01-03 08:32:03,661 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1172) - Using default implementation for ThreadExecutor
[INFO ] 2018-01-03 08:32:03,666 org.quartz.simpl.SimpleThreadPool.initialize(SimpleThreadPool.java:268) - Job execution threads will use class loader of thread: localhost-startStop-1
[INFO ] 2018-01-03 08:32:03,681 org.quartz.core.SchedulerSignalerImpl.(SchedulerSignalerImpl.java:61) - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
[INFO ] 2018-01-03 08:32:03,681 org.quartz.core.QuartzScheduler.(QuartzScheduler.java:240) - Quartz Scheduler v.2.2.3 created.
[INFO ] 2018-01-03 08:32:03,683 org.quartz.plugins.management.ShutdownHookPlugin.initialize(ShutdownHookPlugin.java:120) - Registering Quartz shutdown hook.
[INFO ] 2018-01-03 08:32:03,685 org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:667) - Using db table-based data access locking (synchronization).
[INFO ] 2018-01-03 08:32:03,688 org.quartz.impl.jdbcjobstore.JobStoreTX.initialize(JobStoreTX.java:59) - JobStoreTX initialized.
[INFO ] 2018-01-03 08:32:03,688 org.quartz.core.QuartzScheduler.initialize(QuartzScheduler.java:305) - Scheduler meta-data: Quartz Scheduler (v2.2.3) 'defaultScheduler' with instanceId 'lizhihong-nb1514939523665'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 2 threads.
Using job-store 'org.quartz.impl.jdbcjobstore.JobStoreTX' - which supports persistence. and is clustered.

[INFO ] 2018-01-03 08:32:03,688 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1327) - Quartz scheduler 'defaultScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
[INFO ] 2018-01-03 08:32:03,689 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1331) - Quartz scheduler version: 2.2.3
[INFO ] 2018-01-03 08:32:03,731 org.quartz.core.QuartzScheduler.setJobFactory(QuartzScheduler.java:2311) - JobFactory set to: org.nutz.integration.quartz.NutQuartzJobFactory@98755ff
[INFO ] 2018-01-03 08:32:03,774 org.quartz.impl.jdbcjobstore.JobStoreSupport.logWarnIfNonZero(JobStoreSupport.java:3583) - ClusterManager: detected 2 failed or restarted instances.
[INFO ] 2018-01-03 08:32:03,774 org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterRecover(JobStoreSupport.java:3442) - ClusterManager: Scanning for instance "lizhihong-nb1514878983645"'s failed in-progress jobs.
[INFO ] 2018-01-03 08:32:03,777 org.quartz.impl.jdbcjobstore.JobStoreSupport.clusterRecover(JobStoreSupport.java:3442) - ClusterManager: Scanning for instance "lizhihong-nb1514878991564"'s failed in-progress jobs.
[INFO ] 2018-01-03 08:32:03,782 org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:575) - Scheduler defaultScheduler_$_lizhihong-nb1514939523665 started.
[INFO ] 2018-01-03 08:32:03,792 org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:968) - Handling 1 trigger(s) that missed their scheduled fire-time.
[INFO ] 2018-01-03 08:32:04,209 cn.wizzer.app.web.commons.core.Setup.initRedisDevice(Setup.java:214) - init redisDevice ig time::270ms
[INFO ] 2018-01-03 08:32:04,542 cn.wizzer.app.web.commons.core.Setup.initRedisStation(Setup.java:272) - init redisStation ig time::333ms
[INFO ] 2018-01-03 08:32:04,543 cn.wizzer.app.web.commons.core.Setup.init(Setup.java:119) -
_ _ _ _ _____ __
| | | | | |_ | /
| .` | |_| | | | / /
|_|_|___/ |_| /___|
[INFO ] 2018-01-03 08:32:04,543 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:141) - Nutz.Mvc[nutz] is up in 4372ms
[INFO ] 2018-01-03 08:32:04,543 org.nutz.mvc.NutFilter._init(NutFilter.java:117) - exclusionsPrefix = ^(/assets/|/druid/|/upload/|/apidoc/)
一月 03, 2018 8:32:04 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\docs
一月 03, 2018 8:32:04 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\docs has finished in 53 ms
一月 03, 2018 8:32:04 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\examples
一月 03, 2018 8:32:05 上午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
一月 03, 2018 8:32:05 上午 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\examples has finished in 432 ms
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\host-manager
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\host-manager has finished in 20 ms
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\manager
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\manager has finished in 21 ms
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\ROOT
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\ROOT has finished in 16 ms
一月 03, 2018 8:32:05 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\wk-web
一月 03, 2018 8:32:08 上午 org.apache.jasper.servlet.TldScanner scanJars
信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
一月 03, 2018 8:32:08 上午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Shiro environment
[INFO ] 2018-01-03 08:32:08,789 org.apache.shiro.config.ReflectionBuilder.createNewInstance(ReflectionBuilder.java:138) - An instance with name 'authc' already exists. Redefining this object as a new instance of type cn.wizzer.app.web.commons.shiro.filter.PlatformAuthenticationFilter
[INFO ] 2018-01-03 08:32:09,170 org.apache.shiro.config.IniSecurityManagerFactory.isAutoApplyRealms(IniSecurityManagerFactory.java:112) - Realms have been explicitly set on the SecurityManager instance - auto-setting of realms will not occur.
[INFO ] 2018-01-03 08:32:09,327 org.nutz.mvc.NutFilter._init(NutFilter.java:85) - NutFilter[nutz] starting ...
[INFO ] 2018-01-03 08:32:09,396 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.63-SNAPSHOT
[INFO ] 2018-01-03 08:32:09,397 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
[INFO ] 2018-01-03 08:32:09,833 org.nutz.ioc.loader.annotation.AnnotationIocLoader.(AnnotationIocLoader.java:56) - Found 145 classes in 1 base-packages!
beans = ["wxTplListController", "sysQrtzDayServiceImpl", "uploadController", "wxReplyTxtServiceImpl", "dateUtilWeb", "wxReplyNewsServiceImpl", "sysLoginController", "wxTplLogServiceImpl", "dateUtil", "sysStationServiceImpl", "sysUserServiceImpl", "sysRoleServiceImpl", "qrcodeService", "sysRouteController", "idcardUtil", "sysQrtzMonthJob", "gateDevAlarmRecordController", "sysQrtzJobController", "cmsController", "cmsChannelServiceImpl", "sysTenantController", "cmsArticleController", "wxMenuController", "alarmStatisticsController", "weixinController", "code128Util", "sysQrtzJob", "devBaseServiceImpl", "wxMsgReplyServiceImpl", "flowWarnDataController", "cmsLinkClassController", "cmsArticleServiceImpl", "deviceTypeServiceImpl", "dataEntryController", "devAlarmHistoryServiceImpl", "wxReplyController", "sysQrtzTenJob", "operateRecordController", "sysConfigServiceImpl", "cookieUtil", "multyDeviceReportStatisticsController", "wxMsgServiceImpl", "wxPayBackController", "wxReplyServiceImpl", "bdController", "redisIdGenerator", "sysTaskController", "cmsSiteController", "generateVirtualDataJob", "sysQrtzYearJob", "sysDictServiceImpl", "wxConfigServiceImpl", "sysQrtzMonthServiceImpl", "apiTestController", "sysMenuController", "cmsSiteServiceImpl", "cmsLinkController", "sysMessageController", "realDataController", "devBaseController", "sysRoleController", "sysQrtzTenServiceImpl", "wechatController", "wxMsgUserController", "sysTenantServiceImpl", "sysDictController", "wxMassSendServiceImpl", "rSAUtil", "realTimeDataController", "summaryStatisticsController", "wxConfigController", "stringUtil", "sysParamServiceImpl", "wxTplListServiceImpl", "sysOrgServiceImpl", "tplService", "sysPluginServiceImpl", "wxUserServiceImpl", "sysMessageServiceImpl", "flowRealTimeController", "channelDevAlarmRecordController", "nutShiroMethodInterceptor", "gatePositionServiceImpl", "dynamicInterceptor", "gateController", "sysLogController", "wxMassController", "emailService", "sysParamController", "warnIntervaljob", "wxMenuServiceImpl", "wxReplyNewsController", "cmsLinkClassServiceImpl", "sysRouteServiceImpl", "flowRealDataController", "sysHomeController", "devGateRecordServiceImpl", "wxMassNewsServiceImpl", "wxMassServiceImpl", "gatePositionController", "redisOperateUtil", "operateRecordServiceImpl", "sysMenuServiceImpl", "flowDataEntryController", "sysStationController", "cxfClientService", "wxHandler", "cmsChannelController", "wxController", "devChannelRecordServiceImpl", "rabbitProducer", "sysTaskServiceImpl", "sysLogServiceImpl", "wxTplIdServiceImpl", "shiroUtil", "dataAuthority", "$aop_syslog", "gateAlarmStatisController", "wxReplyTxtController", "warnDataController", "devAlarmServiceImpl", "sysPluginController", "sysQrtzDayJob", "wxTplLogController", "sysApiServiceImpl", "dataUpdateCountJob", "wxUserController", "wxPayTestController", "sysQrtzYearServiceImpl", "sLogService", "sysOrgController", "tokenController", "sysApiController", "cmsLinkServiceImpl", "sysUnitServiceImpl", "wxTplIdController", "devAlarmVirtualDataJob", "flowmeterSummaryStatisticsController", "sysUserController", "platformAuthorizingRealm", "sysConfController", "pluginMaster", "testJob", "singleDeviceReportStatisticsController", "$aop_1_plugin"] [INFO ] 2018-01-03 08:32:09,956 org.nutz.ioc.loader.annotation.AnnotationIocLoader.(AnnotationIocLoader.java:56) - Found 4 classes in 1 base-packages!
beans = ["wkcacheRemoveAllInterceptor", "wkcacheResultInterceptor", "$aop_wkcache", "wkcacheRemoveEntryInterceptor"] [INFO ] 2018-01-03 08:32:09,959 org.nutz.ioc.impl.NutIoc.(NutIoc.java:98) - NutIoc init begin ...
[INFO ] 2018-01-03 08:32:09,962 org.nutz.ioc.impl.NutIoc.(NutIoc.java:121) - ... NutIoc init complete
[INFO ] 2018-01-03 08:32:09,968 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
[INFO ] 2018-01-03 08:32:10,760 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: ~/nutzwk/upload/tmp [1000] [INFO ] 2018-01-03 08:32:10,764 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 76
[INFO ] 2018-01-03 08:32:10,931 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/user [2000] [INFO ] 2018-01-03 08:32:10,931 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:10,981 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/device/upload [2000] [INFO ] 2018-01-03 08:32:10,982 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:11,055 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/station [2000] [INFO ] 2018-01-03 08:32:11,056 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:11,062 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/gate [2000] [INFO ] 2018-01-03 08:32:11,063 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[ERROR] 2018-01-03 08:32:11,481 com.alibaba.druid.filter.FilterManager.loadFilter(FilterManager.java:133) - load filter error, filter not found : mergeStat#mysql
[INFO ] 2018-01-03 08:32:11,518 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:785) - {dataSource-1} inited
[INFO ] 2018-01-03 08:32:11,739 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
[INFO ] 2018-01-03 08:32:12,089 org.nutz.filepool.NutFilePool.(NutFilePool.java:25) - Init file-pool by: D:/java-develop/apache-tomcat-8.0.44/webapps/wk-web/WEB-INF/upload/flow [2000] [INFO ] 2018-01-03 08:32:12,090 org.nutz.filepool.NutFilePool.(NutFilePool.java:68) - file-pool.cursor: 0
[INFO ] 2018-01-03 08:32:12,112 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:221) - Found 429 module methods
[INFO ] 2018-01-03 08:32:12,121 org.nutz.mvc.impl.NutLoading.createSessionProvider(NutLoading.java:414) - SessionBy --> cn.wizzer.framework.shiro.ShiroSessionProvider@307d316c
[INFO ] 2018-01-03 08:32:12,121 org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:275) - Setup application...
[INFO ] 2018-01-03 08:32:12,611 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1172) - Using default implementation for ThreadExecutor
[INFO ] 2018-01-03 08:32:12,615 org.quartz.simpl.SimpleThreadPool.initialize(SimpleThreadPool.java:268) - Job execution threads will use class loader of thread: localhost-startStop-1
[INFO ] 2018-01-03 08:32:12,629 org.quartz.core.SchedulerSignalerImpl.(SchedulerSignalerImpl.java:61) - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
[INFO ] 2018-01-03 08:32:12,629 org.quartz.core.QuartzScheduler.(QuartzScheduler.java:240) - Quartz Scheduler v.2.2.3 created.
[INFO ] 2018-01-03 08:32:12,631 org.quartz.plugins.management.ShutdownHookPlugin.initialize(ShutdownHookPlugin.java:120) - Registering Quartz shutdown hook.
[INFO ] 2018-01-03 08:32:12,632 org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:667) - Using db table-based data access locking (synchronization).
[INFO ] 2018-01-03 08:32:12,634 org.quartz.impl.jdbcjobstore.JobStoreTX.initialize(JobStoreTX.java:59) - JobStoreTX initialized.
[INFO ] 2018-01-03 08:32:12,635 org.quartz.core.QuartzScheduler.initialize(QuartzScheduler.java:305) - Scheduler meta-data: Quartz Scheduler (v2.2.3) 'defaultScheduler' with instanceId 'lizhihong-nb1514939532614'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 2 threads.
Using job-store 'org.quartz.impl.jdbcjobstore.JobStoreTX' - which supports persistence. and is clustered.

[INFO ] 2018-01-03 08:32:12,635 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1327) - Quartz scheduler 'defaultScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
[INFO ] 2018-01-03 08:32:12,635 org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1331) - Quartz scheduler version: 2.2.3
[INFO ] 2018-01-03 08:32:12,676 org.quartz.core.QuartzScheduler.setJobFactory(QuartzScheduler.java:2311) - JobFactory set to: org.nutz.integration.quartz.NutQuartzJobFactory@6d539f70
[INFO ] 2018-01-03 08:32:12,711 org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:575) - Scheduler defaultScheduler_$_lizhihong-nb1514939532614 started.
[INFO ] 2018-01-03 08:32:12,978 cn.wizzer.app.web.commons.core.Setup.initRedisDevice(Setup.java:214) - init redisDevice ig time::181ms
[INFO ] 2018-01-03 08:32:13,179 cn.wizzer.app.web.commons.core.Setup.initRedisStation(Setup.java:272) - init redisStation ig time::201ms
[INFO ] 2018-01-03 08:32:13,179 cn.wizzer.app.web.commons.core.Setup.init(Setup.java:119) -
_ _ _ _ _____ __
| | | | | |_ | /
| .` | |_| | | | / /
|_|_|___/ |_| /___|
[INFO ] 2018-01-03 08:32:13,179 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:141) - Nutz.Mvc[nutz] is up in 3782ms
[INFO ] 2018-01-03 08:32:13,180 org.nutz.mvc.NutFilter._init(NutFilter.java:117) - exclusionsPrefix = ^(/assets/|/druid/|/upload/|/apidoc/)
一月 03, 2018 8:32:13 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\java-develop\apache-tomcat-8.0.44\webapps\wk-web has finished in 8,043 ms
一月 03, 2018 8:32:13 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-nio-8080"]
一月 03, 2018 8:32:13 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-nio-8009"]
一月 03, 2018 8:32:13 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 23258 ms
[INFO ] 2018-01-03 08:34:00,121 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:34:00 01/03/2018
[INFO ] 2018-01-03 08:34:00,189 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::66ms
[INFO ] 2018-01-03 08:34:00,197 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:34:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:36:00,041 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:36:00 01/03/2018
[INFO ] 2018-01-03 08:36:00,077 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::36ms
[INFO ] 2018-01-03 08:36:00,083 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:36:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:38:00,013 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:38:00 01/03/2018
[INFO ] 2018-01-03 08:38:00,021 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::7ms
[INFO ] 2018-01-03 08:38:00,026 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:38:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:40:00,020 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:40:00 01/03/2018
[INFO ] 2018-01-03 08:40:00,039 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::18ms
[INFO ] 2018-01-03 08:40:00,043 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:40:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:42:00,028 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:42:00 01/03/2018
[INFO ] 2018-01-03 08:42:00,043 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::14ms
[INFO ] 2018-01-03 08:42:00,048 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:42:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:44:00,026 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:44:00 01/03/2018
[INFO ] 2018-01-03 08:44:00,045 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::19ms
[INFO ] 2018-01-03 08:44:00,050 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:44:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:46:00,027 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:46:00 01/03/2018
[INFO ] 2018-01-03 08:46:00,040 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::13ms
[INFO ] 2018-01-03 08:46:00,044 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:46:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:48:00,016 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:48:00 01/03/2018
[INFO ] 2018-01-03 08:48:00,039 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::22ms
[INFO ] 2018-01-03 08:48:00,044 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:48:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:50:00,015 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:50:00 01/03/2018
[INFO ] 2018-01-03 08:50:00,022 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::7ms
[INFO ] 2018-01-03 08:50:00,027 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:50:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:52:00,016 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:52:00 01/03/2018
[INFO ] 2018-01-03 08:52:00,035 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::18ms
[INFO ] 2018-01-03 08:52:00,039 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:52:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:54:00,013 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:54:00 01/03/2018
[INFO ] 2018-01-03 08:54:00,022 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::9ms
[INFO ] 2018-01-03 08:54:00,196 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:54:00 01/03/2018 and reports: null
[INFO ] 2018-01-03 08:56:00,016 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobToBeExecuted(LoggingJobHistoryPlugin.java:469) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb fired (by trigger 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb) at: 08:56:00 01/03/2018
[INFO ] 2018-01-03 08:56:00,031 cn.wizzer.app.web.commons.quartz.job.WarnIntervaljob.execute(WarnIntervaljob.java:317) - init redis 报警时间间隔 time::13ms
[INFO ] 2018-01-03 08:56:00,037 org.quartz.plugins.history.LoggingJobHistoryPlugin.jobWasExecuted(LoggingJobHistoryPlugin.java:513) - Job 6023da1a4ad84a09bda727f312eb64eb.6023da1a4ad84a09bda727f312eb64eb execution complete at 08:56:00 01/03/2018 and reports: null
这是本地后台打印的信息,不管我用哪个类都没问题,放到服务器用org.quartz.impl.jdbcjobstore.JobStoreTX不执行,用org.quartz.simpl.RAMJobStore 这个执行了两次。服务器会影响这个吗?

对比下服务器环境和本地环境有什么不同。

添加回复
请先登陆
回到顶部