正在显示
7 个修改的文件
包含
54 行增加
和
11 行删除
@@ -61,3 +61,7 @@ feign.okhttp.enabled=true | @@ -61,3 +61,7 @@ feign.okhttp.enabled=true | ||
61 | feign.hystrix.enabled=true | 61 | feign.hystrix.enabled=true |
62 | # 请求连接超时时间(毫秒) | 62 | # 请求连接超时时间(毫秒) |
63 | feign.httpclient.connection-timeout=3000 | 63 | feign.httpclient.connection-timeout=3000 |
64 | +#码头接口通知地址,注意尾部带/符号 | ||
65 | +wharf.interface.host=http://10.50.3.66:1983/ | ||
66 | +#新舱单运单查询数据接口,注意尾部带/符号 | ||
67 | +nmms.interface.host=http://10.50.3.82:8081/ |
@@ -18,21 +18,23 @@ public class IMF_Tesk { | @@ -18,21 +18,23 @@ public class IMF_Tesk { | ||
18 | public static IMFClient client = null; | 18 | public static IMFClient client = null; |
19 | 19 | ||
20 | @Scheduled(fixedRate = 5000) | 20 | @Scheduled(fixedRate = 5000) |
21 | - private static void start() throws Exception { | 21 | + private static void start() { |
22 | + //尝试catch SDK异常 | ||
23 | + try{ | ||
22 | PropertyConfigurator.configure("config/log4j.properties"); | 24 | PropertyConfigurator.configure("config/log4j.properties"); |
23 | client = IMFClientFactory.createInstance(); | 25 | client = IMFClientFactory.createInstance(); |
24 | String loginname = FileTool.readProperties("loginname"); | 26 | String loginname = FileTool.readProperties("loginname"); |
25 | String loginpass = FileTool.readProperties("loginpass"); | 27 | String loginpass = FileTool.readProperties("loginpass"); |
26 | 28 | ||
27 | 29 | ||
28 | - if (client != null) { | 30 | + if (client != null && LOGIN_OK) { |
29 | /** | 31 | /** |
30 | * 从IMF接收报文 | 32 | * 从IMF接收报文 |
31 | */ | 33 | */ |
32 | if (!KAKO_Reader.isrunning) { | 34 | if (!KAKO_Reader.isrunning) { |
33 | KAKO_Reader kako_reader = new KAKO_Reader(client); | 35 | KAKO_Reader kako_reader = new KAKO_Reader(client); |
34 | kako_reader.start(); | 36 | kako_reader.start(); |
35 | - logger.info("*********读取线程已开启***********"); | 37 | + logger.info("*********读取线程重新开启***********"); |
36 | } else { | 38 | } else { |
37 | logger.info("*********读取线程已开启-不再启动线程*********"); | 39 | logger.info("*********读取线程已开启-不再启动线程*********"); |
38 | } | 40 | } |
@@ -52,6 +54,13 @@ public class IMF_Tesk { | @@ -52,6 +54,13 @@ public class IMF_Tesk { | ||
52 | if (!LOGIN_OK){ | 54 | if (!LOGIN_OK){ |
53 | loginIMF(client, loginname, loginpass, "config/imf_config.properties"); | 55 | loginIMF(client, loginname, loginpass, "config/imf_config.properties"); |
54 | } | 56 | } |
57 | + }catch (Exception e){ | ||
58 | + logger.info("!!!!![IMF-ERROR]-IMF客户端异常!!!!!----->"+ e.toString()); | ||
59 | + //异常后短线, 下一次定时任务时重新登录客户端 | ||
60 | + client.disconnect(); | ||
61 | + LOGIN_OK = false; | ||
62 | + } | ||
63 | + | ||
55 | 64 | ||
56 | } | 65 | } |
57 | 66 |
@@ -2,6 +2,7 @@ package com.sy.IMF; | @@ -2,6 +2,7 @@ package com.sy.IMF; | ||
2 | 2 | ||
3 | import com.caac.imf.api.IMFClient; | 3 | import com.caac.imf.api.IMFClient; |
4 | import com.sy.bwAnalysis.AnalysisRoute; | 4 | import com.sy.bwAnalysis.AnalysisRoute; |
5 | +import org.apache.commons.lang.StringUtils; | ||
5 | import org.apache.log4j.Logger; | 6 | import org.apache.log4j.Logger; |
6 | 7 | ||
7 | public class KAKO_Reader extends Thread{ | 8 | public class KAKO_Reader extends Thread{ |
@@ -13,29 +14,36 @@ public class KAKO_Reader extends Thread{ | @@ -13,29 +14,36 @@ public class KAKO_Reader extends Thread{ | ||
13 | this.client = client; | 14 | this.client = client; |
14 | } | 15 | } |
15 | 16 | ||
17 | + @Override | ||
16 | public void run() { | 18 | public void run() { |
17 | try{ | 19 | try{ |
18 | isrunning =true; | 20 | isrunning =true; |
21 | + logger.info("********已进入读取线程**********"); | ||
19 | logger.info("********读取线程状态true**********"); | 22 | logger.info("********读取线程状态true**********"); |
23 | + logger.info("********Client-INFO= "+client+"********"); | ||
24 | + Thread t =Thread.currentThread(); | ||
20 | while(true) { | 25 | while(true) { |
21 | if (IMF_Tesk.LOGIN_OK){ | 26 | if (IMF_Tesk.LOGIN_OK){ |
22 | String message = this.client.getMSG(); | 27 | String message = this.client.getMSG(); |
23 | - logger.info("读取线程已获取到消息"); | ||
24 | - if (message != null) { | 28 | + logger.info(t.toString()+"读取线程已获取到消息"); |
29 | + if (message != null && StringUtils.isNotEmpty(message)) { | ||
25 | // logger.info(message); | 30 | // logger.info(message); |
26 | AnalysisRoute.analysis(message); | 31 | AnalysisRoute.analysis(message); |
27 | // if(message.indexOf("<TYPE>CARM</TYPE>") > 0){ | 32 | // if(message.indexOf("<TYPE>CARM</TYPE>") > 0){ |
28 | // this.client.sendMSG(); | 33 | // this.client.sendMSG(); |
29 | // } | 34 | // } |
35 | + }else { | ||
36 | + logger.info("[READER-INFO]-获取到空消息,不处理"); | ||
30 | } | 37 | } |
31 | } | 38 | } |
32 | else { | 39 | else { |
33 | - //logger.info("***"); | 40 | + logger.info("[READER-INFO]-CLIENT为未登录状态,不获取消息!!!!!"); |
34 | } | 41 | } |
35 | 42 | ||
36 | try { | 43 | try { |
37 | - Thread.sleep(1000L); | 44 | + Thread.sleep(500L); |
38 | } catch (InterruptedException var3) { | 45 | } catch (InterruptedException var3) { |
46 | + logger.info("********读取线程循环获取消息异常---->"+var3.toString()); | ||
39 | var3.printStackTrace(); | 47 | var3.printStackTrace(); |
40 | 48 | ||
41 | } | 49 | } |
@@ -44,7 +52,7 @@ public class KAKO_Reader extends Thread{ | @@ -44,7 +52,7 @@ public class KAKO_Reader extends Thread{ | ||
44 | }catch (Exception e){ | 52 | }catch (Exception e){ |
45 | isrunning=false; | 53 | isrunning=false; |
46 | logger.info("****************读取线程不在了****************"); | 54 | logger.info("****************读取线程不在了****************"); |
47 | - logger.info("解析消息出错----------->"+e.toString()); | 55 | + logger.info("读取线程异常----------->"+e.toString()); |
48 | } | 56 | } |
49 | isrunning=false; | 57 | isrunning=false; |
50 | } | 58 | } |
@@ -145,7 +145,7 @@ public class AnalysisRoute { | @@ -145,7 +145,7 @@ public class AnalysisRoute { | ||
145 | v_express_billno billno = clrAnalysis.toBill(message); | 145 | v_express_billno billno = clrAnalysis.toBill(message); |
146 | route.clrService.save(billno); | 146 | route.clrService.save(billno); |
147 | } else if (stype.equals("IS1")) { | 147 | } else if (stype.equals("IS1")) { |
148 | - airone_im_stock imStock = imStockAnalysis.toImStock(message); | 148 | + airone_im_stock imStock = ImStockAnalysis.toImStock(message); |
149 | T_AIR_REPERTORY repertory = route.repertoryService.selectByPermaryKey(imStock.getMawbNo()); | 149 | T_AIR_REPERTORY repertory = route.repertoryService.selectByPermaryKey(imStock.getMawbNo()); |
150 | if(repertory!=null){ | 150 | if(repertory!=null){ |
151 | repertory.setCnt(repertory.getCnt()+imStock.getCnt()); | 151 | repertory.setCnt(repertory.getCnt()+imStock.getCnt()); |
@@ -25,10 +25,12 @@ public class CommandInfoAnalysis { | @@ -25,10 +25,12 @@ public class CommandInfoAnalysis { | ||
25 | bean.setCheckResult(info.getCheckResult()); | 25 | bean.setCheckResult(info.getCheckResult()); |
26 | bean.setEsealId(info.getSeal().getEsealId()); | 26 | bean.setEsealId(info.getSeal().getEsealId()); |
27 | bean.setSealKey(info.getSeal().getSealKey()); | 27 | bean.setSealKey(info.getSeal().getSealKey()); |
28 | + if(info.getGps()!=null){ | ||
28 | bean.setVeName(info.getGps().getVeName()); | 29 | bean.setVeName(info.getGps().getVeName()); |
29 | bean.setGpsId(info.getGps().getGpsId()); | 30 | bean.setGpsId(info.getGps().getGpsId()); |
30 | bean.setDestCustoms(info.getGps().getDestCostoms()); | 31 | bean.setDestCustoms(info.getGps().getDestCostoms()); |
31 | bean.setOriginCustoms(info.getGps().getOpiginCostoms()); | 32 | bean.setOriginCustoms(info.getGps().getOpiginCostoms()); |
33 | + } | ||
32 | bean.setFormId(info.getFormId()); | 34 | bean.setFormId(info.getFormId()); |
33 | bean.setOpHint(info.getOpHint()); | 35 | bean.setOpHint(info.getOpHint()); |
34 | 36 |
@@ -16,6 +16,7 @@ import org.apache.http.impl.client.DefaultHttpClient; | @@ -16,6 +16,7 @@ import org.apache.http.impl.client.DefaultHttpClient; | ||
16 | import org.apache.http.util.EntityUtils; | 16 | import org.apache.http.util.EntityUtils; |
17 | import org.apache.log4j.PropertyConfigurator; | 17 | import org.apache.log4j.PropertyConfigurator; |
18 | import org.springframework.beans.factory.annotation.Autowired; | 18 | import org.springframework.beans.factory.annotation.Autowired; |
19 | +import org.springframework.beans.factory.annotation.Value; | ||
19 | import org.springframework.scheduling.annotation.Async; | 20 | import org.springframework.scheduling.annotation.Async; |
20 | import org.springframework.stereotype.Component; | 21 | import org.springframework.stereotype.Component; |
21 | import org.apache.log4j.Logger; | 22 | import org.apache.log4j.Logger; |
@@ -51,6 +52,12 @@ public class LiftBar { | @@ -51,6 +52,12 @@ public class LiftBar { | ||
51 | private BusnesslistinfoService busnesslistinfoService; | 52 | private BusnesslistinfoService busnesslistinfoService; |
52 | @Autowired | 53 | @Autowired |
53 | BusnessViewService busnessViewService; | 54 | BusnessViewService busnessViewService; |
55 | + @Value("${wharf.interface.host}") | ||
56 | + private String wharfHost; | ||
57 | + | ||
58 | + @Value("${nmms.interface.host}") | ||
59 | + private String nmmsHost; | ||
60 | + | ||
54 | private static LiftBar logic = new LiftBar(); | 61 | private static LiftBar logic = new LiftBar(); |
55 | //从配置文件中读取货物重差可控范围 | 62 | //从配置文件中读取货物重差可控范围 |
56 | private static String checkWt = FileTool.readProperties("grossWt"); | 63 | private static String checkWt = FileTool.readProperties("grossWt"); |
@@ -77,6 +84,8 @@ public class LiftBar { | @@ -77,6 +84,8 @@ public class LiftBar { | ||
77 | logic.feignService=this.feignService; | 84 | logic.feignService=this.feignService; |
78 | logic.busnesslistinfoService=this.busnesslistinfoService; | 85 | logic.busnesslistinfoService=this.busnesslistinfoService; |
79 | logic.busnessViewService=this.busnessViewService; | 86 | logic.busnessViewService=this.busnessViewService; |
87 | + logic.wharfHost=this.wharfHost; | ||
88 | + logic.nmmsHost=this.nmmsHost; | ||
80 | } | 89 | } |
81 | 90 | ||
82 | /** | 91 | /** |
@@ -269,7 +278,7 @@ public class LiftBar { | @@ -269,7 +278,7 @@ public class LiftBar { | ||
269 | * @param IEtype | 278 | * @param IEtype |
270 | */ | 279 | */ |
271 | public static void sendData(String stationCode, String carNo, boolean IEtype) { | 280 | public static void sendData(String stationCode, String carNo, boolean IEtype) { |
272 | - String url = "http://10.50.3.73:8881/air-api/car/channelCar?stationCode=" + stationCode + "&carNo=" + carNo + "&isPickup=" + IEtype; | 281 | + String url = logic.wharfHost+"air-api/car/channelCar?stationCode=" + stationCode + "&carNo=" + carNo + "&isPickup=" + IEtype; |
273 | try { | 282 | try { |
274 | HttpClient httpClient = new DefaultHttpClient(); | 283 | HttpClient httpClient = new DefaultHttpClient(); |
275 | HttpGet httpGet = new HttpGet(url); | 284 | HttpGet httpGet = new HttpGet(url); |
@@ -403,7 +412,7 @@ public class LiftBar { | @@ -403,7 +412,7 @@ public class LiftBar { | ||
403 | if (!(waybill.indexOf("-") != -1)) { | 412 | if (!(waybill.indexOf("-") != -1)) { |
404 | waybill = waybill.substring(0, 3) + "-" + waybill.substring(3); | 413 | waybill = waybill.substring(0, 3) + "-" + waybill.substring(3); |
405 | } | 414 | } |
406 | - String url = "http://10.50.3.82:8081/orig/orig?waybill=" + waybill + "&imp=" + imp; | 415 | + String url = logic.nmmsHost+"orig/orig?waybill=" + waybill + "&imp=" + imp; |
407 | // String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp; | 416 | // String url = "http://tjfx.15miaoo.com:8003/tj/orig/orig?waybill=" + waybill + "&imp=" + imp; |
408 | StringBuilder json = new StringBuilder(); | 417 | StringBuilder json = new StringBuilder(); |
409 | Map map = null; | 418 | Map map = null; |
1 | package com.sy; | 1 | package com.sy; |
2 | 2 | ||
3 | +import com.sy.bwAnalysis.AnalysisRoute; | ||
4 | +import com.sy.logic.LiftBar; | ||
3 | import org.junit.Test; | 5 | import org.junit.Test; |
4 | import org.junit.runner.RunWith; | 6 | import org.junit.runner.RunWith; |
5 | import org.springframework.boot.test.context.SpringBootTest; | 7 | import org.springframework.boot.test.context.SpringBootTest; |
@@ -9,8 +11,17 @@ import org.springframework.test.context.junit4.SpringRunner; | @@ -9,8 +11,17 @@ import org.springframework.test.context.junit4.SpringRunner; | ||
9 | @SpringBootTest | 11 | @SpringBootTest |
10 | public class AnalysisImfApplicationTests { | 12 | public class AnalysisImfApplicationTests { |
11 | 13 | ||
14 | + private static String message = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + | ||
15 | + "<MSG><META><SNDR>KAO</SNDR><RCVR></RCVR><SEQN>20220117192051</SEQN><DDTM>20220117192051</DDTM><TYPE>KAKO</TYPE><STYP>CARM</STYP></META><COMMAND_INFO AREA_ID=\"4604499001\" CHNL_NO=\"4604444412\" I_E_TYPE=\"E\" SEQ_NO=\"20220117192014000017\"><CHECK_RESULT>00000000100000000000</CHECK_RESULT><OP_HINT>直接放行</OP_HINT><SEAL><ESEAL_ID>CNSM2816998419</ESEAL_ID><SEAL_KEY>1234567890</SEAL_KEY><OPEN_TIMES/><ESEAL_IC_NO/></SEAL><SZ_MSG/></COMMAND_INFO></MSG>"; | ||
16 | + | ||
12 | @Test | 17 | @Test |
13 | public void contextLoads() { | 18 | public void contextLoads() { |
19 | + AnalysisRoute.analysis(message); | ||
20 | + | ||
21 | + LiftBar.sendData("1","aaa",true); | ||
22 | + | ||
23 | + System.out.println("99"); | ||
14 | } | 24 | } |
15 | 25 | ||
26 | + | ||
16 | } | 27 | } |
-
请 注册 或 登录 后发表评论