今天遇到一个问题,webservice client获取server信息没有任何反应,现在希望如果这个等待时间(超时)过长,那么中断这个request。
方法一:weblogic设置方法
(javax.xml.rpc.Stub)PortObject._setProperty("weblogic.wsee.transport.connection.timeout", 5); (javax.xml.rpc.Stub)PortObject._setProperty("weblogic.wsee.transport.read.timeout", 5);
资源地址:http://edocs.weblogicfans.net/wls/docs92/webserv/client.html
方法二:下面是自己最初用thread手动写的例子
public class Test1 { public static void main(String[] args) { new Test1().test("para1"); } /** * 主线程中,在启动A线程之前先启动B线程来控制超时时间 * 由于A,B和主线程平级运行,所以在主线程里需要等待A,B线程isNotAlive的时候再来判定变量isResponse,进而控制是否超时 * @param para * @return */ public synchronized String test(String para) { String result = null; B b = new B(); A a = A.getIntance(); a.setPara(para); b.start(); a.start(); while(true) { if (A.isResponse && !a.isAlive() && !b.isAlive()) { result = a.getResult(); System.out.println(a.getResult());break; } if (!A.isResponse && !a.isAlive() && !b.isAlive()) { System.out.println("time out");break; } } System.out.println(a.getPara()); a.clear(); System.out.println(a.getPara()); return result; } } class A extends Thread{ private static A a = null; private A(){} public static A getIntance() { if (a == null) { a = new A(); } return a; } public String result; public String para; public String getResult() { return result; } public void setResult(String result) { this.result = result; } public String getPara() { return para; } public void setPara(String para) { this.para = para; } public void run() { result = getSIDetails(); } public static boolean isResponse = false; public String getSIDetails(){ //获取server的information,模拟无反应 while (true) {} //isResponse = true; //return result; } public void clear() { a = null; result = null; para = null; isResponse = false; } } class B extends Thread { public void run() { if (!A.isResponse) { try { sleep(10*1000);//设置超时时间,等待10s后B线程舒醒,继续执行后面的程序 if (A.getIntance().isAlive()) { A.getIntance().stop(); } } catch (InterruptedException e) { e.printStackTrace(); } } } }
相关推荐
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
结合六轴传感器(LSM6DSOX)和气压传感器将酒店新风系统中的气压,室内温度,风机振动信息上传至云端,在云端可以实时获取新风系统状态信息,并可以基于通信协议对风机进行控制。 图片无法上传,具体图片见“其他...
F 修复 播放临时文件时连续获取播放时间导致工具卡死的问题 反馈详情 F 修复 miniprogramRoot 为 "/" 时编译报错的问题 F 修复 代码保护异常时没有报错的问题 反馈详情 F 修复 npm 构建时 Uncaught TypeError: ...
1.4 获取与安装Eclipse.. 11 1.5 本章小结...... 11 1.6 参考文献...... 12 第2章 Eclipse入门 13 2.1 第一步...... 14 2.1.1 提示没有任何JRE可用的对话框..... 14 2.1.2 创建您的第一个项目..... 15 2.1.3 ...
1.4 获取与安装Eclipse.. 11 1.5 本章小结...... 11 1.6 参考文献...... 12 第2章 Eclipse入门 13 2.1 第一步...... 14 2.1.1 提示没有任何JRE可用的对话框..... 14 2.1.2 创建您的第一个项目..... ...
1.4 获取与安装Eclipse.. 11 1.5 本章小结...... 11 1.6 参考文献...... 12 第2章 Eclipse入门 13 2.1 第一步...... 14 2.1.1 提示没有任何JRE可用的对话框..... 14 2.1.2 创建您的第一个项目..... ...