HTTPServices not threadsafe. #496
Comments
(#496) The solutions are detailed in the issue and pull request comments. For threading problem, I centralized all of the connection management code into a new class called 'HTTPConnections'. I then carefully synchronized it. I then modified other httpservices module code to utilize this class. For the UrlAuthenticationDialog problem, I reverted 'UrlAuthenticatorDialog' to its original form that has no internal credentials database.
The primary problem to be addressed was the observation by John Caron Secondarily, there was a problem with 'UrlAuthenticatorDialog' not being Solution WRT to the threading problem:First, I created a testcase to show the problem. This is called Second, I centralized all of the connection management code into a new This seems to solve the problem in that TestThreading works with large Solution WRT to the 'UrlAuthenticatorDialog' problem.First, I created an alternate and simplified Dialog box for testing The issue was an interaction with Apache httpclient credentials The reason I had put the internal database into 'UrlAuthenticationDialog' In any case, I reverted 'UrlAuthenticatorDialog' to its original form There is a potential problem down the road, however, in that Other Changes
|
(#496) The solutions are detailed in the issue and pull request comments. For threading problem, I centralized all of the connection management code into a new class called 'HTTPConnections'. I then carefully synchronized it. I then modified other httpservices module code to utilize this class. For the UrlAuthenticationDialog problem, I reverted 'UrlAuthenticatorDialog' to its original form that has no internal credentials database.
John Caron pointed out that running Tdm with more that a single thread
causes HTTPSession to hang depending on the #threads.
Additionally, UrlAuthenticatorDialog.java was not being invoked after a bad
password was used. This appears to be a misunderstanding on my part about
how apache httpclient is now (4.5+) handling credentials caching.
The text was updated successfully, but these errors were encountered: