From 269a1d06ff820c287bb21a03fa76e3314110516a Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 22 Apr 2013 10:28:50 +0000
Subject: [PATCH] OPENDJ-832 Leverage the work queue for processing requests received on the HTTP connection handler
---
opends/src/server/org/opends/server/protocols/http/SdkConnectionAdapter.java | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/protocols/http/SdkConnectionAdapter.java b/opends/src/server/org/opends/server/protocols/http/SdkConnectionAdapter.java
index e878683..02f16b5 100644
--- a/opends/src/server/org/opends/server/protocols/http/SdkConnectionAdapter.java
+++ b/opends/src/server/org/opends/server/protocols/http/SdkConnectionAdapter.java
@@ -59,6 +59,7 @@
import org.opends.server.core.AbandonOperationBasis;
import org.opends.server.core.AddOperationBasis;
import org.opends.server.core.BindOperationBasis;
+import org.opends.server.core.BoundedWorkQueueStrategy;
import org.opends.server.core.CompareOperationBasis;
import org.opends.server.core.DeleteOperationBasis;
import org.opends.server.core.ExtendedOperationBasis;
@@ -67,7 +68,6 @@
import org.opends.server.core.QueueingStrategy;
import org.opends.server.core.SearchOperationBasis;
import org.opends.server.core.UnbindOperationBasis;
-import org.opends.server.core.WorkQueueStrategy;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.types.AuthenticationInfo;
import org.opends.server.types.ByteString;
@@ -98,7 +98,7 @@
private AtomicInteger nextMessageID = new AtomicInteger(0);
/** The queueing strategy used for this connection. */
- private QueueingStrategy queueingStrategy = new WorkQueueStrategy();
+ private final QueueingStrategy queueingStrategy;
/**
* Whether this connection has been closed by calling {@link #close()} or
@@ -115,6 +115,9 @@
public SdkConnectionAdapter(HTTPClientConnection clientConnection)
{
this.clientConnection = clientConnection;
+ this.queueingStrategy =
+ new BoundedWorkQueueStrategy(clientConnection.getConnectionHandler()
+ .getCurrentConfig().getMaxConcurrentOpsPerConnection());
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@@ -269,6 +272,16 @@
return enqueueOperation(operation, resultHandler);
}
+ /**
+ * Return the queueing strategy used by this connection.
+ *
+ * @return The queueing strategy used by this connection
+ */
+ public QueueingStrategy getQueueingStrategy()
+ {
+ return queueingStrategy;
+ }
+
/** {@inheritDoc} */
@Override
public boolean isClosed()
--
Gitblit v1.10.0