[jboss-cvs] JBossAS SVN: r63393 - in projects/aop/trunk/aspects/src/main/org/jboss/aspects: asynchronous/concurrent and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jun 7 13:51:31 EDT 2007


Author: kabir.khan at jboss.com
Date: 2007-06-07 13:51:31 -0400 (Thu, 07 Jun 2007)
New Revision: 63393

Modified:
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/Asynchronous.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousAspect.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousInvokeTask.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AdapterTask.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AsynchronousTaskImpl.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerFactory.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerImpl.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/TimedCallableImpl.java
   projects/aop/trunk/aspects/src/main/org/jboss/aspects/patterns/readwritelock/ReadWriteLockAspect.java
Log:
[JBAOP-394] Get rid of edu.oswego classes for aspects that are usable standalone

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/Asynchronous.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/Asynchronous.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/Asynchronous.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -32,6 +32,6 @@
 @Retention(RetentionPolicy.RUNTIME)
 public @interface Asynchronous 
 {
-   String id();
+   String id() default "";
    long timeout() default 0;
 }

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousAspect.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousAspect.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousAspect.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -71,6 +71,7 @@
        	              (asynchronous.id()!=null)&&(asynchronous.id().length()!=0) )
       	 asynchronousResult.setId(asynchronous.id());
 	  }
