a22f5cddd6e1d582bf04028aeb6907cfdb571b11 8775 |
|
22-Apr-2013 |
JnRouvignac |
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, HTTPClientConnection.java, InternalClientConnection.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 |
748b8e6dae732515ff8e5af17323cdd6b18d6ad8 8651 |
|
26-Mar-2013 |
JnRouvignac |
OPENDJ-832 Leverage the work queue for processing requests received on the HTTP connection handler
Code cleanup: Changed code from using AbstractOperation abstract class to using Operation interface instead.
Operation.java
Now extends Runnable.
OperationWrapper.java
Consequence of the change to Operation.java.
WorkQueue.java:
In submitOperation(), used Operation interface instead of AbstractOperation abstract class.
DirectoryServer.java:
In enqueueRequest() used Operation interface instead of AbstractOperation abstract class.
Removed CLASS_NAME constant, used this class's name in getClassName().
ParallelWorkerThread.java:
Changed instance member operation from AbstractOperation abstract class to Operation interface.
ParallelWorkQueue.java:
Changed instance member opQueue from ConcurrentLinkedQueue<AbstractOperation> to ConcurrentLinkedQueue<Operation>.
In submitOperation(), nextOperation() and retryNextOperation(), used Operation interface instead of AbstractOperation abstract class.
TraditionalWorkerThread.java
Changed instance member operation from AbstractOperation abstract class to Operation interface.
In shutDown() used Operation interface instead of AbstractOperation abstract class.
TraditionalWorkQueue.java
Changed instance member opQueue from LinkedBlockingQueue<AbstractOperation> to LinkedBlockingQueue<Operation>.
In initializeWorkQueue(), submitOperation(), nextOperation(), retryNextOperation() and applyConfigurationChange(), used Operation interface instead of AbstractOperation abstract class.
In applyConfigurationChange(), remove a duplicate condition check.
All files:
Converted java comments to javadocs.
Added @Override annotations. |