欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在webservice里調用耗時方法出錯的解決方案

 更新時間:2021年07月30日 09:35:14   作者:王偉AHSS  
這篇文章主要介紹了在webservice里調用耗時方法出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

webservice調用耗時方法出錯

在webservice里調用多個耗時的方法時,如果按順序執(zhí)行,下面的方法要等上面的方法執(zhí)行完畢才能執(zhí)行,如果這些方法比較耗時,并且包括回調等異步調用,就回出現(xiàn)下面的方法不能正確執(zhí)行,

實例代碼如下:

public String runMethod(String syncId) {
  try {
   //處理Datapull
   dataPullService.setSyncId(syncId); 
   //設置數(shù)據(jù)庫參數(shù)
   dataPullService.setJdbcUrl(Config.getStringValue("jdbc.jdbcUrl"));
   dataPullService.setUser(configurer.decrypt(Config.getStringValue("jdbc.user"), "1202000200021234"));
   dataPullService.setPassword(configurer.decrypt(Config.getStringValue("jdbc.password"), "1202000200021234"));
   dataPullService.setTypeid(1);
   dataPullService.run();
   //處理ofd轉換
   ofdService.setSyncId(syncId);
   ofdService.setServerUrl(Config.getStringValue("serverUrl"));
   ofdService.run();
   //判斷OFD文件是否轉換完成
   while(true) {
    if(serviceManager.isHasOFD(syncId)) {
     break;
    }
   }
   //處理pdf轉換
   pdfService.setSyncId(syncId);
   pdfService.setServerUrl(Config.getStringValue("serverUrl"));
   pdfService.run();
  }catch(Exception e) {
   return "error "+syncId;
  }
  return "success "+syncId;
 }

在上面的方法里,處理ofd的代碼執(zhí)行完畢會在某個表里插入一條數(shù)據(jù),這個操作耗時,并且是異步的,會出現(xiàn)還沒有插入成功,下面的pdf執(zhí)行代碼查詢不到記錄導致調用pdf部分失敗。

解決方案是:

一直去查詢那張表,如果有記錄則調用pdf部分代碼,使用死循環(huán)解決。

在調用webservice時常見的幾種異常原因

今天由于公司業(yè)務,需要調用webservice服務,一開始一直報錯,在網(wǎng)上搜集一些資料后,先整理如下:

問題1:

Java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException,原因是沒有導入 axis2-saaj.jar包

問題2:

java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton,原因是沒有 導入commons-discovery.jar包

問題3:

org.apache.commons.logging.LogFactory,原因是沒有導入commons-logging.jar包

問題4:

java.lang.NoClassDefFoundError: javax/xml/rpc/Service,原因是沒有導入jaxrpc.jar包(可以到axis官網(wǎng)下載對應版本的axis,在其中的lib目錄可以找到);如果使用的是maven,可以導入org.apache.axis下的axis-jaxrpc-1.4.jar。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java?C++題解leetcode1441用棧操作構建數(shù)組示例

    Java?C++題解leetcode1441用棧操作構建數(shù)組示例

    這篇文章主要為大家介紹了Java?C++題解leetcode1441用棧操作構建數(shù)組示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • java查詢近七日數(shù)據(jù)功能的實現(xiàn)

    java查詢近七日數(shù)據(jù)功能的實現(xiàn)

    這篇文章主要介紹了java查詢近七日數(shù)據(jù)功能的實現(xiàn),文章內容詳細,簡單易懂,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2023-01-01
  • 關于使用swagger整合springMVC的方法

    關于使用swagger整合springMVC的方法

    在平時開發(fā)寫接口文檔的工作時,一般都是word文檔,帶來書寫麻煩、維護麻煩的問題,比如改了源代碼忘了更新文檔、解釋不明確帶來歧義、無法在線嘗試等等,swagger可以有效解決這類問題,需要的朋友可以參考下
    2023-04-04
  • Java如何實現(xiàn)判斷并輸出文件大小

    Java如何實現(xiàn)判斷并輸出文件大小

    這篇文章主要介紹了Java如何實現(xiàn)判斷并輸出文件大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • String字符串拼接方法concat和+的效率對比

    String字符串拼接方法concat和+的效率對比

    這篇文章主要介紹了String字符串拼接方法concat和+的效率對比,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • spring boot使用thymeleaf模板的方法詳解

    spring boot使用thymeleaf模板的方法詳解

    thymeleaf 是新一代的模板引擎,在spring4.0中推薦使用thymeleaf來做前端模版引擎。下面這篇文章主要給大家介紹了關于spring boot使用thymeleaf模板的方法,文中通過示例代碼介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-07-07
  • ConcurrentMap.putIfAbsent(key,value)用法實例

    ConcurrentMap.putIfAbsent(key,value)用法實例

    這篇文章主要介紹了ConcurrentMap.putIfAbsent(key,value)用法實例,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • mybatis攔截器實現(xiàn)通用權限字段添加的方法

    mybatis攔截器實現(xiàn)通用權限字段添加的方法

    這篇文章主要給大家介紹了關于mybatis攔截器實現(xiàn)通用權限字段添加的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mybatis具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • 詳解Mybatis中的CRUD

    詳解Mybatis中的CRUD

    這篇文章主要介紹了Mybatis中的CRUD的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • 如何使用ThreadLocal上下文解決查詢性能問題

    如何使用ThreadLocal上下文解決查詢性能問題

    這篇文章主要介紹了利用ThreadLocal上下文解決查詢性能問題,有兩種解決方案,一種是使用ThreadLocal上下文,另一種是使用Redis緩存,需要的朋友可以參考下
    2023-07-07

最新評論