Hi Baiss,

On Apr 17, 2006, at 11:04 AM, Baiss Eric Magnusson wrote:

Chuck,
Thanks much for below, things are better.

The timeouts I have worked with are:

sun.net.client.defaultReadTimeout=15000
in the Properties file loaded in Web Server, this time in milli- seconds

Receive timeout: 180
         in the Adaptor Settings of JavaMonitor, this time in seconds

I would have probably gone with something like 20 or 30 seconds which is high enough compared to the other 15 second timeout.



and
Lifebeat Interval: 120 of the Instance Settings of JavaMonitor, the Lifebeat interval doesn't seem to have an affect in the overall situation.

I would not expect it to.


By setting the <Receive timout> to 120, from its default, I was able to trap the <java.net.SocketTimeoutException>.

IIRC, the default is 15 seconds so you may have set it higher than needed. 180 seconds will impede error reporting to the user when there really is no instance available.


However the Axis call is always failing on the first stock read attempted
and
the exception always occurs 60 seconds after I make the call.

Might be an initialization delay. You could look a creating a "setup" call when the app launches (see ApplicationDidFinishLaunching notification in Application.


So, I don't know where the 60 seconds is coming from?

Again, sound  like a time out.


And, is it possible the Axis stuff
                "http://services.xmethods.com:80/soap";;
is just unavailable a lot of the time?

Certainly.  I would not want to rely on this.

Chuck


On Apr 14, 2006, at 7:45 PM, Chuck Hill wrote:


On Apr 14, 2006, at 11:24 AM, Baiss Eric Magnusson wrote:

I am having more problems with the Axis stockquote code. The previous timeout settings worked for a while.

What did you set them to?


I get <no instance available> back at the browser page due to a timeout caused by the line of code
                Float ret = (Float) call.invoke( new Object[] { symbol } );
not responding.

That sounds like the woadaptor Receive timeout is less than the java.net.whatever timeout you set before. The Java one should be less.

If you refresh the page I will trap the exception
        <java.net.SocketTimeoutException>
and calmly inform the user that the stock quote service is currently unavailable.

How can I trap the first problem <no instance available> in the java code without the user having to force a refresh?

You can't. The first problem is reported by the woadaptor (e.g. the CGI or mod_webobjects). You can't have any control over that from your application. The thing to do is to adjust the timeouts relative to each other so that the socket timeout happens before the receive timeout.

Chuck
----
Baiss Eric Magnusson
<http://www.Track-Your-Finances.com>
<http://www.CascadeWebDesign.com>



--
Coming in late 2006 - 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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to