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

Jean-Noel Rouvignac
22.30.2013 7ed6e86a9895f116d1d57712f327235fc03c15e0
OPENDJ-832 Leverage the work queue for processing requests received on the HTTP connection handler



Limited the number of concurrent operations per client connection.



SdkConnectionAdapter.java:
Changed the queueing strategy to BoundedWorkQueueStrategy.

BoundedWorkQueueStrategy.java: ADDED

AbandonOperationWrapper.java, xtendedOperationWrapper.java, UnbindOperationWrapper.java: ADDED

DirectoryServer.java:
Extracted checkCanEnqueueRequest() from enqueueRequest().
Added tryEnqueueRequest().

WorkQueue.java:
Pulled computeNumWorkerThreads() here from sub classes.
Added abstract method trySubmitOperation().
Added abstract getter getNumWorkerThreads().

ParallelWorkQueue.java:
Implemented trySubmitOperation() and getter getNumWorkerThreads().
Renamed getNumWorkerThreads() to computeNumWorkerThreads() + moved it to WorkQueue.

TraditionalWorkQueue.java:
Implemented trySubmitOperation() and getter getNumWorkerThreads().
Renamed getNumWorkerThreads() to computeNumWorkerThreads() + moved it to WorkQueue.
Extacted overloaded method submitOperation(Operation, boolean) from submitOperation(Operation).



ClientConnection.java, JmxClientConnection.java, InternalClientConnection.java, HTTPClientConnection.java, MockClientConnection.java, LDAPClientConnection.java:
Added abstract method isConnectionValid() + implemented it in subclasses.



02-config.ldif, HTTPConnectionHandlerConfiguration.xml:
Added property max-concurrent-ops-per-connection
1 files modified
9 ■■■■■ changed files
opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java 9 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/protocols/http/HTTPClientConnection.java
@@ -582,12 +582,9 @@
    return 0;
  }
  /**
   * Returns whether the client connection is valid.
   *
   * @return true if the connection is valid, false otherwise
   */
  boolean isConnectionValid()
  /** {@inheritDoc} */
  @Override
  public boolean isConnectionValid()
  {
    return connectionValid;
  }