Commit 770ac5ae7b14bca3513ae4b4e8963c88f4887bc8

Authored by 潘钊
1 parent d2274741

init2...

src/main/java/com/bsth/Application.java
... ... @@ -2,24 +2,14 @@ package com.bsth;
2 2  
3 3 import org.springframework.boot.SpringApplication;
4 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
5   -import org.springframework.boot.builder.SpringApplicationBuilder;
6 5 import org.springframework.boot.web.support.SpringBootServletInitializer;
7 6  
8   -import java.util.concurrent.Executors;
9   -import java.util.concurrent.ScheduledExecutorService;
10 7  
11 8 @SpringBootApplication
12 9 public class Application extends SpringBootServletInitializer {
13 10  
14   - public static ScheduledExecutorService mainServices = Executors.newScheduledThreadPool(7);
15   -
16   - @Override
17   - protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
18   - return application.sources(Application.class);
19   - }
20 11  
21 12 public static void main(String[] args) throws Exception {
22 13 SpringApplication.run(Application.class, args);
23 14 }
24   -
25 15 }
26 16 \ No newline at end of file
... ...
src/main/java/com/bsth/WebAppConfiguration.java
... ... @@ -4,7 +4,6 @@ import org.springframework.context.annotation.Bean;
4 4 import org.springframework.context.annotation.ComponentScan;
5 5 import org.springframework.context.annotation.Configuration;
6 6 import org.springframework.web.filter.CharacterEncodingFilter;
7   -import org.springframework.web.filter.HttpPutFormContentFilter;
8 7 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
9 8  
10 9 import javax.servlet.Filter;
... ... @@ -12,16 +11,7 @@ import javax.servlet.Filter;
12 11 @Configuration
13 12 @ComponentScan
14 13 public class WebAppConfiguration extends WebMvcConfigurerAdapter {
15   -
16   - /**
17   - * @Title: httpPutFormContentFilter
18   - * @Description: TODO(弥补浏览器不支持PUT/DELETE,对携带 _method 参数的请求进行转换)
19   - */
20   - @Bean
21   - public Filter httpPutFormContentFilter() {
22   - return new HttpPutFormContentFilter();
23   - }
24   -
  14 +
25 15 /**
26 16 * @Title: characterEncodingFilter
27 17 * @Description: TODO(编码过滤器)
... ...
src/main/java/com/bsth/client/ClientApp.java
1 1 package com.bsth.client;
2 2  
3   -import com.bsth.data.gpsdata.client.pd.codec.PdMessageCodecFactory;
4   -import com.bsth.data.gpsdata.client.pd.handler.PdClientHandler;
5   -import com.bsth.data.gpsdata.client.pd.protocol.Pd_31_0;
6   -import com.bsth.data.gpsdata.client.pf.codec.PfMessageCodecFactory;
7   -import com.bsth.data.gpsdata.client.pf.handler.PfClientHandler;
  3 +import com.bsth.client.pd.codec.PdMessageCodecFactory;
  4 +import com.bsth.client.pd.handler.PdClientHandler;
  5 +import com.bsth.client.pd.protocol.Pd_31_0;
  6 +import com.bsth.client.pf.codec.PfMessageCodecFactory;
  7 +import com.bsth.client.pf.handler.PfClientHandler;
8 8 import com.bsth.util.ConfigUtil;
9 9 import org.apache.mina.core.future.ConnectFuture;
10 10 import org.apache.mina.core.future.WriteFuture;
... ... @@ -51,7 +51,7 @@ public class ClientApp {
51 51 con.awaitUninterruptibly();
52 52 IoSession session = con.getSession();
53 53 session.setAttribute("deviceId", device);
54   - com.bsth.data.gpsdata.client.pd.protocol.PdMessage msg = new com.bsth.data.gpsdata.client.pd.protocol.PdMessage();
  54 + com.bsth.client.pd.protocol.PdMessage msg = new com.bsth.client.pd.protocol.PdMessage();
55 55 Pd_31_0 body = new Pd_31_0();
56 56 body.setFunCode((short)0x15);
57 57 body.setLineId(0);
... ...
src/main/java/com/bsth/client/GpsBeforeBuffer.java
1 1 package com.bsth.client;
2 2  
3   -import com.bsth.Application;
4   -import com.bsth.data.BasicData;
5   -import com.bsth.data.gpsdata.GpsEntity;
6   -import com.bsth.data.gpsdata.arrival.GpsRealAnalyse;
7   -import com.bsth.data.gpsdata.client.pd.protocol.BasicInfo;
  3 +import com.bsth.client.pd.protocol.BasicInfo;
  4 +import com.bsth.entity.GpsEntity;
8 5 import org.apache.commons.lang3.StringUtils;
9   -import org.slf4j.Logger;
10   -import org.slf4j.LoggerFactory;
11   -import org.springframework.beans.factory.annotation.Autowired;
12 6 import org.springframework.stereotype.Component;
13 7  
14   -import java.util.ArrayList;
15 8 import java.util.LinkedList;
16   -import java.util.List;
17   -import java.util.concurrent.TimeUnit;
18 9  
19 10 /**
20 11 * 从 socket client 到 .. 的缓冲
... ... @@ -25,9 +16,6 @@ public class GpsBeforeBuffer {
25 16  
26 17 static LinkedList<GpsEntity> linkedList = new LinkedList<>();
27 18  
28   - @Autowired
29   - GpsHandleThread gpsHandleThread;
30   -
31 19 public void put(BasicInfo basicInfo){
32 20 //放弃补发数据
33 21 byte cacheData = getCacheState(basicInfo.getServiceState());
... ... @@ -51,12 +39,6 @@ public class GpsBeforeBuffer {
51 39 if (StringUtils.isBlank(gps.getDeviceId()))
52 40 return;
53 41  
54   - String nbbm = BasicData.deviceId2NbbmMap.get(gps.getDeviceId());
55   - if (StringUtils.isBlank(nbbm))
56   - gps.setIncomplete(true);
57   - else
58   - gps.setNbbm(nbbm);
59   -
60 42 linkedList.addLast(gps);
61 43 }
62 44  
... ... @@ -64,49 +46,6 @@ public class GpsBeforeBuffer {
64 46 return (byte)(((serviceState & 0x00100000) == 0x00100000) ? 1 : 0);
65 47 }
66 48  
67   - public void init(){
68   - Application.mainServices.scheduleWithFixedDelay(gpsHandleThread, 20 * 1000, 500, TimeUnit.MILLISECONDS);
69   - }
70   -
71   - static int idleCount = 0;
72   - @Component
73   - public static class GpsHandleThread extends Thread{
74   -
75   - List<GpsEntity> list;
76   -
77   - @Autowired
78   - GpsRealAnalyse gpsRealAnalyse;
79   -
80   - @Autowired
81   - ClientApp clientApp;
82   -
83   - Logger log = LoggerFactory.getLogger(this.getClass());
84   -
85   - @Override
86   - public void run() {
87   - list = new ArrayList<>(200);
88   -
89   - GpsEntity gps;
90   - for(int i = 0; i < 4000; i ++){
91   - gps = linkedList.poll();
92   - if(gps == null)
93   - break;
94   - list.add(gps);
95   - }
96   -
97   - if(list.size() == 0){
98   - idleCount ++;
99   - //连续40次没有数据,重建socket连接
100   - if(idleCount == 40){
101   - log.info("idleCount == 40");
102   - idleCount = 0;
103   - clientApp.destroy();
104   - clientApp.init();
105   - }
106   - }
107   - gpsRealAnalyse.analyse(list);
108   - }
109   - }
110 49  
111 50 /**
112 51 * 获取运营状态
... ...
src/main/java/com/bsth/client/common/Protocol2BizUtil.java
... ... @@ -4,9 +4,9 @@ package com.bsth.client.common;
4 4 //import com.bsth.data.gpsdata.socket_client_001.pf.protocol.PfMessage;
5 5 //import com.bsth.data.gpsdata.socket_client_001.pf.protocol.Pf_1_0;
6 6  
7   -import com.bsth.data.gpsdata.client.pd.protocol.BasicInfo;
8   -import com.bsth.data.gpsdata.client.pf.protocol.PfMessage;
9   -import com.bsth.data.gpsdata.client.pf.protocol.Pf_1_0;
  7 +import com.bsth.client.pd.protocol.BasicInfo;
  8 +import com.bsth.client.pf.protocol.PfMessage;
  9 +import com.bsth.client.pf.protocol.Pf_1_0;
10 10 import org.slf4j.Logger;
11 11 import org.slf4j.LoggerFactory;
12 12  
... ...
src/main/java/com/bsth/client/pd/codec/MessageDecoder.java
1 1 package com.bsth.client.pd.codec;
2 2  
3   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
4   -import com.bsth.data.gpsdata.client.pd.protocol.PdMessage;
  3 +import com.bsth.client.pd.common.ConvertUtil;
  4 +import com.bsth.client.pd.protocol.PdMessage;
5 5 import org.apache.mina.core.buffer.IoBuffer;
6 6 import org.apache.mina.core.session.IoSession;
7 7 import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
... ...
src/main/java/com/bsth/client/pd/common/ConvertUtil.java
1 1 package com.bsth.client.pd.common;
2 2  
3   -import com.bsth.data.gpsdata.client.common.ThreadLocalDateUtil;
  3 +import com.bsth.client.common.ThreadLocalDateUtil;
4 4 import org.slf4j.Logger;
5 5 import org.slf4j.LoggerFactory;
6 6  
... ...
src/main/java/com/bsth/client/pd/handler/PdClientHandler.java
1 1 package com.bsth.client.pd.handler;
2 2  
3   -import com.bsth.data.gpsdata.client.GpsBeforeBuffer;
4   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
5   -import com.bsth.data.gpsdata.client.pd.protocol.PdMessage;
6   -import com.bsth.data.gpsdata.client.pd.protocol.Pd_41_0;
7   -import com.bsth.data.gpsdata.client.pd.protocol.Pd_42_0;
  3 +import com.bsth.client.GpsBeforeBuffer;
  4 +import com.bsth.client.msg.IMessageBody;
  5 +import com.bsth.client.pd.protocol.PdMessage;
  6 +import com.bsth.client.pd.protocol.Pd_41_0;
  7 +import com.bsth.client.pd.protocol.Pd_42_0;
8 8 import org.apache.mina.core.service.IoHandlerAdapter;
9 9 import org.apache.mina.core.session.IdleStatus;
10 10 import org.apache.mina.core.session.IoSession;
... ...
src/main/java/com/bsth/client/pd/protocol/BasicInfo.java
1 1 package com.bsth.client.pd.protocol;
2 2  
3 3  
4   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
  4 +import com.bsth.client.pd.common.ConvertUtil;
5 5  
6 6 import java.nio.ByteBuffer;
7 7 import java.util.Date;
... ...
src/main/java/com/bsth/client/pd/protocol/PdFactory.java
1 1 package com.bsth.client.pd.protocol;
2 2  
3   -
4   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
  3 +import com.bsth.client.msg.IMessageBody;
5 4  
6 5 public class PdFactory {
7 6  
... ...
src/main/java/com/bsth/client/pd/protocol/PdMessage.java
1 1 package com.bsth.client.pd.protocol;
2 2  
3   -
4   -import com.bsth.data.gpsdata.client.msg.IMessage;
5   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
  3 +import com.bsth.client.msg.IMessage;
  4 +import com.bsth.client.msg.IMessageBody;
6 5  
7 6 import java.nio.ByteBuffer;
8 7 import java.util.Arrays;
... ...
src/main/java/com/bsth/client/pd/protocol/Pd_31_0.java
1 1 package com.bsth.client.pd.protocol;
2 2  
3   -
4   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
5   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
  3 +import com.bsth.client.msg.IMessageBody;
  4 +import com.bsth.client.pd.common.ConvertUtil;
6 5  
7 6 import java.nio.ByteBuffer;
8 7 import java.util.Date;
... ...
src/main/java/com/bsth/client/pd/protocol/Pd_41_0.java
1 1 package com.bsth.client.pd.protocol;
2 2  
3 3  
4   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
5   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
  4 +import com.bsth.client.msg.IMessageBody;
  5 +import com.bsth.client.pd.common.ConvertUtil;
6 6  
7 7 import java.nio.ByteBuffer;
8 8  
... ...
src/main/java/com/bsth/client/pd/protocol/Pd_42_0.java
1 1 package com.bsth.client.pd.protocol;
2 2  
3   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
4   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
  3 +import com.bsth.client.msg.IMessageBody;
  4 +import com.bsth.client.pd.common.ConvertUtil;
5 5  
6 6 import java.nio.ByteBuffer;
7 7  
... ...
src/main/java/com/bsth/client/pf/codec/MessageDecoder.java
1 1 package com.bsth.client.pf.codec;
2 2  
3   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
4   -import com.bsth.data.gpsdata.client.pf.protocol.PfMessage;
  3 +import com.bsth.client.pd.common.ConvertUtil;
  4 +import com.bsth.client.pf.protocol.PfMessage;
5 5 import org.apache.mina.core.buffer.IoBuffer;
6 6 import org.apache.mina.core.session.IoSession;
7 7 import org.apache.mina.filter.codec.CumulativeProtocolDecoder;
... ...
src/main/java/com/bsth/client/pf/common/ConvertUtil.java
1 1 package com.bsth.client.pf.common;
2 2  
3   -import com.bsth.data.gpsdata.client.common.ThreadLocalDateUtil;
  3 +import com.bsth.client.common.ThreadLocalDateUtil;
4 4 import org.slf4j.Logger;
5 5 import org.slf4j.LoggerFactory;
6 6  
... ...
src/main/java/com/bsth/client/pf/handler/PfClientHandler.java
1 1 package com.bsth.client.pf.handler;
2 2  
3   -import com.bsth.data.gpsdata.client.GpsBeforeBuffer;
4   -import com.bsth.data.gpsdata.client.common.Protocol2BizUtil;
5   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
6   -import com.bsth.data.gpsdata.client.pd.protocol.BasicInfo;
7   -import com.bsth.data.gpsdata.client.pf.protocol.PfMessage;
  3 +import com.bsth.client.GpsBeforeBuffer;
  4 +import com.bsth.client.common.Protocol2BizUtil;
  5 +import com.bsth.client.msg.IMessageBody;
  6 +import com.bsth.client.pd.protocol.BasicInfo;
  7 +import com.bsth.client.pf.protocol.PfMessage;
8 8 import org.apache.mina.core.service.IoHandlerAdapter;
9 9 import org.apache.mina.core.session.IdleStatus;
10 10 import org.apache.mina.core.session.IoSession;
... ...
src/main/java/com/bsth/client/pf/protocol/PfFactory.java
1 1 package com.bsth.client.pf.protocol;
2 2  
3 3  
4   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
  4 +import com.bsth.client.msg.IMessageBody;
5 5  
6 6 public class PfFactory {
7 7  
... ...
src/main/java/com/bsth/client/pf/protocol/PfMessage.java
1 1 package com.bsth.client.pf.protocol;
2 2  
3   -import com.bsth.data.gpsdata.client.msg.IMessage;
4   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
  3 +import com.bsth.client.msg.IMessage;
  4 +import com.bsth.client.msg.IMessageBody;
5 5  
6 6 import java.util.Arrays;
7 7  
... ...
src/main/java/com/bsth/client/pf/protocol/Pf_1_0.java
1 1 package com.bsth.client.pf.protocol;
2 2  
3   -import com.bsth.data.gpsdata.client.msg.IMessageBody;
4   -import com.bsth.data.gpsdata.client.pd.common.ConvertUtil;
  3 +import com.bsth.client.msg.IMessageBody;
  4 +import com.bsth.client.pd.common.ConvertUtil;
5 5  
6 6 import java.nio.ByteBuffer;
7 7 import java.util.Date;
... ...
src/main/java/com/bsth/entity/GpsEntity.java 0 → 100644
  1 +package com.bsth.entity;
  2 +
  3 +/**
  4 + * @author PanZhao
  5 + * @ClassName: GpsRealData
  6 + * @Description: TODO(HTTP接口的实时GPS数据)
  7 + * @date 2016年5月11日 下午4:32:07
  8 + */
  9 +public class GpsEntity {
  10 +
  11 + /**
  12 + * 公司代码
  13 + */
  14 + private Short companyCode;
  15 +
  16 + /**
  17 + * 线路编码
  18 + */
  19 + private String lineId;
  20 +
  21 + /**
  22 + * 设备编码
  23 + */
  24 + private String deviceId;
  25 +
  26 + /**
  27 + * 停车场编码
  28 + */
  29 + private String carparkNo;
  30 +
  31 + /**
  32 + * 站点编码
  33 + */
  34 + private String stopNo;
  35 +
  36 + /**
  37 + * 站点名称
  38 + */
  39 + private String stationName;
  40 +
  41 + /**
  42 + * 到站时间
  43 + */
  44 + private long arrTime;
  45 +
  46 + /**
  47 + * 经度
  48 + */
  49 + private Float lon;
  50 +
  51 + /**
  52 + * 纬度
  53 + */
  54 + private Float lat;
  55 +
  56 + /**
  57 + * 发送时间戳
  58 + */
  59 + private Long timestamp;
  60 +
  61 + /**
  62 + * 速度
  63 + */
  64 + private Float speed;
  65 +
  66 + /**
  67 + * 方向(角度)
  68 + */
  69 + private float direction;
  70 +
  71 + /**
  72 + * 营运状态( 0 营运 ,1 非营运, -1 无效)
  73 + */
  74 + private Integer state;
  75 +
  76 + /**
  77 + * 上下行(0 上行 , 1 下行 , -1 无效)
  78 + */
  79 + private Byte upDown;
  80 +
  81 + private int version;
  82 +
  83 + /**
  84 + * gps是否有效 设备端发送的状态
  85 + */
  86 + private int valid;
  87 +
  88 + public String getDeviceId() {
  89 + return deviceId;
  90 + }
  91 +
  92 + public void setDeviceId(String deviceId) {
  93 + this.deviceId = deviceId;
  94 + }
  95 +
  96 + public String getCarparkNo() {
  97 + return carparkNo;
  98 + }
  99 +
  100 + public void setCarparkNo(String carparkNo) {
  101 + this.carparkNo = carparkNo;
  102 + }
  103 +
  104 + public String getStopNo() {
  105 + return stopNo;
  106 + }
  107 +
  108 + public void setStopNo(String stopNo) {
  109 + this.stopNo = stopNo;
  110 + }
  111 +
  112 + public Float getLon() {
  113 + return lon;
  114 + }
  115 +
  116 + public void setLon(Float lon) {
  117 + this.lon = lon;
  118 + }
  119 +
  120 + public Float getLat() {
  121 + return lat;
  122 + }
  123 +
  124 + public void setLat(Float lat) {
  125 + this.lat = lat;
  126 + }
  127 +
  128 + public Long getTimestamp() {
  129 + return timestamp;
  130 + }
  131 +
  132 + public void setTimestamp(Long timestamp) {
  133 + this.timestamp = timestamp;
  134 + }
  135 +
  136 +
  137 + public Integer getState() {
  138 + return state;
  139 + }
  140 +
  141 + public void setState(Integer state) {
  142 + this.state = state;
  143 + }
  144 +
  145 +
  146 + public String getStationName() {
  147 + return stationName;
  148 + }
  149 +
  150 + public void setStationName(String stationName) {
  151 + this.stationName = stationName;
  152 + }
  153 +
  154 + public long getArrTime() {
  155 + return arrTime;
  156 + }
  157 +
  158 + public void setArrTime(long arrTime) {
  159 + this.arrTime = arrTime;
  160 + }
  161 +
  162 +
  163 + public String getLineId() {
  164 + return lineId;
  165 + }
  166 +
  167 + public void setLineId(String lineId) {
  168 + this.lineId = lineId;
  169 + }
  170 +
  171 +
  172 + public int getVersion() {
  173 + return version;
  174 + }
  175 +
  176 + public void setVersion(int version) {
  177 + this.version = version;
  178 + }
  179 +
  180 + public int getValid() {
  181 + return valid;
  182 + }
  183 +
  184 + public void setValid(int valid) {
  185 + this.valid = valid;
  186 + }
  187 +
  188 +
  189 + public short getCompanyCode() {
  190 + return companyCode;
  191 + }
  192 +
  193 + public void setCompanyCode(short companyCode) {
  194 + this.companyCode = companyCode;
  195 + }
  196 +
  197 + public Byte getUpDown() {
  198 + return upDown;
  199 + }
  200 +
  201 + public void setUpDown(Byte upDown) {
  202 + this.upDown = upDown;
  203 + }
  204 +
  205 +
  206 + public float getDirection() {
  207 + return direction;
  208 + }
  209 +
  210 + public void setDirection(float direction) {
  211 + this.direction = direction;
  212 + }
  213 +
  214 + public Float getSpeed() {
  215 + return speed;
  216 + }
  217 +
  218 + public void setSpeed(Float speed) {
  219 + this.speed = speed;
  220 + }
  221 +}
... ...
src/main/java/com/bsth/util/ConfigUtil.java
... ... @@ -6,8 +6,6 @@ public class ConfigUtil {
6 6  
7 7 static{
8 8 tools = new Tools("application.properties");
9   - String active = tools.getValue("spring.profiles.active");
10   - tools = new Tools("application-"+active+".properties");
11 9 }
12 10  
13 11 public static String get(String key){
... ...