B4J Question Idle timeout expired: 10800000/10800000 ms

aaronk

Well-Known Member
Licensed User
Longtime User
Hi,

I have my B4J app running on my VPS and in the log it shows:

java.util.concurrent.TimeoutException: Idle timeout expired: 10800000/10800000 ms
org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:166)
org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)

It has the above approx. 6-7 times.

Anyone know what that above error means?

I am guessing the remote client has connected and then had the browser or app (since I am using web sockets) sitting there idle and it has timed out? If I am correct is there anything that can be done to stop that from crashing ?
 

jmon

Well-Known Member
Licensed User
Longtime User
If you use connection pool, you should check that you close properly every SQL connections and cursors in your app.

When the user closes the app, make sure you close SQL and if you can catch the crash, also close SQL.

In my case the timeout issue was always solved by going through my code and closing all connections.
 
Upvote 0

aaronk

Well-Known Member
Licensed User
Longtime User
If you use connection pool, you should check that you close properly every SQL connections and cursors in your app.
I am using SQLite. Therefore I am not using any Connection Pool. (Don't use a ConnectionPool with SQLite database. - As per Erel's Tutorial)

When the user closes the app, make sure you close SQL and if you can catch the crash, also close SQL.
All my ResultSet are closed after I finish with them.

I don't think it's related to SQL (SQLite) but something to do with the Web Sockets / Web Server. (take a look at the second line in the error from post 1. It shows Jetty in the error, so that is what makes me think it's something to do with the Web Socket or Web Server.)

I should of said as well, I did have the previous version of B4J installed (think it was 6.00) but recently updated to the latest 6.30.
When I had version 6.00 I didn't see this error. It has only shown since I complied using 6.30.

So far this error has only happened the once. But always like to work out why it happened so I can keep an eye out for what caused it for the future.
 
Upvote 0
Top