You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2011/07/14 03:26:12 UTC
svn commit: r1146536 -
/geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/XBeanJndiFactory.java
Author: xuhaihong
Date: Thu Jul 14 01:26:11 2011
New Revision: 1146536
URL: http://svn.apache.org/viewvc?rev=1146536&view=rev
Log:
Only bind the data source reference to the openejb global tree
Modified:
geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/XBeanJndiFactory.java
Modified: geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/XBeanJndiFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/XBeanJndiFactory.java?rev=1146536&r1=1146535&r2=1146536&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/XBeanJndiFactory.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb/src/main/java/org/apache/geronimo/openejb/XBeanJndiFactory.java Thu Jul 14 01:26:11 2011
@@ -21,15 +21,13 @@
package org.apache.geronimo.openejb;
import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import javax.naming.Context;
import javax.naming.NamingException;
-import org.apache.geronimo.gjndi.FederatedContext;
-import org.apache.geronimo.j2ee.jndi.JndiKey;
-import org.apache.geronimo.j2ee.jndi.JndiScope;
+import javax.naming.Reference;
+
+import org.apache.geronimo.datasource.DataSourceService;
import org.apache.openejb.SystemException;
import org.apache.openejb.core.JndiFactory;
import org.apache.xbean.naming.context.ImmutableFederatedContext;
@@ -84,29 +82,32 @@ public class XBeanJndiFactory implements
public void addGlobals(Map<String, Object> globals) {
for (Map.Entry<String, Object> entry: globals.entrySet()) {
- //No need to bind/unbind the empty global/env context built in ApplicationJndi
- if (entry.getKey().equals("global/env")) {
- continue;
- }
- String name = "openejb/global/" + entry.getKey();
- try {
- rootContext.bind(name, entry.getValue());
- } catch (NamingException e) {
- //??
+ if (entry.getValue() instanceof Reference) {
+ Reference ref = (Reference)entry.getValue();
+ if(ref.getClassName().equals(DataSourceService.class.getName())) {
+ String name = "openejb/global/" + entry.getKey();
+ try {
+ rootContext.bind(name, entry.getValue());
+ } catch (Exception ignore) {
+ //??
+ }
+ }
}
}
}
public void removeGlobals(Map<String, Object> globals) {
for (Map.Entry<String, Object> entry: globals.entrySet()) {
- if(entry.getKey().equals("global/env")) {
- continue;
- }
- String name = "openejb/global/" + entry.getKey();
- try {
- rootContext.unbind(name);
- } catch (NamingException e) {
- //??
+ if (entry.getValue() instanceof Reference) {
+ Reference ref = (Reference)entry.getValue();
+ if(ref.getClassName().equals(DataSourceService.class.getName())) {
+ String name = "openejb/global/" + entry.getKey();
+ try {
+ rootContext.unbind(name);
+ } catch (NamingException e) {
+ //??
+ }
+ }
}
}
}