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

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)文章

  • Springboot中路徑參數(shù)帶 (%2F)的問(wèn)題徹底解決方案

    Springboot中路徑參數(shù)帶 (%2F)的問(wèn)題徹底解決方案

    這篇文章主要介紹了徹底解決Springboot中路徑參數(shù)帶(%2F)的問(wèn)題,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • JAVA開(kāi)發(fā)環(huán)境Vs?code配置步驟詳解

    JAVA開(kāi)發(fā)環(huán)境Vs?code配置步驟詳解

    這篇文章主要為大家介紹了JAVA開(kāi)發(fā)環(huán)境Vs?code配置步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • java 判斷二進(jìn)制文件的方法

    java 判斷二進(jìn)制文件的方法

    這篇文章主要介紹了java 判斷二進(jìn)制文件的方法的相關(guān)資料,這里提供實(shí)例來(lái)實(shí)現(xiàn)判斷文件是否問(wèn)二進(jìn)制文件,希望能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • Java設(shè)計(jì)模式--適配器模式詳解

    Java設(shè)計(jì)模式--適配器模式詳解

    這篇文章主要介紹了java設(shè)計(jì)模式之適配器模式Adapter的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Mybatis中的PageHelper的執(zhí)行流程分析

    Mybatis中的PageHelper的執(zhí)行流程分析

    這篇文章主要介紹了Mybatis的PageHelper執(zhí)行流程,本文給大家介紹介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 如何用Java Stream寫出既高雅又裝*的代碼

    如何用Java Stream寫出既高雅又裝*的代碼

    如何讓同事看不懂你寫的代碼,然后覺(jué)得你非常牛逼,這里用到了stream()與Lambda,需要有點(diǎn)基礎(chǔ),沒(méi)基礎(chǔ)你炫個(gè)&#128296;優(yōu)雅永不過(guò)時(shí)~ 看下面文章時(shí)記得穿燕尾服,拿高腳杯
    2021-08-08
  • 詳解Java Web項(xiàng)目啟動(dòng)執(zhí)行順序

    詳解Java Web項(xiàng)目啟動(dòng)執(zhí)行順序

    這篇文章主要介紹了詳解Java Web項(xiàng)目啟動(dòng)執(zhí)行順序,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Spring?Boot?接口加解密功能實(shí)現(xiàn)

    Spring?Boot?接口加解密功能實(shí)現(xiàn)

    在我們?nèi)粘5腏ava開(kāi)發(fā)中,免不了和其他系統(tǒng)的業(yè)務(wù)交互,或者微服務(wù)之間的接口調(diào)用;如果我們想保證數(shù)據(jù)傳輸?shù)陌踩?,?duì)接口出參加密,入?yún)⒔饷?,這篇文章主要介紹了Spring?Boot?接口加解密功能實(shí)現(xiàn),需要的朋友可以參考下
    2023-04-04
  • Hibernate管理Session和批量操作分析

    Hibernate管理Session和批量操作分析

    這篇文章主要介紹了Hibernate管理Session和批量操作的技巧,包括Hibernate管理Session、批量處理數(shù)據(jù)等的常用技巧及注意事項(xiàng),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • SpringBoot快速過(guò)濾出一次請(qǐng)求的所有日志的示例代碼

    SpringBoot快速過(guò)濾出一次請(qǐng)求的所有日志的示例代碼

    在現(xiàn)網(wǎng)出現(xiàn)故障時(shí),我們經(jīng)常需要獲取一次請(qǐng)求流程里的所有日志進(jìn)行定位,本文給大家介紹了SpringBoot如何快速過(guò)濾出一次請(qǐng)求的所有日志,文中有相關(guān)的代碼和示例供大家參考,需要的朋友可以參考下
    2024-03-03

最新評(píng)論