mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Matthew Swift
19.18.2012 fa5af37362b2f9b1fd07e8efbefe4b45a8088229
refs
author Matthew Swift <matthew.swift@forgerock.com>
Wednesday, December 19, 2012 18:18 +0100
committer Matthew Swift <matthew.swift@forgerock.com>
Wednesday, December 19, 2012 18:18 +0100
commitfa5af37362b2f9b1fd07e8efbefe4b45a8088229
tree 7519d5dba0760dda35aa1336b3cf91c335e82032 tree | zip | gz
parent be2a4753d04b9c7efa0a2e5444c7de73fd1e5ee0 view | diff
Fix OPENDJ-660: HeartbeatConnectionFactory should avoid doing heart-beats and Bind/StartTLS operations concurrently

* only send heart beats when connection is idle for longer than half the heart beat interval
* use shared/exclusive semaphore to coordinate Bind/StartTLS (shared) and heart-beats (exclusive)
* support concurrent Bind/StartTLS operations if the underlying connection does. This is not the case for the LDAPConnectionFactory but may be possible against internal stateless connections
* update Proxy example to use heart beats.

TODO: unit tests will be committed in a separate change.
2 files modified
852 ■■■■■ changed files
opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/Proxy.java 12 ●●●●● diff | view | raw | blame | history
opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/HeartBeatConnectionFactory.java 840 ●●●●● diff | view | raw | blame | history