You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/03/06 02:37:44 UTC
svn commit: r514947 -
/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbInstanceFactory.java
Author: dblevins
Date: Mon Mar 5 17:37:43 2007
New Revision: 514947
URL: http://svn.apache.org/viewvc?view=rev&rev=514947
Log:
Added in injection code
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbInstanceFactory.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbInstanceFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbInstanceFactory.java?view=diff&rev=514947&r1=514946&r2=514947
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbInstanceFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbInstanceFactory.java Mon Mar 5 17:37:43 2007
@@ -22,6 +22,7 @@
import org.apache.openejb.core.Operation;
import org.apache.openejb.core.ThreadContext;
import org.apache.openejb.spi.SecurityService;
+import org.apache.openejb.Injection;
import org.apache.xbean.recipe.ObjectRecipe;
import org.apache.xbean.recipe.Option;
import org.apache.xbean.recipe.StaticRecipe;
@@ -172,6 +173,22 @@
} catch (NamingException e) {
mdbContext = new MdbContext(transactionManager, securityService);
ctx.bind("java:comp/EJBContext",mdbContext);
+ }
+ for (Injection injection : deploymentInfo.getInjections()) {
+ try {
+ String jndiName = injection.getJndiName();
+ Object object = ctx.lookup("java:comp/env/" + jndiName);
+ if (object instanceof String) {
+ String string = (String) object;
+ // Pass it in raw so it could be potentially converted to
+ // another data type by an xbean-reflect property editor
+ objectRecipe.setProperty(injection.getName(), string);
+ } else {
+ objectRecipe.setProperty(injection.getName(), new StaticRecipe(object));
+ }
+ } catch (NamingException e) {
+ logger.warn("Injection data not found in enc: jndiName='"+injection.getJndiName()+"', target="+injection.getTarget()+"/"+injection.getName());
+ }
}
// only in this case should the callback be used
callContext.setCurrentOperation(Operation.INJECTION);