[jboss-cvs] JBossAS SVN: r107263 - in projects/ejb3/trunk/core: src/main/java/org/jboss/ejb3 and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Aug 2 10:51:44 EDT 2010
Author: jaikiran
Date: 2010-08-02 10:51:44 -0400 (Mon, 02 Aug 2010)
New Revision: 107263
Modified:
projects/ejb3/trunk/core/pom.xml
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java
Log:
EJBTHREE-2138 Upgrade to 0.2.0-SNAPSHOT of ejb3-timeout
Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml 2010-08-02 14:01:29 UTC (rev 107262)
+++ projects/ejb3/trunk/core/pom.xml 2010-08-02 14:51:44 UTC (rev 107263)
@@ -496,13 +496,13 @@
<dependency>
<groupId>org.jboss.ejb3.timeout</groupId>
<artifactId>jboss-ejb3-timeout-spi</artifactId>
- <version>0.1.1</version>
+ <version>0.2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jboss.ejb3.timeout</groupId>
<artifactId>jboss-ejb3-timeout-3.0</artifactId>
- <version>0.1.1</version>
+ <version>0.2.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java 2010-08-02 14:01:29 UTC (rev 107262)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java 2010-08-02 14:51:44 UTC (rev 107263)
@@ -69,12 +69,10 @@
import org.jboss.aop.MethodInfo;
import org.jboss.aop.advice.AdviceStack;
import org.jboss.aop.advice.Interceptor;
-import org.jboss.aop.advice.PerVmAdvice;
import org.jboss.aop.annotation.AnnotationRepository;
import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.microcontainer.annotations.DisableAOP;
import org.jboss.aop.util.MethodHashing;
-import org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor;
import org.jboss.beans.metadata.api.annotations.Inject;
import org.jboss.ejb.AllowedOperationsAssociation;
import org.jboss.ejb3.annotation.Clustered;
@@ -87,7 +85,6 @@
import org.jboss.ejb3.injection.InjectionInvocation;
import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
import org.jboss.ejb3.interceptor.InterceptorInjector;
-import org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor;
import org.jboss.ejb3.interceptors.container.ManagedObjectAdvisor;
import org.jboss.ejb3.interceptors.direct.DirectContainer;
import org.jboss.ejb3.interceptors.direct.IndirectContainer;
@@ -134,6 +131,7 @@
import org.jboss.metadata.ejb.spec.ApplicationExceptionMetaData;
import org.jboss.metadata.ejb.spec.InterceptorMetaData;
import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
+import org.jboss.metadata.ejb.spec.MethodParametersMetaData;
import org.jboss.metadata.ejb.spec.NamedMethodMetaData;
import org.jboss.metadata.javaee.spec.Environment;
import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
@@ -1132,16 +1130,22 @@
protected Method getTimeoutCallback(NamedMethodMetaData timeoutMethodMetaData, Class<?> beanClass)
{
String methodName = null;
+ Class<?>[] timeoutMethodParams = null;
JBossEnterpriseBeanMetaData metaData = xml;
if(metaData != null)
{
if(timeoutMethodMetaData != null)
{
+ // timeout method name
methodName = timeoutMethodMetaData.getMethodName();
+ // timeout method params
+ MethodParametersMetaData methodParams = timeoutMethodMetaData.getMethodParams();
+ String[] paramTypes = methodParams == null ? null : methodParams.toArray(new String[methodParams.size()]);
+ timeoutMethodParams = this.loadTimeoutMethodParamTypes(beanClass.getClassLoader(), paramTypes);
}
}
- Method timeoutMethod = timeoutMethodCallbackRequirements.getTimeoutMethod(beanClass, methodName);
+ Method timeoutMethod = timeoutMethodCallbackRequirements.getTimeoutMethod(beanClass, methodName, timeoutMethodParams);
if(timeoutMethod != null)
return timeoutMethod;
@@ -1178,6 +1182,37 @@
return null;
}
+ /**
+ * Loads the classes passed through the <code>paramTypes</code>, using the <code>cl</code> {@link ClassLoader}
+ *
+ * @param cl {@link ClassLoader} which will be used to load the param types
+ * @param paramTypes The fully qualified type names
+ * @return
+ */
+ private Class<?>[] loadTimeoutMethodParamTypes(ClassLoader cl, String[] paramTypes)
+ {
+ if (paramTypes == null)
+ {
+ return null;
+ }
+ // load the method param classes
+ List<Class<?>> timeoutMethodParamTypes = new ArrayList<Class<?>>(paramTypes.length);
+ for (String paramClassName : paramTypes)
+ {
+ Class<?> methodParamClass = null;
+ try
+ {
+ methodParamClass = Class.forName(paramClassName, false, cl);
+ }
+ catch (ClassNotFoundException cnfe)
+ {
+ throw new RuntimeException("Could not load method param class: " + paramClassName + " of timeout method");
+ }
+ timeoutMethodParamTypes.add(methodParamClass);
+ }
+ return timeoutMethodParamTypes.toArray(new Class<?>[paramTypes.length]);
+ }
+
protected void initializePool() throws Exception
{
org.jboss.ejb3.annotation.Pool poolAnnotation = getAnnotation(org.jboss.ejb3.annotation.Pool.class);
More information about the jboss-cvs-commits
mailing list