Title: Problem related to Concurrency and the proxy

Hi Everyone,

I am facing this really funny problem.

In my servlet I am generating an image dynamically using the Image tag which directly calls the servlet.
The servlet is also opening a database connection using JDBC thin drivers.
I am Java web Server 2.0 for Windows NT.

Now all this is working fine, however when I call the servlet simultaneously from 2 or more browsers it gives this error--

java.net.SocketException: socket write error (code=10053)
 at java.net.SocketOutputStream.socketWrite(Native Method)
 at java.net.SocketOutputStream.write(SocketOutputStream.java:87)
 at com.sun.server.servlet.http.HttpOutputStream.writeOut(HttpOutputStream.java:585)
 at com.sun.server.servlet.http.HttpOutputStream.flushBytes(HttpOutputStream.java:429)
 at com.sun.server.servlet.http.HttpOutputStream.write(HttpOutputStream.java:400)
 at Acme.JPM.Encoders.GifEncoder.flush_char(GifEncoder.java:668)
 at Acme.JPM.Encoders.GifEncoder.char_out(GifEncoder.java:659)
 at Acme.JPM.Encoders.GifEncoder.output(GifEncoder.java:582)
 at Acme.JPM.Encoders.GifEncoder.compress(GifEncoder.java:531)
 at Acme.JPM.Encoders.GifEncoder.GIFEncode(GifEncoder.java:310)
 at Acme.JPM.Encoders.GifEncoder.encodeDone(GifEncoder.java:179)
 at Acme.JPM.Encoders.ImageEncoder.imageComplete(ImageEncoder.java:261)
 at sun.awt.image.OffScreenImageSource.produce(OffScreenImageSource.java:170)
 at sun.awt.image.OffScreenImageSource.addConsumer(OffScreenImageSource.java:44)
 at sun.awt.image.OffScreenImageSource.startProduction(OffScreenImageSource.java:58)
 at Acme.JPM.Encoders.ImageEncoder.encode(ImageEncoder.java:111)
 at chart3.doGet(chart3.java:115)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:715)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
 at com.sun.server.ServletState.callService(ServletState.java:226)
 at com.sun.server.ServletManager.callServletService(ServletManager.java:936)
 at com.sun.server.http.servlet.InvokerServlet.service(InvokerServlet.java:137)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
 at com.sun.server.ServletState.callService(ServletState.java:226)
 at com.sun.server.ServletManager.callServletService(ServletManager.java:936)
 at com.sun.server.ProcessingState.invokeTargetServlet(ProcessingState.java:423)
 at com.sun.server.http.HttpProcessingState.execute(HttpProcessingState.java:79)
 at com.sun.server.http.stages.Runner.process(Runner.java:79)
 at com.sun.server.ProcessingSupport.process(ProcessingSupport.java:294)
 at com.sun.server.Service.process(Service.java:204)
 at com.sun.server.http.HttpServiceHandler.handleRequest(HttpServiceHandler.java:374)
 at com.sun.server.http.HttpServiceHandler.handleRequest(HttpServiceHandler.java:166)
 at com.sun.server.HandlerThread.run(HandlerThread.java:162)
 
 
 
 For a single call from the browser the servlet is running perfectly fine. I am not opening any socket connection from my code..

 
 Also one more thing that is really confusing me is that when I use Netscape and in the preferences option when I use direct proxy then this exception is not thrown even for upto 8-10 simultaneous calls , but if I use my proxy then for 2 or more simultaneous calls also the exception is thrown up..

 
 
 Any Help will be Most Appreciated..
 
 
 Thanks and Best Regards,
 
 Mohit.
 
 
 
 PS: Wishing every one a very Happy New Year..

Reply via email to