为什么在Tomcat工作时锁定输入流?

时间:2012-04-18 13:05:49

标签: tomcat servlets

我有一个带有几个servlet的Tomcat应用程序。该应用程序运行嵌入式Java Applet和GWT网页。

问题是我的POST请求从Tomcat获取一些数据被阻止,而另一个请求正在另一个servlet请求(不同的servlet)中处理。

这是我获取数据的applet代码:

Integer code =  new Integer(FETCH_IMAGE); 
Serializable objs[] =  { code, username, id.getID(), id.getSeriesID(), id.getStudyID()   };
//URLConnection con =  postObjects(servletUrl, objs);
System.out.println("---->POST image request start...");
URLConnection con =  servletHttpConnection.postObjects(objs);
System.out.println("---->POST image request end...");
System.out.println("---->ObjectInputStream start...");
ObjectInputStream in = new ObjectInputStream( con.getInputStream());
System.out.println("---->ObjectInputStream end...");

//Read the value as an Object
System.out.println("---->Read stream for image start...");
Object obj = in.readObject();
System.out.println("---->Read stream for image end...");

我的Tomcat实例正在进行一些I / O,同时我的applet执行上面的代码以尝试获取一些数据。我还在“doPost”方法的开头抛出了一个日志,它甚至没有到达那里,直到请求#1结束。我的applet被阻止在:

ObjectInputStream in = new ObjectInputStream( con.getInputStream());

我可以围绕这个问题进行设计吗?或者为什么它会被阻止,为什么Tomcat在#1工作时无法响应我的请求#2?

0 个答案:

没有答案