设备离线信息保存,日志打印
This commit is contained in:
parent
84cc865b17
commit
b32745c772
|
|
@ -9,7 +9,7 @@
|
||||||
<property name="offlineMacAddress" column="offline_mac_address" type="string" length="50"/>
|
<property name="offlineMacAddress" column="offline_mac_address" type="string" length="50"/>
|
||||||
<property name="offlineFactoryCode" column="offline_factory_code" type="string" length="10"/>
|
<property name="offlineFactoryCode" column="offline_factory_code" type="string" length="10"/>
|
||||||
<property name="offlineDeviceType" column="offline_device_type" type="string" length="10"/>
|
<property name="offlineDeviceType" column="offline_device_type" type="string" length="10"/>
|
||||||
<property name="offlineTime" column="offline_time" type="date" />
|
<property name="offlineTime" column="offline_time" type="timestamp" />
|
||||||
<property name="offlineSdkVersion" column="offline_sdk_version" type="string" length="20"/>
|
<property name="offlineSdkVersion" column="offline_sdk_version" type="string" length="20"/>
|
||||||
</class>
|
</class>
|
||||||
</hibernate-mapping>
|
</hibernate-mapping>
|
||||||
|
|
@ -1,21 +1,6 @@
|
||||||
package com.ifish.quartz;
|
package com.ifish.quartz;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import com.ifish.entity.*;
|
import com.ifish.entity.*;
|
||||||
import com.ifish.util.IfishUtil;
|
|
||||||
import org.apache.mina.core.session.IoSession;
|
|
||||||
import org.quartz.Job;
|
|
||||||
import org.quartz.JobDataMap;
|
|
||||||
import org.quartz.JobExecutionContext;
|
|
||||||
import org.quartz.JobExecutionException;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
|
|
||||||
import com.ifish.enums.BooleanEnum;
|
import com.ifish.enums.BooleanEnum;
|
||||||
import com.ifish.enums.NeteaseEnum;
|
import com.ifish.enums.NeteaseEnum;
|
||||||
import com.ifish.enums.PushTypeEnum;
|
import com.ifish.enums.PushTypeEnum;
|
||||||
|
|
@ -23,10 +8,23 @@ import com.ifish.netease.NeteaseIM;
|
||||||
import com.ifish.service.DeviceService;
|
import com.ifish.service.DeviceService;
|
||||||
import com.ifish.service.UserService;
|
import com.ifish.service.UserService;
|
||||||
import com.ifish.socketNew.SomeServer;
|
import com.ifish.socketNew.SomeServer;
|
||||||
|
import com.ifish.util.IfishUtil;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.mina.core.session.IoSession;
|
||||||
|
import org.quartz.Job;
|
||||||
|
import org.quartz.JobDataMap;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.quartz.JobExecutionException;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class ExecuteJob implements Job {
|
public class ExecuteJob implements Job {
|
||||||
|
|
||||||
private static Logger log = LoggerFactory.getLogger(ExecuteJob.class);
|
private static Logger log = Logger.getLogger(ExecuteJob.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private NeteaseIM neteaseIM;
|
private NeteaseIM neteaseIM;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
@ -56,7 +54,7 @@ public class ExecuteJob implements Job {
|
||||||
deviceOffline.setOfflineSdkVersion(String.valueOf(device.getSdkVersion()));
|
deviceOffline.setOfflineSdkVersion(String.valueOf(device.getSdkVersion()));
|
||||||
deviceOffline.setOfflineTime(IfishUtil.StrToDate1(timestamp));
|
deviceOffline.setOfflineTime(IfishUtil.StrToDate1(timestamp));
|
||||||
deviceService.saveDeviceOffline(deviceOffline);
|
deviceService.saveDeviceOffline(deviceOffline);
|
||||||
|
log.info("离线设备信息保存++++++++++++++++++++++++++++++++++++++++++");
|
||||||
//记录次数
|
//记录次数
|
||||||
Integer number1 = device.getNumber1();
|
Integer number1 = device.getNumber1();
|
||||||
Integer number2 = device.getNumber2();
|
Integer number2 = device.getNumber2();
|
||||||
|
|
@ -113,8 +111,7 @@ public class ExecuteJob implements Job {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
log.error(e.getMessage(),e);
|
||||||
log.error("error msg:{}",e.toString());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,18 +1,16 @@
|
||||||
package com.ifish.socketNew;
|
package com.ifish.socketNew;
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
|
|
||||||
import org.apache.mina.core.service.IoHandlerAdapter;
|
|
||||||
import org.apache.mina.core.session.IdleStatus;
|
|
||||||
import org.apache.mina.core.session.IoSession;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
|
|
||||||
import com.ifish.quartz.JobGroup;
|
import com.ifish.quartz.JobGroup;
|
||||||
import com.ifish.quartz.ScheduleJob;
|
import com.ifish.quartz.ScheduleJob;
|
||||||
import com.ifish.util.IfishUtil;
|
import com.ifish.util.IfishUtil;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.mina.core.service.IoHandlerAdapter;
|
||||||
|
import org.apache.mina.core.session.IdleStatus;
|
||||||
|
import org.apache.mina.core.session.IoSession;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mina服务器端事件处理
|
* mina服务器端事件处理
|
||||||
|
|
@ -23,7 +21,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
|
||||||
|
|
||||||
private final AtomicInteger atomicInt = new AtomicInteger();
|
private final AtomicInteger atomicInt = new AtomicInteger();
|
||||||
|
|
||||||
private static Logger log = LoggerFactory.getLogger(MinaServerHandler.class);
|
private static Logger log = Logger.getLogger(MinaServerHandler.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SomeServer someServer;
|
private SomeServer someServer;
|
||||||
|
|
@ -33,7 +31,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
|
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
|
||||||
cause.printStackTrace();
|
cause.printStackTrace();
|
||||||
log.error("{}服务器-客户端session异常:{}", session.getRemoteAddress(), cause.toString());
|
log.error(String.format("{%s}服务器-客户端session异常:", session.getRemoteAddress()), cause);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -49,7 +47,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void sessionCreated(IoSession session) throws Exception {
|
public void sessionCreated(IoSession session) throws Exception {
|
||||||
log.info("{}:会话创建,在线数:{}", session.getRemoteAddress(), atomicInt.incrementAndGet());
|
log.info(String.format("{%s}:会话创建,在线数:{%s}", session.getRemoteAddress(), atomicInt.incrementAndGet()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -57,7 +55,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void sessionClosed(IoSession session) throws Exception {
|
public void sessionClosed(IoSession session) throws Exception {
|
||||||
log.info("{}:会话关闭,连接数:{}", session.getRemoteAddress(), atomicInt.decrementAndGet());
|
log.info(String.format("{%s}:会话关闭在线数:{%s}", session.getRemoteAddress(), atomicInt.incrementAndGet()));
|
||||||
//旧连接关闭,获取设备mac地址
|
//旧连接关闭,获取设备mac地址
|
||||||
String oldConnect = session.getRemoteAddress().toString();
|
String oldConnect = session.getRemoteAddress().toString();
|
||||||
String macAddress = SomeServer.remoteAddress.get(oldConnect);
|
String macAddress = SomeServer.remoteAddress.get(oldConnect);
|
||||||
|
|
@ -93,6 +91,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
|
||||||
jobGroup.setTimestamp(IfishUtil.format(new Date()));
|
jobGroup.setTimestamp(IfishUtil.format(new Date()));
|
||||||
//10分钟后推送 update 30分钟
|
//10分钟后推送 update 30分钟
|
||||||
jobGroup.setStartTime(new Date(System.currentTimeMillis() + 600000L * 3));
|
jobGroup.setStartTime(new Date(System.currentTimeMillis() + 600000L * 3));
|
||||||
|
// jobGroup.setStartTime(new Date(System.currentTimeMillis() + 6000));
|
||||||
scheduleJob.addJob(jobGroup);
|
scheduleJob.addJob(jobGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -110,7 +109,7 @@ public class MinaServerHandler extends IoHandlerAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void sessionIdle(IoSession session, IdleStatus status)
|
public void sessionIdle(IoSession session, IdleStatus status)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
log.info("空闲超时,服务器主动关闭连接{}", session.getRemoteAddress());
|
log.info(String.format("空闲超时,服务器主动关闭连接{%s}", session.getRemoteAddress()));
|
||||||
session.close(true);
|
session.close(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ log4j.rootLogger=INFO,CONSOLE,FILE,ROLLING_FILE
|
||||||
# Console Appender
|
# Console Appender
|
||||||
###################
|
###################
|
||||||
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
|
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
|
||||||
log4j.appender.Threshold=INFO
|
log4j.appender.Threshold=DEBUG
|
||||||
log4j.appender.CONSOLE.Target=System.out
|
log4j.appender.CONSOLE.Target=System.out
|
||||||
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
|
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
|
||||||
log4j.appender.CONSOLE.layout.ConversionPattern=[ifish7Socket][%-5p]%d - (%F:%L) - %m%n
|
log4j.appender.CONSOLE.layout.ConversionPattern=[ifish7Socket][%-5p]%d - (%F:%L) - %m%n
|
||||||
|
|
@ -11,7 +11,7 @@ log4j.appender.CONSOLE.layout.ConversionPattern=[ifish7Socket][%-5p]%d - (%F:%L)
|
||||||
# [INFO]Daily Rolling File
|
# [INFO]Daily Rolling File
|
||||||
########################
|
########################
|
||||||
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
|
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
|
||||||
log4j.appender.FILE.Threshold=INFO
|
log4j.appender.FILE.Threshold=DEBUG
|
||||||
log4j.appender.FILE.File=/logs/ifishSocket/ifish7Socket_ALL.log
|
log4j.appender.FILE.File=/logs/ifishSocket/ifish7Socket_ALL.log
|
||||||
log4j.appender.FILE.Append=true
|
log4j.appender.FILE.Append=true
|
||||||
log4j.appender.FILE.ImmediateFlush = true
|
log4j.appender.FILE.ImmediateFlush = true
|
||||||
|
|
@ -31,7 +31,8 @@ log4j.appender.ROLLING_FILE.DatePattern='.'yyyy-MM-dd
|
||||||
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
|
log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout
|
||||||
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[Ifish7][%-5p]%d - %c.%t(%F:%L) - %m%n
|
log4j.appender.ROLLING_FILE.layout.ConversionPattern=[Ifish7][%-5p]%d - %c.%t(%F:%L) - %m%n
|
||||||
|
|
||||||
|
log4j.logger.com.ifish=DEBUG
|
||||||
log4j.logger.org.springframework=INFO
|
log4j.logger.org.springframework=INFO
|
||||||
log4j.logger.com.hibernate=INFO
|
log4j.logger.com.hibernate=INFO
|
||||||
log4j.logger.java.sql=INFO
|
log4j.logger.java.sql=DEBUG
|
||||||
|
|
||||||
|
|
@ -46,18 +46,21 @@
|
||||||
<level>WARN</level>
|
<level>WARN</level>
|
||||||
</filter>
|
</filter>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
<!-- 记录设备连接数量-->
|
<logger name="com.hibernate" level="DEBUG" additivity="false">
|
||||||
<logger name="com.ifish.socketNew.MinaServerHandler" level="INFO" additivity="false">
|
<appender-ref ref="Console" />
|
||||||
<appender-ref ref="file" />
|
</logger>
|
||||||
<!-- <appender-ref ref="Console" /> -->
|
<logger name="org.springframework" level="DEBUG" additivity="false">
|
||||||
|
<appender-ref ref="Console" />
|
||||||
|
</logger>
|
||||||
|
<logger name="java.sql" level="DEBUG" additivity="false">
|
||||||
|
<appender-ref ref="Console" />
|
||||||
</logger>
|
</logger>
|
||||||
|
|
||||||
<!-- 将级别为“info”及大于“info”的日志信息传递给root处理,本身并不打印 -->
|
<!-- 将级别为“info”及大于“info”的日志信息传递给root处理,本身并不打印 -->
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<!-- root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console; -->
|
<!-- root将级别为“INFO”及大于“INFO”的日志信息交给已经配置好的名为“Console”的appender处理,“Console”appender将信息打印到Console; -->
|
||||||
<appender-ref ref="file2" />
|
<appender-ref ref="file2" />
|
||||||
<!-- <appender-ref ref="Console" /> -->
|
<appender-ref ref="Console" />
|
||||||
<!-- 标识这个appender将会添加到这个logger -->
|
<!-- 标识这个appender将会添加到这个logger -->
|
||||||
<!-- <appender-ref ref="File" /> -->
|
<!-- <appender-ref ref="File" /> -->
|
||||||
</root>
|
</root>
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#\u672c\u5730
|
#\u672c\u5730
|
||||||
#ifish.ip=192.168.1.13
|
#ifish.ip=192.168.1.7
|
||||||
#\u6d4b\u8bd5\u4e91
|
#\u6d4b\u8bd5\u4e91
|
||||||
#ifish.ip=139.196.24.156
|
#ifish.ip=139.196.24.156
|
||||||
#\u6b63\u5f0f\u4e91
|
#\u6b63\u5f0f\u4e91
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<welcome-file-list>
|
<welcome-file-list>
|
||||||
<welcome-file>index.jsp</welcome-file>
|
<welcome-file>index.jsp</welcome-file>
|
||||||
</welcome-file-list>
|
</welcome-file-list>
|
||||||
|
|
||||||
<context-param>
|
<context-param>
|
||||||
<param-name>contextConfigLocation</param-name>
|
<param-name>contextConfigLocation</param-name>
|
||||||
<param-value>
|
<param-value>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue