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: Randy Wigginton <email@hidden>
- Date: Wed, 14 Jun 2006 16:45:01 -0400
Adjusting the timeout makes a LOT of sense if you are writing an
admin app, and thus able to influence your user's expectations.
If it is a public site, don't bother, because you'll make things
worse. When a public page takes more than a few seconds to load, you
end up with users hitting the refresh button, thus increasing your load.
On Jun 14, 2006, at 4:42 PM, Chuck Hill wrote:
On Jun 14, 2006, at 1:32 PM, Paul Lynch wrote:
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.
Which web server? I have had not problem setting these to at least
60 seconds when using Apache. Certainly it is a stop gap measure
and not a permanent solution, but I have found adjusting these
timeouts to be very useful.
Chuck
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:
40global-village.net
This email sent to email@hidden
--
Coming sometime... - an introduction to web applications using
WebObjects and Xcode http://www.global-village.net/wointro
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems. http://www.global-village.net/products/
practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40gmail.com
This email sent to email@hidden
_______________________________________________
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