日期:2014-05-17 浏览次数:20974 次
class ... {
...
static id = "";
static HashMap<String, String> map = new HashMap<String, String>();
Object obj = new Object();
//先执行
//此方法为本系统客户端的请求
public String getResult() {
//id的值通过webservice从外部系统获取
id = xxx.getId();
String data = "";
int time = 0;
synchronized (obj) {
while (time++ < 6) { //等待30秒,也就是等map里有值
try {
obj.wait(5 * 1000); //每5秒查看一次data是否有值
data = map.get(id);
if(data != null && data != "") //若data有值则退出,方法返回
break;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
return data;
}
//后执行
//此方法为外部系统通过webservie发布数据过来
public Element receiveData(String data) {
map.put(id, data);
return null;
}
}