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 2016/07/20 13:10:45 UTC
tomee git commit: TOMEE-1878 ensure we don't use AlternateDriver when
we don't need
Repository: tomee
Updated Branches:
refs/heads/master ff7c4dba6 -> 0d684b1bd
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/0d684b1b
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/0d684b1b
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/0d684b1b
Branch: refs/heads/master
Commit: 0d684b1bda24e5906a39c65b274af01202ce0c09
Parents: ff7c4db
Author: Romain manni-Bucau <rm...@gmail.com>
Authored: Wed Jul 20 15:10:20 2016 +0200
Committer: Romain manni-Bucau <rm...@gmail.com>
Committed: Wed Jul 20 15:10:20 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/openejb/assembler/classic/Assembler.java | 5 +++++
.../org/apache/openejb/config/typed/DataSourceBuilder.java | 2 +-
.../org/apache/openejb/resource/jdbc/DataSourceFactory.java | 5 +++--
.../resources/META-INF/org.apache.openejb/service-jar.xml | 8 ++++++--
4 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/0d684b1b/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 ff32a27..44bb9dd 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
@@ -197,6 +197,7 @@ 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;
@@ -2953,6 +2954,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);
@@ -3426,6 +3428,9 @@ public class Assembler extends AssemblerTool implements org.apache.openejb.spi.A
if (property.equalsIgnoreCase("ApplicationWide")) {
continue;
}
+ if (property.equalsIgnoreCase("OpenEJBResourceClasspath")) {
+ continue;
+ }
if (isInternalProperty(property)) {
continue;
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/0d684b1b/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/0d684b1b/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 41aeb45..9ff5321 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
@@ -97,7 +97,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 Set<String> originalKeys = properties.stringPropertyNames();
@@ -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/0d684b1b/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 3419006..1df40e3 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
@@ -590,7 +590,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">
# Determines wether or not this data source should be JTA managed
# or user managed. If set to 'true' it will automatically be enrolled
@@ -622,6 +622,8 @@
Password =
PasswordCipher = PlainText
+
+ OpenEJBResourceClasspath = false
</ServiceProvider>
<ServiceProvider
@@ -629,7 +631,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">
JtaManaged = false
@@ -650,6 +652,8 @@
Password =
PasswordCipher = PlainText
+
+ OpenEJBResourceClasspath = false
</ServiceProvider>
<!--