+      
       asynchronousResult.setAsynchronousTask(ThreadManagerFactory.getThreadManager().process(ThreadManagerFactory.createNewThreadManagerRequest(asynchronousResult.getId(),
       new InvokeTaskInputParameters((MethodInvocation) invocation.copy()),
       asynchronousInvokeTask,

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousInvokeTask.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousInvokeTask.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/aspects/jboss/AsynchronousInvokeTask.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -112,7 +112,6 @@
 
    public void cleanup(AsynchronousParameters jp)
    {
-
       try
       {
 

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AdapterTask.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AdapterTask.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AdapterTask.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -22,7 +22,8 @@
 
 package org.jboss.aspects.asynchronous.concurrent;
 
-import EDU.oswego.cs.dl.util.concurrent.Callable;
+import java.util.concurrent.Callable;
+
 import org.jboss.aspects.asynchronous.AsynchronousConstants;
 import org.jboss.aspects.asynchronous.AsynchronousParameters;
 import org.jboss.aspects.asynchronous.AsynchronousResponse;

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AsynchronousTaskImpl.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AsynchronousTaskImpl.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/AsynchronousTaskImpl.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -22,9 +22,6 @@
 
 package org.jboss.aspects.asynchronous.concurrent;
 
-import EDU.oswego.cs.dl.util.concurrent.Callable;
-import EDU.oswego.cs.dl.util.concurrent.FutureResult;
-import EDU.oswego.cs.dl.util.concurrent.TimeoutException;
 import org.jboss.aspects.asynchronous.AsynchronousConstants;
 import org.jboss.aspects.asynchronous.AsynchronousParameters;
 import org.jboss.aspects.asynchronous.AsynchronousUserTask;
@@ -32,7 +29,10 @@
 import org.jboss.aspects.asynchronous.ThreadManagerResponse;
 import org.jboss.aspects.asynchronous.common.ThreadManagerResponseImpl;
 
-import java.lang.reflect.InvocationTargetException;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.TimeoutException;
 
 /**
  * @author <a href="mailto:chussenet at yahoo.com">{Claude Hussenet Independent Consultant}</a>.
@@ -41,7 +41,7 @@
 
 public final class AsynchronousTaskImpl
 
-implements AsynchronousConstants, org.jboss.aspects.asynchronous.concurrent.AsynchronousTask
+implements AsynchronousConstants, AsynchronousTask
 {
 
    private long _timeout = 0;
@@ -50,7 +50,8 @@
 
    private AsynchronousUserTask _oneInstance = null;
 
-   private FutureResult _futureResult = null;
+   //private FutureResult _futureResult = null;
+   private FutureTask _futureResult = null;
 
    private Callable _callable = null;
 
@@ -67,8 +68,6 @@
 
       this._id = id;
 
-      _futureResult = new FutureResult();
-
       _timeout = timeout;
 
       _inputParametersImpl = inputParametersImpl;
@@ -100,8 +99,6 @@
 
       this._id = id;
 
-      _futureResult = new FutureResult();
-
       _timeout = timeout;
 
       _oneInstance = userTask;
@@ -163,22 +160,6 @@
          }
 
       }
-      catch (TimeoutException e)
-      {
-
-         return new ThreadManagerResponseImpl(getId(),
-
-         TIMEOUT,
-
-         e.getMessage(),
-
-         e,
-
-         getStartingTime(),
-
-         getEndingTime());
-
-      }
       catch (InterruptedException e)
       {
 
@@ -195,31 +176,24 @@
          getEndingTime());
 
       }
-      catch (InvocationTargetException e)
+      catch(ExecutionException e)
       {
-
          int errorCode = INVOCATION;
-
-         if (e.getTargetException()
-
-         instanceof EDU.oswego.cs.dl.util.concurrent.TimeoutException)
-
+         
+         if (e.getCause() instanceof TimeoutException)
             errorCode = TIMEOUT;
-
          return new ThreadManagerResponseImpl(getId(),
 
-         errorCode,
+               errorCode,
 
-         e.getTargetException().getMessage(),
+               e.getCause().getMessage(),
 
-         e.getTargetException(),
+               e.getCause(),
 
-         getStartingTime(),
+               getStartingTime(),
 
-         getEndingTime());
-
+               getEndingTime());
       }
-
    }
 
    public long getStartingTime()
@@ -240,7 +214,7 @@
    public boolean isDone()
    {
 
-      return _futureResult.isReady();
+      return _futureResult.isDone();
 
    }
 
@@ -272,9 +246,9 @@
 
             _timeout);
 
-         return _futureResult.setter(_callable);
-
-
+         _futureResult = new FutureTask(_callable);
+         return _futureResult;
+         
       }
       catch (Exception e)
       {
@@ -283,7 +257,6 @@
          throw e;
 
       }
-
    }
 
    public String getId()

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerFactory.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerFactory.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerFactory.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -152,11 +152,9 @@
 
    }
 
-   static public ThreadManager getThreadManager()
+   public static ThreadManager getThreadManager()
    {
-
       return threadManagerFactory.threadManager;
-
    }
 
    static public ThreadManagerRequest createNewThreadManagerRequest(String id,

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerImpl.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerImpl.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/ThreadManagerImpl.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -22,8 +22,12 @@
 
 package org.jboss.aspects.asynchronous.concurrent;
 
-import EDU.oswego.cs.dl.util.concurrent.PooledExecutor;
-import EDU.oswego.cs.dl.util.concurrent.ThreadFactoryUser;
+import java.util.concurrent.Executors;
+import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.RejectedExecutionHandler;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
 import org.jboss.aspects.asynchronous.AsynchronousConstants;
 import org.jboss.aspects.asynchronous.AsynchronousParameters;
 import org.jboss.aspects.asynchronous.AsynchronousTask;
@@ -41,13 +45,10 @@
  */
 
 public class ThreadManagerImpl
-
-extends ThreadFactoryUser
-
 implements AsynchronousConstants, ThreadManager
 {
 
-   protected PooledExecutor _pooledExecutor = null;
+   ThreadPoolExecutor _pooledExecutor;
 
    protected boolean waitWhenPoolSizeIsFull = true;
 
@@ -60,7 +61,7 @@
    public ThreadManagerImpl()
    {
 
-      _pooledExecutor = new PooledExecutor();
+      _pooledExecutor = (ThreadPoolExecutor)Executors.newCachedThreadPool();
 
       setWaitWhenPoolSizeIsFull(false);
 
@@ -75,7 +76,7 @@
    public ThreadManagerImpl(int maximumPoolSize)
    {
 
-      _pooledExecutor = new PooledExecutor(maximumPoolSize);
+      _pooledExecutor = (ThreadPoolExecutor)Executors.newFixedThreadPool(maximumPoolSize);
 
       setWaitWhenPoolSizeIsFull(false);
 
@@ -121,11 +122,11 @@
 
       if (value)
 
-         _pooledExecutor.waitWhenBlocked();
+         _pooledExecutor.setRejectedExecutionHandler(new WaitWhenBlockedPolicy());
 
       else
 
-         _pooledExecutor.abortWhenBlocked();
+         _pooledExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
 
       waitWhenPoolSizeIsFull = value;
 
@@ -168,7 +169,7 @@
    public void setMinimumPoolSize(int minimumPoolSize)
    {
 
-      _pooledExecutor.setMinimumPoolSize(minimumPoolSize);
+      _pooledExecutor.setCorePoolSize(minimumPoolSize);
 
    }
 
@@ -185,7 +186,7 @@
    public int getMinimumPoolSize()
    {
 
-      return _pooledExecutor.getMinimumPoolSize();
+      return _pooledExecutor.getCorePoolSize();
 
    }
 
@@ -200,7 +201,7 @@
    public void setKeepAliveTime(long time)
    {
 
-      _pooledExecutor.setKeepAliveTime(time);
+      _pooledExecutor.setKeepAliveTime(time, TimeUnit.MILLISECONDS);
 
    }
 
@@ -215,7 +216,7 @@
    public long getKeepAliveTime()
    {
 
-      return _pooledExecutor.getKeepAliveTime();
+      return _pooledExecutor.getKeepAliveTime(TimeUnit.MILLISECONDS);
 
    }
 
@@ -355,7 +356,7 @@
          else
          {
 
-            Thread thread = getThreadFactory().newThread(cmd);
+            Thread thread = Executors.defaultThreadFactory().newThread(cmd);
 
             thread.start();
 
@@ -402,5 +403,19 @@
 
    }
 
+   private static class WaitWhenBlockedPolicy implements RejectedExecutionHandler
+   {
+      public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) throws RejectedExecutionException 
+      {
+         try 
+         {
+            executor.getQueue().put(r);
+         }
+         catch (InterruptedException e) 
+         {
+            throw new RejectedExecutionException(e);
+         }
+      }
+   }
 }
 

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/TimedCallableImpl.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/TimedCallableImpl.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/asynchronous/concurrent/TimedCallableImpl.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -22,9 +22,12 @@
 
 package org.jboss.aspects.asynchronous.concurrent;
 
-import EDU.oswego.cs.dl.util.concurrent.Callable;
-import EDU.oswego.cs.dl.util.concurrent.FutureResult;
-import EDU.oswego.cs.dl.util.concurrent.ThreadFactoryUser;
+import java.util.concurrent.Callable;
+import java.util.concurrent.Executors;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+
 import org.jboss.aspects.asynchronous.ProcessingTime;
 
 
@@ -33,7 +36,7 @@
  * @version <tt>$Revision$</tt>
  */
 
-public class TimedCallableImpl extends ThreadFactoryUser implements Callable, ProcessingTime
+public class TimedCallableImpl implements Callable, ProcessingTime
 {
 
    private final AdapterTask function;
@@ -57,10 +60,10 @@
    public Object call() throws Exception
    {
 
-      FutureResult result = new FutureResult();
+      FutureTask result = new FutureTask(function);
 
 
-      Thread thread = getThreadFactory().newThread(result.setter(function));
+      Thread thread = Executors.defaultThreadFactory().newThread(result);
 
       thread.start();
 
@@ -69,14 +72,14 @@
 
          startingTime = System.currentTimeMillis();
 
-         Object obj = result.timedGet(millis);
+         Object obj = result.get(millis, TimeUnit.MILLISECONDS);
 
          endingTime = System.currentTimeMillis();
 
          return obj;
 
       }
-      catch (InterruptedException ex)
+      catch(TimeoutException ex)
       {
 
          endingTime = System.currentTimeMillis();
@@ -88,6 +91,8 @@
          throw ex;
 
       }
+      
+      
 
    }
 

Modified: projects/aop/trunk/aspects/src/main/org/jboss/aspects/patterns/readwritelock/ReadWriteLockAspect.java
===================================================================
--- projects/aop/trunk/aspects/src/main/org/jboss/aspects/patterns/readwritelock/ReadWriteLockAspect.java	2007-06-07 17:44:54 UTC (rev 63392)
+++ projects/aop/trunk/aspects/src/main/org/jboss/aspects/patterns/readwritelock/ReadWriteLockAspect.java	2007-06-07 17:51:31 UTC (rev 63393)
@@ -22,8 +22,9 @@
 package org.jboss.aspects.patterns.readwritelock;
 
 
-import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
-import EDU.oswego.cs.dl.util.concurrent.ReentrantWriterPreferenceReadWriteLock;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
 import org.jboss.aop.joinpoint.MethodInvocation;
 
 /**
@@ -33,7 +34,7 @@
 public class ReadWriteLockAspect
 {
 
-   private ReadWriteLock readWriteLock = new ReentrantWriterPreferenceReadWriteLock();
+   private ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
 
    public ReadWriteLockAspect()
    {
@@ -46,12 +47,12 @@
 
       try
       {
-         readWriteLock.readLock().acquire();
+         readWriteLock.readLock().lock();
          result= invocation.invokeNext();
       }
       finally
       {
-   		readWriteLock.readLock().release();
+   		readWriteLock.readLock().unlock();
       }
       return result;
    }
@@ -62,12 +63,12 @@
 
       try
       {
-         readWriteLock.writeLock().acquire();
+         readWriteLock.writeLock().lock();
          result= invocation.invokeNext();
       }
       finally
       {
-   		readWriteLock.writeLock().release();
+   		readWriteLock.writeLock().unlock();
       }
      return result;
    }




More information about the jboss-cvs-commits mailing list