日期:2014-05-17 浏览次数:20780 次
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; } }