You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Executor.awaitTermination(LONG_RELAX, TimeUnit.SECONDS) in shutdownServer() will not succeed until a timeout occurs.
It is trying to wait for its own thread to finish. The executor submits a task, and the task waits for the executor to complete all tasks, resulting in a deadlock. Only after the LONG_RELAX timeout may the code continue to shut down channels.
And LONG_RELAX is 5000 seconds, which is too long before the channels can be shut down.
The suggestion fix is to remove awaitTermination, or to break the shutdown server and shutdown channel into two threads, with only the first completing before the second is called.
Please advise.
The text was updated successfully, but these errors were encountered:
It has been tried in our lab, and because we need to dynamically start/stop QServer, it prevented us from upgrading to jpos3, hopefully to get a patch soon, thanks.
org.jpos.iso.ISOServer
Executor.awaitTermination(LONG_RELAX, TimeUnit.SECONDS) in shutdownServer() will not succeed until a timeout occurs.
It is trying to wait for its own thread to finish. The executor submits a task, and the task waits for the executor to complete all tasks, resulting in a deadlock. Only after the LONG_RELAX timeout may the code continue to shut down channels.
And LONG_RELAX is 5000 seconds, which is too long before the channels can be shut down.
The suggestion fix is to remove awaitTermination, or to break the shutdown server and shutdown channel into two threads, with only the first completing before the second is called.
Please advise.
The text was updated successfully, but these errors were encountered: