You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2016/12/03 16:56:33 UTC

[39/50] tomee git commit: TOMEE-1878 ensure we don't use AlternateDriver when we don't need

TOMEE-1878 ensure we don't use AlternateDriver when we don't need


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/e1b49874
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/e1b49874
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/e1b49874

Branch: refs/heads/tomee-1.7.x
Commit: e1b498744751321d33861c458c3b99fe36372c7c
Parents: 1965d0f
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Wed Jul 20 15:10:20 2016 +0200
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Thu Aug 11 17:46:52 2016 +0100

----------------------------------------------------------------------
 .../org/apache/openejb/assembler/classic/Assembler.java   |  6 ++++++
 .../apache/openejb/config/typed/DataSourceBuilder.java    |  2 +-
 .../apache/openejb/resource/jdbc/DataSourceFactory.java   |  5 +++--
 .../resources/META-INF/org.apache.openejb/service-jar.xml | 10 +++++++---
 4 files changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/e1b49874/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
index 06ce2f3..dad28ac 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
@@ -180,6 +180,8 @@ import javax.resource.spi.ResourceAdapter;
 import javax.resource.spi.ResourceAdapterInternalException;
 import javax.resource.spi.XATerminator;
 import javax.resource.spi.work.WorkManager;
+import javax.servlet.ServletContext;
+import javax.sql.CommonDataSource;
 import javax.sql.DataSource;
 import javax.transaction.TransactionManager;
 import javax.transaction.TransactionSynchronizationRegistry;
@@ -2707,6 +2709,7 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
                 }
                 loader = new URLClassLoaderFirst(urls, loader);
                 customLoader = true;
+                serviceRecipe.setProperty("OpenEJBResourceClasspath", "true");
             }
         } catch (final MalformedURLException e) {
             throw new OpenEJBException("Unable to create a classloader for " + serviceInfo.id, e);
@@ -3151,6 +3154,9 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
             if (property.equalsIgnoreCase("ApplicationWide")) {
                 return;
             }
+            if (property.equalsIgnoreCase("OpenEJBResourceClasspath")) {
+                continue;
+            }
             if (property.equalsIgnoreCase("transactionManager")) {
                 return;
             }

http://git-wip-us.apache.org/repos/asf/tomee/blob/e1b49874/container/openejb-core/src/main/java/org/apache/openejb/config/typed/DataSourceBuilder.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/typed/DataSourceBuilder.java b/container/openejb-core/src/main/java/org/apache/openejb/config/typed/DataSourceBuilder.java
index ccfc01c..e9a5bc1 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/typed/DataSourceBuilder.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/typed/DataSourceBuilder.java
@@ -98,7 +98,7 @@ public class DataSourceBuilder extends Resource {
         setType("javax.sql.DataSource");
         setId("DataSource");
 
-        setConstructor("serviceId, jtaManaged, jdbcDriver, definition, maxWaitTime, timeBetweenEvictionRuns, minEvictableIdleTime");
+        setConstructor("serviceId, jtaManaged, jdbcDriver, definition, maxWaitTime, timeBetweenEvictionRuns, minEvictableIdleTime, OpenEJBResourceClasspath");
 
         setFactoryName("create");
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/e1b49874/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
index 72ac587..514e505 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
@@ -88,7 +88,8 @@ public class DataSourceFactory {
                                           final String definition,
                                           final Duration maxWaitTime,
                                           final Duration timeBetweenEvictionRuns,
-                                          final Duration minEvictableIdleTime) throws IllegalAccessException, InstantiationException, IOException {
+                                          final Duration minEvictableIdleTime,
+                                          final boolean useAlternativeDriver) throws IllegalAccessException, InstantiationException, IOException {
         final Properties properties = asProperties(definition);
 
         final boolean flushable = SystemInstance.get().getOptions().get(GLOBAL_FLUSH_PROPERTY,
@@ -124,7 +125,7 @@ public class DataSourceFactory {
         final String jdbcUrl = properties.getProperty("JdbcUrl");
 
         final AlternativeDriver driver;
-        if (Driver.class.isAssignableFrom(impl) && jdbcUrl != null) {
+        if (Driver.class.isAssignableFrom(impl) && jdbcUrl != null && useAlternativeDriver) {
             try {
                 driver = new AlternativeDriver((Driver) impl.newInstance(), jdbcUrl);
                 driver.register();

http://git-wip-us.apache.org/repos/asf/tomee/blob/e1b49874/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml b/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
index e366823..f26b1ca 100644
--- a/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
+++ b/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
@@ -578,7 +578,7 @@
       service="Resource"
       types="javax.sql.DataSource, DataSource"
       factory-name="create"
-      constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime"
+          constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime, OpenEJBResourceClasspath"
       class-name="org.apache.openejb.resource.jdbc.DataSourceFactory">
     ServiceId
 
@@ -777,6 +777,8 @@
     # use only all set values in this config
     # will need a lot of properties but allow to not set some values
     IgnoreDefaultValues = false
+    
+    OpenEJBResourceClasspath = false
   </ServiceProvider>
 
   <ServiceProvider
@@ -784,7 +786,7 @@
       service="Resource"
       types="javax.sql.DataSource, DataSource"
       factory-name="create"
-      constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime"
+          constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime, OpenEJBResourceClasspath"
       class-name="org.apache.openejb.resource.jdbc.DataSourceFactory">
     ServiceId
 
@@ -817,7 +819,7 @@
     #
     # NOTE - The "user" and "password" properties will be passed
     # explicitly, so they do not need to be included here.
-
+    
     ConnectionProperties
 
     # The default auto-commit state of new connections
@@ -966,6 +968,8 @@
     # original logical connection wrapper.
 
     AccessToUnderlyingConnectionAllowed false
+    
+    OpenEJBResourceClasspath = false
   </ServiceProvider>
 
   <!--