Commit 2008f880 authored by wangjinjing's avatar wangjinjing

websocket 推送两次,满足其他平台获得消息的要求

parent b53579ab
This diff is collapsed.
......@@ -209,7 +209,9 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
......
......@@ -17,7 +17,6 @@ import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
@SpringBootApplication
@ServletComponentScan
@MapperScan("com.hzjt.mapper")
//@PropertySource("file:${spring.profiles.path}")
public class HZJTApplication {
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapterSingle, MessageListenerAdapter listenerAdapterList) {
......
package com.hzjt.config;
import com.hzjt.domain.*;
import com.hzjt.handler.WebSocket;
import com.hzjt.service.TraffFlowService;
import com.hzjt.service.TraffalarmrecordService;
......@@ -8,12 +9,20 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.net.URI;
import java.util.Calendar;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
@Slf4j
......@@ -25,23 +34,42 @@ public class ScheduleTaskConfig {
@Autowired
TraffalarmrecordService traffalarmrecordService;
@Autowired
private RestTemplate restTemplate;
@Scheduled(cron = "0 0 2 * * ? ")//每天凌晨2点执行
@Scheduled(cron = "0 */1 * * * ?")//每天凌晨2点执行
private void statis() {
// log.info("每天凌晨2点执行前一天数据整合");
// String date = DateUtils.getYesterday(-1);
//抽取前一天的车流量和事件统计数据入表
Integer result = traffFlowService.statisVehiclesByDay();
//抽取前一天的事件统计到新表中
Integer resultrecord = traffalarmrecordService.statisTraffalarmrecordstatByDay();
// //取帧
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
// RTSPFrame result = restTemplate.getForObject(rtspformUrl, RTSPFrame.class);
// if(result.getRet()==0)
// {
// //获取成功
//
// result.getUrl();
//
//
//
// }
//查询监控是否存在
//查询rtsp 多线程进行图片抽取,并记录表中,ftp 上传到服务器,路径返回表中
//删除当天的数据
traffFlowService.deleteVehiclesByDay();
}
@Scheduled(cron = "0 0 23 28-31 * ?")//每一个月执行一次
@Scheduled(cron = "0 */1 * * * ?")//每一个月执行一次
private void reconnectWebsocket() {
final Calendar c = Calendar.getInstance();
......
package com.hzjt.controller;
import com.alibaba.fastjson.JSONObject;
import com.hzjt.domain.GoalStructureParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
......@@ -43,4 +44,7 @@ public class RouterController {
public String index(@PathVariable("id") String id) {
return "index";
}
}
package com.hzjt.domain;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@Data
public class DiskSpace {
private String diskName;
private String freeSpace;
private String totalSpace;
}
package com.hzjt.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.List;
public class GoalStructureParam {
private Output Output;
private int Model;
@JsonIgnore
private String apiout;
private List<ImageList> ImageList;
public void setOutput(Output Output) {
this.Output = Output;
}
@JSONField(name = "Output")
public Output getOutput() {
return this.Output;
}
public void setModel(int Model) {
this.Model = Model;
}
@JSONField(name = "Model")
public int getModel() {
return this.Model;
}
public void setApiout(String apiout) {
this.apiout = apiout;
}
public String getApiout() {
return this.apiout;
}
public void setImageList(List<ImageList> ImageList) {
this.ImageList = ImageList;
}
@JSONField(name = "ImageList")
public List<ImageList> getImageList() {
return this.ImageList;
}
}
package com.hzjt.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class ImageList {
private String ImageID;
@JsonIgnore
private int Format;
private String Data;
public ImageList(String imageID, String data) {
ImageID = imageID;
Data = data;
}
public void setImageID(String ImageID){
this.ImageID = ImageID;
}
@JSONField(name = "ImageID")
public String getImageID(){
return this.ImageID;
}
public void setFormat(int Format){
this.Format = Format;
}
@JSONField(name = "Format")
public int getFormat(){
return this.Format;
}
public void setData(String Data){
this.Data = Data;
}
@JSONField(name = "Data")
public String getData(){
return this.Data;
}
}
package com.hzjt.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class Output {
private int SubClass;
//最大行人细类输出个数为1
@JsonIgnore
private int MaxHumanSubClassNum;
//最大车辆细类输出个数为输出全部
@JsonIgnore
private int MaxVehicleSubClassNum;
//最大骑行细类输出个数为3
@JsonIgnore
private int MaxBikeSubClassNum;
public Output(int subClass, int maxHumanSubClassNum, int maxVehicleSubClassNum, int maxBikeSubClassNum) {
SubClass = subClass;
MaxHumanSubClassNum = maxHumanSubClassNum;
MaxVehicleSubClassNum = maxVehicleSubClassNum;
MaxBikeSubClassNum = maxBikeSubClassNum;
}
public void setSubClass(int SubClass) {
this.SubClass = SubClass;
}
@JSONField(name = "SubClass")
public int getSubClass() {
return this.SubClass;
}
public void setMaxHumanSubClassNum(int MaxHumanSubClassNum) {
this.MaxHumanSubClassNum = MaxHumanSubClassNum;
}
@JSONField(name = "MaxHumanSubClassNum")
public int getMaxHumanSubClassNum() {
return this.MaxHumanSubClassNum;
}
public void setMaxVehicleSubClassNum(int MaxVehicleSubClassNum) {
this.MaxVehicleSubClassNum = MaxVehicleSubClassNum;
}
@JSONField(name = "MaxVehicleSubClassNum")
public int getMaxVehicleSubClassNum() {
return this.MaxVehicleSubClassNum;
}
public void setMaxBikeSubClassNum(int MaxBikeSubClassNum) {
this.MaxBikeSubClassNum = MaxBikeSubClassNum;
}
@JSONField(name = "MaxBikeSubClassNum")
public int getMaxBikeSubClassNum() {
return this.MaxBikeSubClassNum;
}
}
package com.hzjt.domain;
import lombok.Data;
@Data
public class RTSPFrame {
private Integer ret;
private String desc;
private String url;
}
......@@ -48,10 +48,8 @@ public class FileTransferManager {
connection.setReadTimeout(2000);
connection.setConnectTimeout(3000);
connection.setRequestMethod("GET");
/// System.out.println("connection.getResponseCode:" + connection.getResponseCode() );
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream inputStream = connection.getInputStream();
// log.info("url:"+url+" ---key:"+key);
String pname = DateUtils.formatCurrDayNoSign() + "_"+recordid+"_0000_"+key.replace("path","");
String fileName = pname +filesuff;
String ftputl = FTPUtil.getFtpUrl(ftp) + basePath + "/" + fileName;
......@@ -81,7 +79,6 @@ public class FileTransferManager {
}
public static void fetchUrlsFromRecord(Traffalarmrecord record , Map<String,Object> transferRecord){
if(record ==null || record.getRecordid()==null){
return;
......
......@@ -15,20 +15,6 @@ mybatis.configuration.default-statement-timeout=3000
#mybatis.mapperLocations = classpath:xxx.xml
#logging.level.com.hzjt=debug
## �������ݿ�-����Դ����
#spring.datasource.url=jdbc:dm://127.0.0.1:12345/auditlocal_cq
#spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver
#spring.datasource.username=SYSDBA
#spring.datasource.password=SYSDBA
##���ӳ�����
#spring.datasource.type=org.apache.commons.dbcp.BasicDataSource
#spring.datasource.dbcp2.max-wait-millis=10000
#spring.datasource.dbcp2.min-idle=5
#spring.datasource.dbcp2.initial-size=5
#spring.datasoe.dbcp2.validation-query=SELECT x
#spring.datasource.dbcp2.connection-properties=characterEncoding=utf8
# Mysql���ݿ�-����Դ����
#spring.datasource.username=hzjt
#spring.datasource.password=hzjt
#spring.datasource.url=jdbc:oracle:thin:@192.168.168.212:1523:helowin
......@@ -44,43 +30,29 @@ spring.datasource.minIdle=5
spring.datasource.maxActive=20
# ���û�ȡ���ӵȴ���ʱ��ʱ��
spring.datasource.maxWait=60000
# ���ü����òŽ���һ�μ�⣬�����Ҫ�رյĿ������ӣ���λ�Ǻ���
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# ��PSCache������ָ��ÿ��������PSCache�Ĵ�С
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# ���ü��ͳ�����ص�filters��ȥ�����ؽ���sql�޷�ͳ�ƣ�'wall'���ڷ���ǽ
spring.datasource.filters=stat,wall
# ͨ��connectProperties��������mergeSql���ܣ���SQL��¼
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# �ϲ����DruidDataSource�ļ������
spring.datasource.useGlobalDataSourceStat=true
#redis
# Redis��������ַ
# Redis
spring.redis.host=33.65.250.179
#spring.redis.host=127.0.0.1
# Redis���������Ӷ˿�
spring.redis.port=6379
# Redis�������������루Ĭ��Ϊ�գ�
#spring.redis.password=123456
# Redis���ݿ�������Ĭ��Ϊ0��
spring.redis.database=0
# ���ӳ������������ʹ�ø�ֵ��ʾû�����ƣ�
spring.redis.pool.max-active=8
# ���ӳ���������ȴ�ʱ�䣨ʹ�ø�ֵ��ʾû�����ƣ�
spring.redis.pool.max-wait=5000
# ���ӳ��е�����������
spring.redis.pool.max-idle=8
# ���ӳ��е���С��������
spring.redis.pool.min-idle=0
# ���ӳ�ʱʱ�䣨���룩
spring.redis.timeout=2000
#spring-session ʹ��
spring.session.store-type=none
ip.host=33.65.250.179
port=21
......
......@@ -2,6 +2,8 @@ package com.hzjt;
import com.hzjt.domain.Traffalarmrecord;
import org.junit.Test;
import org.springframework.boot.SpringBootVersion;
import org.springframework.core.SpringVersion;
public class ExcelToDbApplicationTests {
......@@ -20,8 +22,11 @@ public class ExcelToDbApplicationTests {
}
@Test
public void Test1(){
String version = SpringVersion.getVersion();
String version1 = SpringBootVersion.getVersion();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment