You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/09/27 21:47:59 UTC

svn commit: r1176572 - in /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/Assembler.java config/AutoConfig.java resource/jdbc/DataSourceFactory.java

Author: rmannibucau
Date: Tue Sep 27 19:47:59 2011
New Revision: 1176572

URL: http://svn.apache.org/viewvc?rev=1176572&view=rev
Log:
trimming not managed properties for datasources

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1176572&r1=1176571&r2=1176572&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Tue Sep 27 19:47:59 2011
@@ -16,56 +16,6 @@
  */
 package org.apache.openejb.assembler.classic;
 
-import java.io.File;
-import java.io.IOException;
-import java.lang.instrument.ClassFileTransformer;
-import java.lang.instrument.Instrumentation;
-import java.lang.management.ManagementFactory;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.concurrent.Executor;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanRegistrationException;
-import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.naming.Binding;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameAlreadyBoundException;
-import javax.naming.NamingEnumeration;
-import javax.naming.NamingException;
-import javax.persistence.EntityManagerFactory;
-import javax.resource.spi.BootstrapContext;
-import javax.resource.spi.ConnectionManager;
-import javax.resource.spi.ManagedConnectionFactory;
-import javax.resource.spi.ResourceAdapter;
-import javax.resource.spi.ResourceAdapterInternalException;
-import javax.resource.spi.XATerminator;
-import javax.resource.spi.work.WorkManager;
-import javax.transaction.TransactionManager;
-import javax.transaction.TransactionSynchronizationRegistry;
-import javax.validation.ValidationException;
-import javax.validation.ValidatorFactory;
-
 import org.apache.geronimo.connector.GeronimoBootstrapContext;
 import org.apache.geronimo.connector.work.GeronimoWorkManager;
 import org.apache.geronimo.connector.work.HintsContextHandler;
@@ -140,6 +90,55 @@ import org.apache.xbean.recipe.ObjectRec
 import org.apache.xbean.recipe.Option;
 import org.apache.xbean.recipe.UnsetPropertiesRecipe;
 
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanRegistrationException;
+import javax.management.MBeanServer;
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+import javax.naming.Binding;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameAlreadyBoundException;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.persistence.EntityManagerFactory;
+import javax.resource.spi.BootstrapContext;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.resource.spi.ResourceAdapter;
+import javax.resource.spi.ResourceAdapterInternalException;
+import javax.resource.spi.XATerminator;
+import javax.resource.spi.work.WorkManager;
+import javax.transaction.TransactionManager;
+import javax.transaction.TransactionSynchronizationRegistry;
+import javax.validation.ValidationException;
+import javax.validation.ValidatorFactory;
+import java.io.File;
+import java.io.IOException;
+import java.lang.instrument.ClassFileTransformer;
+import java.lang.instrument.Instrumentation;
+import java.lang.management.ManagementFactory;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Properties;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.atomic.AtomicInteger;
+
 public class Assembler extends AssemblerTool implements org.apache.openejb.spi.Assembler, JndiConstants {
 
     static {

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1176572&r1=1176571&r2=1176572&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Tue Sep 27 19:47:59 2011
@@ -91,6 +91,7 @@ import static java.util.Arrays.asList;
 import static org.apache.openejb.config.ServiceUtils.ANY;
 import static org.apache.openejb.config.ServiceUtils.NONE;
 import static org.apache.openejb.config.ServiceUtils.hasServiceProvider;
+import static org.apache.openejb.resource.jdbc.DataSourceFactory.trimNotSupportedDataSourceProperties;
 import static org.apache.openejb.util.Join.join;
 
 public class AutoConfig implements DynamicDeployer, JndiConstants {
@@ -856,6 +857,13 @@ public class AutoConfig implements Dynam
         }
 
         for (Resource resource : resources) {
+            Properties properties = resource.getProperties();
+
+            if (DataSource.class.getName().equals(resource.getType())
+                || DataSource.class.getSimpleName().equals(resource.getType())) {
+                trimNotSupportedDataSourceProperties(properties);
+            }
+
             ResourceInfo resourceInfo = configFactory.configureService(resource, ResourceInfo.class);
             final ResourceRef resourceRef = new ResourceRef();
             resourceRef.setResType(resource.getType());
@@ -863,10 +871,10 @@ public class AutoConfig implements Dynam
             if (DataSource.class.getName().equals(resource.getType())
                     && resource.getProperties().containsKey(ORIGIN_FLAG)
                     && resource.getProperties().getProperty(ORIGIN_FLAG).equals(ORIGIN_ANNOTATION)) {
+                properties.remove(ORIGIN_FLAG);
 
                 resourceInfo.id = module.getModuleId() + "/" + resourceInfo.id;
 
-                Properties properties = resource.getProperties();
                 if (properties.get("JdbcUrl") == null) {
                     final String url = getVendorUrl(properties);
                     if (url != null) {
@@ -874,10 +882,6 @@ public class AutoConfig implements Dynam
                     }
                 }
 
-                // these properties are not supported by dbcp
-                properties.remove("LoginTimeout");
-                properties.remove(ORIGIN_FLAG);
-
                 resourceRef.setResRefName(dataSourceLookupName(resource));
             } else {
                 resourceRef.setResRefName(OPENEJB_RESOURCE_JNDI_PREFIX + resourceInfo.id);

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java?rev=1176572&r1=1176571&r2=1176572&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java Tue Sep 27 19:47:59 2011
@@ -78,9 +78,14 @@ public class DataSourceFactory {
         final ByteArrayInputStream in = new ByteArrayInputStream(definition.getBytes());
         final Properties properties = new Properties();
         properties.load(in);
+        trimNotSupportedDataSourceProperties(properties);
         return properties;
     }
 
+    public static void trimNotSupportedDataSourceProperties(Properties properties) {
+        properties.remove("LoginTimeout");
+    }
+
     public static DataSource create(boolean managed) {
         org.apache.commons.dbcp.BasicDataSource ds;
         if (managed) {