Re: Broken Pipe error using batik (SVG conversion)
Re: Broken Pipe error using batik (SVG conversion)
- Subject: Re: Broken Pipe error using batik (SVG conversion)
- From: Paul Lynch <email@hidden>
- Date: Wed, 14 Jun 2006 21:32:46 +0100
On 14 Jun 2006, at 20:56, Robert Walker wrote:
I would say that Chuck's suggestions are ordered from "Best" to
"Worst." Use of the WOLongResponsePage definitely sounds like the
best solution in your case.
Agreed. WOLongResponsePage isn't very well documented - your only
option is to look at the example. Once you get the basic idea it
isn't hard to work with.
Generally speaking, IMHO, resorting to extending connection
timeouts is a "stop-gap" measure. Doing so may even reduce the
quality of the user experience. Whenever I know that a process may
take more than a few seconds to complete, I like to inform the
user, and provide some indication of progress (when possible).
Think of the spinning "beach-ball" or "hour glass." It may be a
nice way to inform the use that the system is busy, but if it goes
on too long the user will start to wonder is the system is locked.
They may even "Force Quit" (i.e. close the browser window) if the
system takes too long to respond.
I have had some experience of setting these timeouts. They can give
you some additional leeway in exceptional circumstances, but the web
server is also going to figure into the equation, and will impose its
own timeouts, making these settings pretty close to useless for
normal applications.
Paul
On Jun 14, 2006, at 3:08 PM, Dev WO wrote:
Hello Chuck,
On Jun 14, 2006, at 10:05 AM, Dev WO wrote:
Hi guys,
I've created a method to rasterize an SVG image (using Batik).
When I try to use this method in my application it appears it
takes too long to execute (at least that's what I'm guessing),
here's what I have in the log:
[2006-06-14 16:26:52 CEST] <WorkerThread0> <WOWorkerThread id=0
socket=Socket[addr=/10.0.1.8,port=49708,localport=49645]>
Exception while sending response: java.net.SocketException:
Broken pipe
I also get:
"No instance available" in the web browser quite some time after
it loads (probably due to the broken pipe)
One does not cause the other, but they are both symptoms of the
app taking too long to respond.
The created image (in this case a JPG) is created but it behaves
strangely:
I can't open it before moving it somewhere else on the hard
drive... If I put it back to its initial place it is then OK to
open it. Might be a process not fully executed and moving the
file forcing it to end...
No idea about that.
I had to increase the memory (-Xmx400m -Xms200m) to get rid of
the "out of memory error" I initially had.
Does anyone know how I could fix the broken pipe issue?
You can't fix the broken pipe directly, it is a warning that your
app is responding too slowly for the woadaptor settings. One
solution is to use something like the WOLongResponsePage so that
the request does not drag on. You could also do it in the
background and somehow notify the user.
Could you give me more input about this option?
The other "solution" is to increase the Connect and Receive
timeouts for the woadaptor (see the App configuration page in
JavaMonitor) until it waits long enough for this process to finish.
I'll try this one to see if it corrects the problem, but it
appears you don't really like this option;) I'd rather like to
notify the user one way or another...
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden