在this document中可以看到,在使用URLConnection时,在TCP连接池“工作”之前,必须满足一些先决条件。我如何确定连接是否正在汇集?有没有我可以在太阳jdk检查的物体?如何确定Java连接池是否与URLConnection一起工作?
1
A
回答
1
这不是真正的连接池,而是本文讨论的HTTP保持活动机制。如果您可以以任何方式检查网络流量,那么检测该请求的简单方法就是检查请求。如果它使用的是HTTP/1.1,并且没有“Connection:close”,或者它使用的是HTTP/1.0,并且看到“Connection:Keep-Alive”,那么它在请求的范围内工作。
否则它几乎是一个实现细节。您可以使用调试器来检查实现的内部状态,并查看它是否似乎有一些可启用保持活动的字段集。你需要看看这个来源。
另外你的文档建议你可以看看System.getProperty(“http.keepAlive”)。如果它为空或“真”,那么似乎启用了保持活动状态。
1
对于包含在Sun JDK 5中的Sun的HTTP协议处理程序,您可以检查类sun.net.www.http.HttpClient
。成员KeepAliveCache kac
保存持久连接。如果你的连接在HashTable中,它将被重用。
根据您的使用模式,HTTP处理程序中的Keepalive支持可能存在问题。当连接停留在缓存中时,没有线程响应状态更改,因此连接变得陈旧。重用时可能会发生IOException。所以我们通常禁用Keepalive。
如果你真的需要池连接,更好的选择是Apache HttpClient与池多线程连接管理器。
相关问题
- 1. 连接池与URLConnection?
- 2. Tinyog是否与泳池连接工作?
- 3. 连接池如何工作?
- 4. java中的URLConnection如何重用池中的连接
- 5. 如何在java连接池中检查连接是否关闭
- 6. 如何确认抖动树是否与Webpack 2一起工作?
- 7. 确定Gossip协议是否与Cassandra一起工作?
- 8. 与java的几个TCP连接URLConnection
- 9. 连接池在Ado.net中如何工作?
- 10. 如何正确实现连接池的Hibernate连接工厂
- 11. (Heroku + Sidekiq)我了解连接池如何工作正确吗?
- 12. JMeter是否池HTTP连接?
- 13. ADO.NET连接池如何与.ASMX Web服务一起使用?
- 14. 如何确定连接池中所需的连接数量?
- 15. Tycho是否与Eclipse一起工作3.5
- 16. linq sql如何与sql连接一起工作?
- 17. 我如何知道连接是否与websockets一起存在?
- 18. DNS如何与Java套接字一起工作?
- 19. 套接字是否应该与Python中的select一起工作?
- 20. Java多线程和连接池与PreparedStatement
- 21. 如何使用Java JDBC连接池?
- 22. 如何在java中做连接池?
- 23. Glassfish中的MySQL连接池不工作
- 24. SQLite.net连接池似乎并不工作
- 25. ReactiveMongo连接池如何针对MongoDB服务器连接起作用?
- 26. 连接池:如何正确实现IDisposable将TCP连接返回池
- 27. webservice - http连接池是否有意义?
- 28. 是否可以使用HTTP连接池?
- 29. Amazon S3是否有连接池?
- 30. df.write.jdbc是否处理JDBC池连接?