[jboss-cvs] JBossAS SVN: r65733 - in branches/Branch_4_2/ejb3/src: main/org/jboss/injection and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Oct 1 18:28:43 EDT 2007
Author: bdecoste
Date: 2007-10-01 18:28:43 -0400 (Mon, 01 Oct 2007)
New Revision: 65733
Modified:
branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java
branches/Branch_4_2/ejb3/src/main/org/jboss/injection/AbstractPropertyInjector.java
branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/MetricsUnitTestCase.java
branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java
Log:
[EJBTHREE-883] reinject transient on activation
Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java 2007-10-01 22:00:25 UTC (rev 65732)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java 2007-10-01 22:28:43 UTC (rev 65733)
@@ -21,8 +21,10 @@
*/
package org.jboss.ejb3.stateful;
+import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.util.Hashtable;
import java.util.Map;
@@ -60,7 +62,7 @@
import org.jboss.ejb3.proxy.EJBMetaDataImpl;
import org.jboss.ejb3.proxy.handle.HomeHandleImpl;
import org.jboss.injection.Injector;
-import org.jboss.injection.JndiFieldInjector;
+import org.jboss.injection.JndiPropertyInjector;
import org.jboss.logging.Logger;
/**
@@ -387,14 +389,21 @@
{
for (Injector injector : injectors)
{
- if (injector instanceof JndiFieldInjector)
+ if (injector instanceof JndiPropertyInjector)
{
- Field field = ((JndiFieldInjector) injector).getField();
+ AccessibleObject field = ((JndiPropertyInjector) injector).getAccessibleObject();
+
if (field.isAnnotationPresent(javax.ejb.EJB.class))
{
continue; // skip nested EJB injection since the local proxy will be (de)serialized correctly
}
- injector.inject(beanContext);
+
+ if (field instanceof Field)
+ {
+ // reinject transient fields
+ if ((((Field)field).getModifiers() & Modifier.TRANSIENT) > 0)
+ injector.inject(beanContext);
+ }
}
}
callbackHandler.postActivate(beanContext);
Modified: branches/Branch_4_2/ejb3/src/main/org/jboss/injection/AbstractPropertyInjector.java
===================================================================
--- branches/Branch_4_2/ejb3/src/main/org/jboss/injection/AbstractPropertyInjector.java 2007-10-01 22:00:25 UTC (rev 65732)
+++ branches/Branch_4_2/ejb3/src/main/org/jboss/injection/AbstractPropertyInjector.java 2007-10-01 22:28:43 UTC (rev 65733)
@@ -21,6 +21,8 @@
*/
package org.jboss.injection;
+import java.lang.reflect.AccessibleObject;
+
import org.jboss.ejb3.BeanContext;
import org.jboss.injection.lang.reflect.BeanProperty;
@@ -48,4 +50,9 @@
{
inject(ctx.getInstance());
}
+
+ public AccessibleObject getAccessibleObject()
+ {
+ return property.getAccessibleObject();
+ }
}
Modified: branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/MetricsUnitTestCase.java
===================================================================
--- branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/MetricsUnitTestCase.java 2007-10-01 22:00:25 UTC (rev 65732)
+++ branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/MetricsUnitTestCase.java 2007-10-01 22:28:43 UTC (rev 65733)
@@ -100,8 +100,7 @@
assertFalse(stateful.testSessionContext());
- // Wolf: transient re-injection is broken (EJBTHREE-883)
- //stateful.testResources();
+ stateful.testResources();
count = (Integer)server.getAttribute(testerName, "CreateCount");
assertEquals(2, count);
Modified: branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java
===================================================================
--- branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java 2007-10-01 22:00:25 UTC (rev 65732)
+++ branches/Branch_4_2/ejb3/src/test/org/jboss/ejb3/test/stateful/unit/RemoteUnitTestCase.java 2007-10-01 22:28:43 UTC (rev 65733)
@@ -563,8 +563,7 @@
assertFalse(stateful.testSessionContext());
- // Wolf: transient re-injection is broken (EJBTHREE-883)
- //stateful.testResources();
+ stateful.testResources();
stateless.testInjection();
More information about the jboss-cvs-commits
mailing list