最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java?webservice超時(shí)時(shí)間設(shè)置方法代碼

 更新時(shí)間:2024年01月05日 15:38:37   作者:追逐夢(mèng)想永不停  
當(dāng)我們使用WebService進(jìn)行調(diào)用時(shí),有時(shí)會(huì)出現(xiàn)超時(shí)的情況,下面這篇文章主要給大家介紹了關(guān)于java?webservice超時(shí)時(shí)間設(shè)置方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、前言

之前遇到過(guò)rabbitmq隊(duì)列卡死的問(wèn)題,有消費(fèi)者,但是就不消費(fèi)隊(duì)列里的消息;

后來(lái)發(fā)現(xiàn)是消費(fèi)者執(zhí)行webservice方法時(shí),沒(méi)有設(shè)置超時(shí)時(shí)間,默認(rèn)永不超時(shí),然后趕上對(duì)端系統(tǒng)出問(wèn)題,方法就一直執(zhí)行不完,隊(duì)列消息也就一直卡住不動(dòng)。(加try-catch是沒(méi)有用的,catch不到,就是沒(méi)有執(zhí)行完一直卡住,因?yàn)槌瑫r(shí)時(shí)間默認(rèn)永不超時(shí))

在此總結(jié)下java webservice設(shè)置超時(shí)時(shí)間的方法。

二、代碼

		try {
			JaxWsDynamicClientFactory dcf=JaxWsDynamicClientFactory.newInstance();
			
			//這里有2種方法,不確定到底是哪種,就都寫上了
            dcf.getJaxbContextProperties().put("com.sun.xml.ws.request.timeout", 10000);
            dcf.getJaxbContextProperties().put("com.sun.xml.ws.connect.timeout", 10000);
            dcf.getJaxbContextProperties().put("com.sun.xml.internal.ws.connection.timeout", 10000);//建立連接的超時(shí)時(shí)間為10秒
            dcf.getJaxbContextProperties().put("com.sun.xml.internal.ws.request.timeout", 10000);//指定請(qǐng)求的響應(yīng)超時(shí)時(shí)間為10秒

			LOGGER.info("設(shè)置超時(shí)時(shí)間");
			Client client= dcf.createClient("http://128.0.0.1/A/services/BService?wsdl");

            //這里再設(shè)置超時(shí)時(shí)間好像也行
			//client.getRequestContext().put("com.sun.xml.ws.request.timeout", 10000);
			//client.getRequestContext().put("com.sun.xml.ws.connect.timeout", 10000);
            //client.getRequestContext().put("com.sun.xml.internal.ws.connection.timeout", 10000);//建立連接的超時(shí)時(shí)間為10秒
            //client.getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 10000);//指定請(qǐng)求的響應(yīng)超時(shí)時(shí)間為10秒


			//如果不設(shè)置超時(shí)時(shí)間,那么如果連接不通,就會(huì)卡在這一步
			Object[] resultObj = client.invoke("createOrenableAccount", new Object[] { accountToXML("abc") });
			String retXML = resultObj[0].toString();
			StringReader read = new StringReader(retXML);
			InputSource source = new InputSource(read);
			SAXBuilder sb = new SAXBuilder();
			Document doc = sb.build(source);
			Element root = doc.getRootElement();
		    LOGGER.info(root.getChildText("code"));// 0  成功
			LOGGER.info(root.getChildText("code") + ", " + root.getChildText("message"));
		} catch (Exception e) {
			LOGGER.error((new StringBuilder("invokeWS Exception:")).append(e).toString(),e);
		}
		
------------------
	public static String accountToXML(String userName) {
		Document document = null;
		Element et = new Element("account");
		document = new Document(et);
		document = addNode(document, "appname", "AI");
		document = addNode(document, "uid", userName);
		document = addNode(document, "eruid", userName);
		return documentStr(document);
	}

-------------------
	public static String documentStr(Document document) {
		XMLOutputter xop = new XMLOutputter();
		String xmlStr = xop.outputString(document);
		return xmlStr;
	}	

------------------------
pom.xml是這樣:
		<!-- Apache CXF -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-rs-client</artifactId>
			<version>3.0.0</version>
		</dependency>
		<dependency>
		  <groupId>org.apache.cxf</groupId>
		  <artifactId>cxf-rt-frontend-jaxws</artifactId>
		  <version>3.0.0</version>
		</dependency>

