From 35ca8f30e16e3208a69abbe8c1674f808f593648 Mon Sep 17 00:00:00 2001
From: mrz <17966059@qq.com>
Date: Wed, 18 Jul 2018 12:37:04 +0800
Subject: [PATCH] 代理人更新 抓异常,为什么有时候就不读取队列了。

---
 src/java/com/airport/Main.java             | 17 +++++++++--------
 src/java/com/airport/core/AgentSender.java | 32 +++++++++++++++++++-------------
 src/java/com/airport/dao/impl/DaoImpl.java |  2 +-
 3 files changed, 29 insertions(+), 22 deletions(-)

diff --git a/src/java/com/airport/Main.java b/src/java/com/airport/Main.java
index dadce8f..b9e4a82 100644
--- a/src/java/com/airport/Main.java
+++ b/src/java/com/airport/Main.java
@@ -8,6 +8,7 @@ package com.airport;
 import com.airport.core.AgentSender;
 import com.airport.core.IMFNoDelaySender;
 import com.airport.core.IMFReader;
+import com.airport.core.ZYFNoDelaySender;
 import com.airport.util.ConfigUtils;
 import com.airport.util.SystemBean;
 import com.caac.imf.api.IMFClient;
@@ -46,17 +47,17 @@ public class Main {
                 logger.info("start run Timer,client hasocde=" + client.hashCode());
 
                 //代理人发送程序
-//                AgentSender send = new AgentSender(client);
-//                send.start();
+                AgentSender send = new AgentSender(client);
+                send.start();
 
                 //数据仓库给九州的发送程序
-                Timer timer = new Timer();
+//                Timer timer = new Timer();
 
-                //从配置文件读取sql语句,发送货运数据
-                String sql_select=ConfigUtils.SQl;
-                String sqlmax = ConfigUtils.SQlMax;
-                IMFNoDelaySender CangKu2Jiuzhou = new IMFNoDelaySender(client,"data/fid_index.txt",sql_select,sqlmax);
-                CangKu2Jiuzhou.start();
+//                //从配置文件读取sql语句,发送货运数据
+//                String sql_select=ConfigUtils.SQl;
+//                String sqlmax = ConfigUtils.SQlMax;
+//                ZYFNoDelaySender CangKu2Jiuzhou = new ZYFNoDelaySender(client,"data/fid_index.txt",sql_select,sqlmax);
+//                CangKu2Jiuzhou.start();
 //                timer.schedule(CangKu2Jiuzhou, 10000L, 1200000L);
 
             }
diff --git a/src/java/com/airport/core/AgentSender.java b/src/java/com/airport/core/AgentSender.java
index d2d1a77..4b38fce 100644
--- a/src/java/com/airport/core/AgentSender.java
+++ b/src/java/com/airport/core/AgentSender.java
@@ -34,22 +34,28 @@ public class AgentSender extends Thread{
             if(Main.isSuc){
                 if(Main.LOGIN_OK){
                     String SendMsg = jedis.rpoplpush("task-queue", "tmp-queue"); //取队列消息
+                    logger.info("队列消息为:》》》"+SendMsg);
 
                     //9是发送成功
                     if(SendMsg !=null){
-                        logger.debug("<<发送的报文内容为:"+SendMsg+">>");
-
-                        String returnMsg = client.sendMSG(SendMsg);
-                        logger.debug("<<发送返回的信息:"+returnMsg+">>");
-
-                        if(returnMsg.indexOf("<CODE>9</CODE>")>=0){
-                            jedis.rpop("tmp-queue");
-                            logger.debug("<<移除队列>>");
-                        }else{
-                            //如果发送不成功继续发送
-                            jedis.rpoplpush("tmp-queue", "task-queue");
-                            logger.info("!!<<执行未成功发送的消息返回到发送消息队列>>!!");
+
+                        try{
+                            String returnMsg = client.sendMSG(SendMsg);
+                            logger.debug("<<发送返回的信息:"+returnMsg+">>");
+
+                            if(returnMsg.indexOf("<CODE>9</CODE>")>=0){
+                                jedis.rpop("tmp-queue");
+                                logger.debug("<<移除队列>>");
+                            }else{
+                                //如果发送不成功继续发送
+                                jedis.rpoplpush("tmp-queue", "task-queue");
+                                logger.info("!!<<执行未成功发送的消息返回到发送消息队列>>!!");
+                            }
+                        }catch (Exception e){
+                            e.printStackTrace();
+                            logger.info("!!<<请注意!发送异常====>>!!");
                         }
+
                     }
 
                 }else{
@@ -57,7 +63,7 @@ public class AgentSender extends Thread{
                 }
 
                 try {
-                    Thread.sleep(5000);
+                    Thread.sleep(500);//发送延迟
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
diff --git a/src/java/com/airport/dao/impl/DaoImpl.java b/src/java/com/airport/dao/impl/DaoImpl.java
index 3b48da4..8ca7fc7 100644
--- a/src/java/com/airport/dao/impl/DaoImpl.java
+++ b/src/java/com/airport/dao/impl/DaoImpl.java
@@ -40,7 +40,7 @@ public class DaoImpl implements Dao {
         this.jdbcTemplate = jdbcTemplate;
     }
 
-    public int insertRecord(final String oper, final String sndr,String sntm,String type,String styp,String seqn) {
+    public int insertRecord(final String oper, final String sndr,final  String sntm,final  String type,final  String styp,final  String seqn) {
         KeyHolder keyHolder = new GeneratedKeyHolder();
         this.jdbcTemplate.update(new PreparedStatementCreator() {
             public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
--
libgit2 0.24.0