XMTT %!s(int64=6) %!d(string=hace) años
padre
commit
3c451289db

+ 21 - 2
src/main/java/com/ekexiu/project/bridge/envdata/EnvDataService.java

29
        this.envDataDao = envDataDao;
29
        this.envDataDao = envDataDao;
30
    }
30
    }
31
31
32
    public void setLastData(List<EnvData> lastData) {
33
        if (lastData.size() == 0) {
34
            return;
35
        }
36
        if (this.lastData.get().size() == 0) {
37
            this.lastData.set(lastData);
38
        } else {
39
            if (this.lastData.get().get(0).getCreateTime().compareTo(lastData.get(0).getCreateTime()) < 0) {
40
                this.lastData.set(lastData);
41
            }
42
        }
43
    }
44
32
    @Path
45
    @Path
33
    @Get
46
    @Get
34
    public List<EnvData> query(@JdbcConn Connection con)throws SQLException {
47
    public List<EnvData> query(@JdbcConn Connection con) throws SQLException {
35
        return envDataDao.query(con);
48
        return envDataDao.query(con);
36
    }
49
    }
37
50
38
    @Path("/byTime")
51
    @Path("/byTime")
39
    @Get
52
    @Get
40
    public List<EnvData> query(@JdbcConn Connection con, @DefaultValue("\"00000000000000\"")String bt, @DefaultValue("\"99999999999999\"")String et)throws SQLException {
53
    public List<EnvData> query(@JdbcConn Connection con, @DefaultValue("\"00000000000000\"") String bt, @DefaultValue("\"99999999999999\"") String et) throws SQLException {
41
        return envDataDao.query(con, bt, et);
54
        return envDataDao.query(con, bt, et);
42
    }
55
    }
43
56
57
    @Path("/lastData")
58
    @Get
59
    public List<EnvData> query()throws SQLException {
60
        return lastData.get();
61
    }
62
44
63
45
}
64
}

+ 12 - 4
src/main/java/com/ekexiu/project/bridge/servlet/EnvDataServlet.java

1
package com.ekexiu.project.bridge.servlet;
1
package com.ekexiu.project.bridge.servlet;
2
2
3
import com.ekexiu.project.bridge.envdata.EnvData;
3
import com.ekexiu.project.bridge.envdata.EnvData;
4
import com.ekexiu.project.bridge.envdata.EnvDataService;
4
import org.jfw.util.DateUtil;
5
import org.jfw.util.DateUtil;
5
import org.jfw.util.context.JfwAppContext;
6
import org.jfw.util.context.JfwAppContext;
6
7
28
public class EnvDataServlet extends HttpServlet {
29
public class EnvDataServlet extends HttpServlet {
29
    private static final long serialVersionUID = 749116393196185727L;
30
    private static final long serialVersionUID = 749116393196185727L;
30
    private DataSource dataSource;
31
    private DataSource dataSource;
32
    private EnvDataService envDataService;
31
    private List<EnvThread> envThreadList = new CopyOnWriteArrayList<EnvThread>();
33
    private List<EnvThread> envThreadList = new CopyOnWriteArrayList<EnvThread>();
32
    private ListenThread listenThread;
34
    private ListenThread listenThread;
33
35
36
    @Override
38
    @Override
37
    public void init(ServletConfig config) throws ServletException {
39
    public void init(ServletConfig config) throws ServletException {
38
        dataSource = JfwAppContext.getDataSource();
40
        dataSource = JfwAppContext.getDataSource();
41
        envDataService = (EnvDataService) JfwAppContext.getBeanFactory().getBean("com_ekexiu_project_bridge_envdata_EnvDataService");
42
        if (envDataService == null) {
43
            throw new ServletException("not found EnvDataService");
44
        }
39
        running.set(true);
45
        running.set(true);
40
        try {
46
        try {
41
            ServerSocket serverSocket = new ServerSocket(4000);
47
            ServerSocket serverSocket = new ServerSocket(4000);
105
        @Override
111
        @Override
106
        public void run() {
112
        public void run() {
107
            int idx, len, ret, offset;
113
            int idx, len, ret, offset;
114
            InputStream inputStream = null;
108
            while (running.get()) {
115
            while (running.get()) {
109
                try {
116
                try {
110
                    InputStream inputStream = socket.getInputStream();
111
                    String createTime = DateUtil.formatDateTime(System.currentTimeMillis());
117
                    if (inputStream == null) {
118
                        inputStream = socket.getInputStream();
119
                    }
112
                    byte[] head = new byte[52];
120
                    byte[] head = new byte[52];
113
                    idx = 0;
121
                    idx = 0;
114
                    len = 52;
122
                    len = 52;
149
                            throw new IOException("a");
157
                            throw new IOException("a");
150
                        }
158
                        }
151
                    }
159
                    }
160
                    String createTime = DateUtil.formatDateTime(System.currentTimeMillis());
152
                    len = body.length;
161
                    len = body.length;
153
                    offset = 0;
162
                    offset = 0;
154
                    List<EnvData> list = new ArrayList<EnvData>();
163
                    List<EnvData> list = new ArrayList<EnvData>();
199
                                ps.executeUpdate();
208
                                ps.executeUpdate();
200
                            }
209
                            }
201
                            con.commit();
210
                            con.commit();
211
                            envDataService.setLastData(list);
202
                        } catch (SQLException e) {
212
                        } catch (SQLException e) {
203
                            con.rollback();
213
                            con.rollback();
204
                        } finally {
214
                        } finally {
207
                    } catch (Throwable thr) {
217
                    } catch (Throwable thr) {
208
218
209
                    }
219
                    }
210
211
212
                } catch (Exception e) {
220
                } catch (Exception e) {
213
                    break;
221
                    break;
214
                }
222
                }