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