Hi Janak
It seems my happiness was too early.
Setting longer session time does help when client and (Tomcat) server is on
same computer/notebook. But in any other environment it doesn't.
When notebook resume from standby, it takes about 5 seconds to set-up
network connection.
Unfortunately ULC doesn't have any parameter how long it should wait for
connection comes up and immediately shows
com.ulcjava.base.client.ConnectorException caused by
java.net.NoRouteToHostException.
Same thing happens when I unplug network connection.
An architecture guide states that:
The process of establishing a URLConnection is repeated three times. This
mechanism is useful in case of short server overloads where the server may
reject
connections. This retry mechanism temporarily reduces the risk of a
connection breakdown.
I think it's not sufficient, my suggestion is to add some parameter like
"ConnectionExpireTime" (next to KeepAlive parameter) which would define time
to survive temporary network problems.
Additionally, after that time expires it would be nice to show dialog with
some message like "Connection to server is broken" with options to "Try
again" and "Terminate application".
what do you think?
Martin Kuzela
Exception detail:
com.ulcjava.base.client.ConnectorException: Unable to create connection.
Configure urI-string may be wrong: http://www.Ietcon.com/Ietcon.ulc
at
com.ulcjava.container.servlet.client.ServletConnector.at(ServletConnector.java:38)
at
com.ulcjava.container.servlet.client.ServletConnector.sendRequests(ServletConnector.java:5
)
at com.ulcjava.base.client.UISession$o_.run(UISession$o_.java:53)
at java.Iang.Thread.run(Unknown Source)
Caused by: com.ulcjava.container.servlet.client.ConnectorCommandException:
Unable to create connection. Configured urI-string may be wrong:
http://www.Ietcon.com/Ietcon.ulc
at
com.ulcjava.container.servlet.client.ConnectorCommand.createConnection(ConnectorCommand.java:14)
at
com.ulcjava.container.servlet.client.ConnectorCommand.execute(ConnectorCommand.java:46)
at
com.ulcjava.container.servlet.client.ServletConnector.executeCommand(ServletConnector.java:9)
at
com.ulcjava.container.servlet.client.ServletConnector.a(ServletConnector.java:26)
at
com.ulcjava.container.servlet.client.ServletConnector.sendRequests(ServletConnector.java:5
)
at com.ulcjava.base.client.UISession$o_.run(UISession$o_.java:53)
at java.Iang.Thread.run(Unknown Source)
Caused by: java.net.NoRouteToHostException: No route to host: connect
at java.net.PIainSocketlmpI.socketConnect(Native Metho )
at java.net.PIainSocketlmpI.doConnect(Unknown Source)
at java.net.PIainSocketlmpI.connectToAddress(Unknown Source)
at java.net.PIainSocketlmpI.connect(Unknown Source)
at java.net.SocksSocketlmpI.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkCIient.doConnect(Unknown Source)
at sun.net.www.http.HttpCIient.openServer(Unknown Source)
at sun.net.www.http.HttpCIient.openServer(Unknown Source)
at sun.net.www.http.HttpCIient.<init>(Unknown Source)
at sun.net.www.http.HttpCIient.New(Unknown Source)
at sun.net.www.http.HttpCIient.New(Unknown Source)
at sun.net.www.protocoI.http.HttpURLConnection.getNewHttpCIient(Unknown
Source)
at sun.net.www.protocoI.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocoI.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocoI.http.HttpURLConnection.getOutputStream(Unknown
Source)
at
com.ulcjava.container.servlet.client.ConnectorCommand.a(ConnectorCommand.java:
0)
at
com.ulcjava.container.servlet.client.ConnectorCommand.createConnection(ConnectorCommand.java:62)
at
com.ulcjava.container.servlet.client.ConnectorCommand.execute(ConnectorCommand.java:46)
at
com.ulcjava.container.servlet.client.ServletConnector.executeCommand(ServletConnector.java:9)
at
com.ulcjava.container.servlet.client.ServletConnector.a(ServletConnector.java:26)
at
com.ulcjava.container.servlet.client.ServletConnector.sendRequests(ServletConnector.java:5
)
at com.ulcjava.base.client.UISession$o_.run(UISession$o_.java:53)
at java.Iang.Thread.run(Unknown Source)
----- Original Message -----
From: "Janak Mulani" <[email protected]>
To: <[email protected]>
Sent: Monday, June 01, 2009 1:44 PM
Subject: RE: [ULC-developer] Pause/Resume feature
Hi Martin,
There is no way to start a client and make it connect to an existing ULC
Session. However, a client connect and resume to a previously paused ULC
Session.
Section 2.2.2 of ULC Architecture Guide and Section 2.2.7 of ULC
Deployment Guide describe the session time out. Basically, the HTTP
session time out interval (specified in web.xml) should be greater than
the keep-alive-interval specified for the ULC client applet (in the applet
tag) and jnlp launcher (in the jnlp file). In case the network goes down
or the client machine hibernates, the client will not be able to send the
keep-alive requests to the server and consequently the server will time
out. One solution could be that you can set the server session time out to
be very long so that when the client machine wakes up and starts sending
requests to the server it will find that the server is still live.
By the way, when I try to see ULC Portlet integration demo with that
Pause/Resume feature
http://ulc-community.canoo.com/snipsnap/space/Portlet+Integration
on this page
https://ulc-community.canoo.com/jetspeed/
The applications / code on the community is maintained by the community
and there are no guarantees. Nevertheless, I could reproduce the problem
and I will look into it.
If you wish to see how Pause/Resume works please read ULC Essentials Guide
section 10.1. Also see the sample code of TeamMembersResumeLauncher which
is part of the ULC release and can be found in <ULC Install
Dir>\sample\teammembers\src\com\ulcjava\sample\teammembers\client
directory.
PS: For guaranteed response time please subscribe to ULC Premium Support.
Thanks and regards,
Janak
-----------------------------------------
Janak Mulani
email: [email protected]
url: http://www.canoo.com <http://www.canoo.com/>
Beyond AJAX - Java Rich Internet Applications
http://www.canoo.com/ulc
-----------------------------------------
________________________________
From: [email protected]
[mailto:[email protected]] On Behalf Of Martin Kuzela
Sent: Friday, May 22, 2009 1:41 PM
To: [email protected]
Subject: [ULC-developer] Pause/Resume feature
Hi
is there some setting in ULC, which enables ULC application
seamlessly continue after user
put his notebook to Standby/Hibernate state and then resume after
some time?
I know there is some Pause/Resume feature of ULC but it's not
automatic and it's quite quirky to instruct user to
"Click this ULC Pause button before you want to hibernate your
computer and then click Resume button after you resume".
By the way, when I try to see ULC Portlet integration demo with
that Pause/Resume feature
http://ulc-community.canoo.com/snipsnap/space/Portlet+Integration
on this page
https://ulc-community.canoo.com/jetspeed/
when I click on Calendar or try any feature I get error:
com.ulcjava.base.client.ConnectorException: Unable to send
request. Configured url-string may be wrong ... HTTP responce is: HTTP/1.1
500 Internal Server Error
I have JDK 1.6.0_13 installed and I have tried both IE7 and
Firefox
Martin Kuzela
_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer
_______________________________________________
ULC-developer mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/ulc-developer