You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2009/01/13 19:54:54 UTC

svn commit: r734214 - in /qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport: QpidThreadExecutor.java TransportConnection.java

Author: rajith
Date: Tue Jan 13 10:54:38 2009
New Revision: 734214

URL: http://svn.apache.org/viewvc?rev=734214&view=rev
Log:
This is related QPID-1479
This commit contains the modifications for using the thread abstraction within MINA.

Added:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/QpidThreadExecutor.java
Modified:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java

Added: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/QpidThreadExecutor.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/QpidThreadExecutor.java?rev=734214&view=auto
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/QpidThreadExecutor.java (added)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/QpidThreadExecutor.java Tue Jan 13 10:54:38 2009
@@ -0,0 +1,22 @@
+package org.apache.qpid.client.transport;
+
+import org.apache.qpid.thread.Threading;
+
+import edu.emory.mathcs.backport.java.util.concurrent.Executor;
+
+public class QpidThreadExecutor implements Executor
+{
+    @Override
+    public void execute(Runnable command)
+    {
+        try
+        {
+            Threading.getThreadFactory().createThread(command).start();
+        }
+        catch(Exception e)
+        {
+            throw new RuntimeException("Error creating a thread using Qpid thread factory",e);
+        }
+    }
+
+}

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java?rev=734214&r1=734213&r2=734214&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/transport/TransportConnection.java Tue Jan 13 10:54:38 2009
@@ -91,7 +91,7 @@
                 {
                     public IoConnector newSocketConnector()
                     {
-                        return new ExistingSocketConnector();
+                        return new ExistingSocketConnector(1,new QpidThreadExecutor());
                     }
                 });
             case TCP:
@@ -106,12 +106,12 @@
                             _logger.warn("Using Qpid MultiThreaded NIO - " + (System.getProperties().containsKey("qpidnio")
                                                                               ? "Qpid NIO is new default"
                                                                               : "Sysproperty 'qpidnio' is set"));
-                            result = new MultiThreadSocketConnector();
+                            result = new MultiThreadSocketConnector(1, new QpidThreadExecutor());
                         }
                         else
                         {
                             _logger.info("Using Mina NIO");
-                            result = new SocketConnector(); // non-blocking connector
+                            result = new SocketConnector(1, new QpidThreadExecutor()); // non-blocking connector
                         }
                         // Don't have the connector's worker thread wait around for other connections (we only use
                         // one SocketConnector per connection at the moment anyway). This allows short-running