[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