ESB數據採集思路

昨天接到一個任務,使用公司的ESB,調用別人的接口,把獲得的數據存儲到mysql數據庫當中,這裏簡單記錄解決思路,方便之後查看。

 

1.拿到一個網站的地址,使用火狐瀏覽器的firebug工具,查看其傳遞的參數、訪問的接口以及得到的json格式數據。
1 傳遞參數
2 time : [2016-05-03T08:00:00,2016-05-04T14:31:00]

 

1 請求地址
2 http://www.qzsdj.gov.cn//xq/water?time=[2016-05-02T08:00:00,2016-05-04T14:31:00]

 

 1 json信息
 2 
 3 *id                "QZST004"                    //測站編號
 4  time              "2016-05-04T14:35:00"    //查詢最後定義時間時間
 5  val               398.13                            //最新水位
 6  water_potential   "6"                 //水勢(漲、平、落)
 7  capacity          3174.24                    //庫容(百萬m³)
 8 *name              "東固"                    //測站站名
 9 *lng               118.31                    //x座標
10 *lat               25.7577                    //y座標
11 *type              "RR"
12 *type_name         "水庫水文站"            
13 *address           "泉州市德化縣水口鎮"        //所在地址
14 *area_id           "350526"            //身份證前綴
15 *area_name         "德化縣"            //所在地區
16  flood_val         409                        //汛限/警惕
17  ensure_val        410                    //正常/保證
18  is_over           false
19 *river_name        "涌溪"                    //河流名稱
20 *water_system      "閩江中下游"            
21  town_code         "350526106"        //行政編碼
22  town_name         "水口鎮"            //鄉鎮名稱
23 
24 
25 *爲必定不爲null                            

 

2. 使用Java服務生成所須要的參數
 1 // 設置參數time的值
 2         long curtime = System.currentTimeMillis();
 3         Date date = new Date(curtime);
 4         DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");//自定義時間格式
 5         String a = df.format(date);
 6         String time = "[2016-05-02T08:00:00," + a + "]";
 7         List<Map<String, String>> list = new ArrayList<Map<String, String>>();
 8         Map<String, String> map = new HashMap<String, String>();
 9         map.put("time", time);
10         list.add(map);
11         // 節點輸出消息
12         Message outMessage = new DefaultMessage();
13         // 節點輸出消息數據
14         outMessage.setBody(list);
15         // 消息載體設置輸出消息
16         exchange.setOutMessage(outMessage);

 

1 傳遞參數
2 time : [2016-05-03T08:00:00,2016-05-04T14:31:00]

 

3.使用http調用去請求數據
4.把jason數據轉換成數據庫數據
5.把數據庫數據存儲到mysql當中

流程圖以下:

相關文章
相關標籤/搜索