總結(jié) 

到此這篇關(guān)于java webservice超時(shí)時(shí)間設(shè)置方法的文章就介紹到這了,更多相關(guān)java webservice超時(shí)時(shí)間設(shè)置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java設(shè)計(jì)模式中組合模式應(yīng)用詳解

    Java設(shè)計(jì)模式中組合模式應(yīng)用詳解

    組合模式,又叫部分整體模式,它創(chuàng)建了對(duì)象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的訪問(wèn)具有一致性。本文將通過(guò)示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下
    2022-11-11
  • Java的Jackson自定義序列化詳解

    Java的Jackson自定義序列化詳解

    這篇文章主要介紹了Java的Jackson自定義序列化詳解,對(duì)比序列化器,可以看到,使用@JsonValue注解已經(jīng)將Leader類的序列化方式改變了,進(jìn)而影響了Country類,再來(lái)執(zhí)行test7()測(cè)試反序列化,結(jié)果與之前是一致的,需要的朋友可以參考下
    2023-11-11
  • JavaWeb項(xiàng)目中dll文件動(dòng)態(tài)加載方法解析(詳細(xì)步驟)

    JavaWeb項(xiàng)目中dll文件動(dòng)態(tài)加載方法解析(詳細(xì)步驟)

    這篇文章主要介紹了JavaWeb項(xiàng)目中dll文件動(dòng)態(tài)加載方法,步驟詳細(xì),在這里分享給大家,需要的朋友可以了解下。
    2017-09-09
  • Java?Stream流使用最多的方式示例詳解

    Java?Stream流使用最多的方式示例詳解

    在 Java 編程中,Stream 流提供了一種高效、便捷的方式來(lái)處理集合數(shù)據(jù),本文將詳細(xì)介紹 Java 中 Stream 流的用法,包括基礎(chǔ)用法、中級(jí)用法、高級(jí)用法以及一些特殊方法的使用,感興趣的朋友一起看看吧
    2024-12-12
  • Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解

    Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解

    這篇文章主要為大家介紹了Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 在CentOS7(有圖形化界面)上安裝maven和idea的詳細(xì)教程

    在CentOS7(有圖形化界面)上安裝maven和idea的詳細(xì)教程

    這篇文章主要介紹了在CentOS7(有圖形化界面)上安裝maven和idea的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java幾個(gè)實(shí)例帶你進(jìn)階升華上篇

    Java幾個(gè)實(shí)例帶你進(jìn)階升華上篇

    與其明天開始,不如現(xiàn)在行動(dòng),本文為你帶來(lái)幾個(gè)Java書寫的實(shí)際案例,對(duì)鞏固編程的基礎(chǔ)能力很有幫助,快來(lái)一起往下看看吧
    2022-03-03
  • StringUtils,CollectionUtils判斷為空的方法和原生代碼哪個(gè)效率最高

    StringUtils,CollectionUtils判斷為空的方法和原生代碼哪個(gè)效率最高

    這篇文章主要介紹了StringUtils,CollectionUtils判斷為空的方法和原生代碼哪個(gè)效率最高,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Java中捕獲線程異常的幾種方式總結(jié)

    Java中捕獲線程異常的幾種方式總結(jié)

    這篇文章主要介紹了Java中捕獲線程異常的幾種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 基于maven中多個(gè)子模塊的構(gòu)建順序

    基于maven中多個(gè)子模塊的構(gòu)建順序

    這篇文章主要介紹了maven中多個(gè)子模塊的構(gòu)建順序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論

南岸区| 武乡县| 嘉黎县| 郴州市| 喀喇| 略阳县| 阜阳市| 阿克苏市| 泰顺县| 安化县| 阳春市| 若羌县| 淮安市| 绩溪县| 松阳县| 乐平市| 固始县| 社旗县| 衡南县| 平邑县| 格尔木市| 新疆| 资溪县| 花莲市| 平潭县| 延寿县| 嘉义市| 苍溪县| 定南县| 沙田区| 乌鲁木齐市| 柳河县| 东光县| 临夏市| 凭祥市| 乐安县| 文成县| 深圳市| 甘德县| 竹山县| 云林县|