diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2008-11-21 17:57:16 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2008-11-21 17:57:16 +0000 |
| commit | 61523667e8589275138a66ad23fda254c66c7dfe (patch) | |
| tree | b527337e67db558c4612a01831281a3eb679c1f3 /java/common | |
| parent | da89c7fe7cb06c3bb8c514fd31af353f3c53c978 (diff) | |
| download | qpid-python-61523667e8589275138a66ad23fda254c66c7dfe.tar.gz | |
Appologies for the sudden checkin without notice, close to the release cycle.
Reverting the changes back. Will attach a patch and commit after the release.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@719657 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common')
6 files changed, 16 insertions, 135 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java b/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java deleted file mode 100644 index 94869ab205..0000000000 --- a/java/common/src/main/java/org/apache/qpid/thread/DefaultThreadFactory.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.apache.qpid.thread; - -public class DefaultThreadFactory implements ThreadFactory -{ - - public Thread createThread(Runnable r) - { - return new Thread(r); - } - - public Thread createThread(Runnable r, int priority) - { - Thread t = new Thread(r); - t.setPriority(priority); - return t; - } - -} diff --git a/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java b/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java deleted file mode 100644 index b711f749f8..0000000000 --- a/java/common/src/main/java/org/apache/qpid/thread/RealtimeThreadFactory.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.apache.qpid.thread; - -import java.lang.reflect.Constructor; - -public class RealtimeThreadFactory implements ThreadFactory -{ - private Class threadClass; - private Constructor threadConstructor; - private Constructor priorityParameterConstructor; - private int defaultRTThreadPriority = 20; - - public RealtimeThreadFactory() throws Exception - { - defaultRTThreadPriority = Integer.getInteger("qpid.rt_thread_priority",20); - threadClass = Class.forName("javax.realtime.RealtimeThread"); - - Class schedulingParametersClass = Class.forName("javax.realtime.SchedulingParameters"); - Class releaseParametersClass = Class.forName("javax.realtime.ReleaseParameters"); - Class memoryParametersClass = Class.forName("javax.realtime.MemoryParameters"); - Class memoryAreaClass = Class.forName("javax.realtime.MemoryArea"); - Class processingGroupParametersClass = Class.forName("javax.realtime.ProcessingGroupParameters"); - - Class[] paramTypes = new Class[]{schedulingParametersClass, - releaseParametersClass, - memoryParametersClass, - memoryAreaClass, - processingGroupParametersClass, - java.lang.Runnable.class}; - - threadConstructor = threadClass.getConstructor(paramTypes); - - Class priorityParameterClass = Class.forName("javax.realtime.PriorityParameters"); - priorityParameterConstructor = priorityParameterClass.getConstructor(new Class[]{int.class}); - } - - public Thread createThread(Runnable r) throws Exception - { - return createThread(r,defaultRTThreadPriority); - } - - public Thread createThread(Runnable r, int priority) throws Exception - { - Object priorityParams = priorityParameterConstructor.newInstance(priority); - return (Thread)threadConstructor.newInstance(priorityParams,null,null,null,null,r); - } - -} diff --git a/java/common/src/main/java/org/apache/qpid/thread/ThreadFactory.java b/java/common/src/main/java/org/apache/qpid/thread/ThreadFactory.java deleted file mode 100644 index f9bcabfa3d..0000000000 --- a/java/common/src/main/java/org/apache/qpid/thread/ThreadFactory.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.apache.qpid.thread; - -public interface ThreadFactory -{ - public Thread createThread(Runnable r) throws Exception; - public Thread createThread(Runnable r, int priority) throws Exception; -} diff --git a/java/common/src/main/java/org/apache/qpid/thread/Threading.java b/java/common/src/main/java/org/apache/qpid/thread/Threading.java deleted file mode 100644 index 0fb113d22c..0000000000 --- a/java/common/src/main/java/org/apache/qpid/thread/Threading.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.apache.qpid.thread; - -public final class Threading -{ - private static ThreadFactory threadFactory; - - static { - try - { - Class threadFactoryClass = - Class.forName(System.getProperty("qpid.thread_factory", - "org.apache.qpid.thread.DefaultThreadFactory")); - - threadFactory = (ThreadFactory)threadFactoryClass.newInstance(); - } - catch(Exception e) - { - throw new Error("Error occured while loading thread factory",e); - } - } - - public static ThreadFactory getThreadFactory() - { - return threadFactory; - } -} diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java index b245e47336..5efd51d5db 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoReceiver.java @@ -20,7 +20,6 @@ */ package org.apache.qpid.transport.network.io; -import org.apache.qpid.thread.Threading; import org.apache.qpid.transport.Receiver; import org.apache.qpid.transport.TransportException; import org.apache.qpid.transport.util.Logger; @@ -36,7 +35,7 @@ import java.util.concurrent.atomic.AtomicBoolean; * */ -final class IoReceiver implements Runnable +final class IoReceiver extends Thread { private static final Logger log = Logger.get(IoReceiver.class); @@ -47,7 +46,6 @@ final class IoReceiver implements Runnable private final Socket socket; private final long timeout; private final AtomicBoolean closed = new AtomicBoolean(false); - private final Thread receiverThread; public IoReceiver(IoTransport transport, Receiver<ByteBuffer> receiver, int bufferSize, long timeout) @@ -57,18 +55,10 @@ final class IoReceiver implements Runnable this.bufferSize = bufferSize; this.socket = transport.getSocket(); this.timeout = timeout; - - try - { - receiverThread = Threading.getThreadFactory().createThread(this); - } - catch(Exception e) - { - throw new Error("Error creating IOReceiver thread",e); - } - receiverThread.setDaemon(true); - receiverThread.setName(String.format("IoReceiver - %s", socket.getRemoteSocketAddress())); - receiverThread.start(); + + setDaemon(true); + setName(String.format("IoReceiver - %s", socket.getRemoteSocketAddress())); + start(); } void close(boolean block) @@ -85,10 +75,10 @@ final class IoReceiver implements Runnable { socket.shutdownInput(); } - if (block && Thread.currentThread() != receiverThread) + if (block && Thread.currentThread() != this) { - receiverThread.join(timeout); - if (receiverThread.isAlive()) + join(timeout); + if (isAlive()) { throw new TransportException("join timed out"); } diff --git a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java index 29f0c766fc..36ea14856a 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java +++ b/java/common/src/main/java/org/apache/qpid/transport/network/io/IoSender.java @@ -24,7 +24,6 @@ import java.net.Socket; import java.nio.ByteBuffer; import java.util.concurrent.atomic.AtomicBoolean; -import org.apache.qpid.thread.Threading; import org.apache.qpid.transport.Sender; import org.apache.qpid.transport.SenderException; import org.apache.qpid.transport.TransportException; @@ -33,7 +32,7 @@ import org.apache.qpid.transport.util.Logger; import static org.apache.qpid.transport.util.Functions.*; -public final class IoSender implements Runnable, Sender<ByteBuffer> +public final class IoSender extends Thread implements Sender<ByteBuffer> { private static final Logger log = Logger.get(IoSender.class); @@ -55,8 +54,7 @@ public final class IoSender implements Runnable, Sender<ByteBuffer> private final Object notFull = new Object(); private final Object notEmpty = new Object(); private final AtomicBoolean closed = new AtomicBoolean(false); - private final Thread senderThread; - + private volatile Throwable exception = null; @@ -76,18 +74,9 @@ public final class IoSender implements Runnable, Sender<ByteBuffer> throw new TransportException("Error getting output stream for socket", e); } - try - { - senderThread = Threading.getThreadFactory().createThread(this); - } - catch(Exception e) - { - throw new Error("Error creating IOSender thread",e); - } - - senderThread.setDaemon(true); - senderThread.setName(String.format("IoSender - %s", socket.getRemoteSocketAddress())); - senderThread.start(); + setDaemon(true); + setName(String.format("IoSender - %s", socket.getRemoteSocketAddress())); + start(); } private static final int pof2(int n) @@ -199,10 +188,10 @@ public final class IoSender implements Runnable, Sender<ByteBuffer> try { - if (Thread.currentThread() != senderThread) + if (Thread.currentThread() != this) { - senderThread.join(timeout); - if (senderThread.isAlive()) + join(timeout); + if (isAlive()) { throw new SenderException("join timed out"); } |
