You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2016/08/11 16:52:03 UTC
[1/2] tomee git commit: TOMEE-1878 ensure we don't use
AlternateDriver when we don't need
Repository: tomee
Updated Branches:
refs/heads/tomee-1.7.x 1965d0f5b -> d67038b96
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>
<!--
[2/2] tomee git commit: Fix merge issues
Posted by jg...@apache.org.
Fix merge issues
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/d67038b9
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/d67038b9
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/d67038b9
Branch: refs/heads/tomee-1.7.x
Commit: d67038b961c16979c2fe845855d40806cf89e374
Parents: e1b4987
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Thu Aug 11 17:48:28 2016 +0100
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Thu Aug 11 17:48:28 2016 +0100
----------------------------------------------------------------------
.../openejb/assembler/classic/Assembler.java | 2 --
.../resource/jdbc/DataSourceFactory.java | 2 +-
.../jdbc/FlushableDataSourceHandler.java | 20 ++++++++++++++++----
3 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/d67038b9/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 dad28ac..e1a33b2 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,8 +180,6 @@ 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;
http://git-wip-us.apache.org/repos/asf/tomee/blob/d67038b9/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 514e505..d88e52d 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
@@ -101,7 +101,7 @@ public class DataSourceFactory {
flushConfig = new FlushableDataSourceHandler.FlushConfig(
name, configuredManaged,
impl, PropertiesHelper.propertiesToString(properties),
- maxWaitTime, timeBetweenEvictionRuns, minEvictableIdleTime);
+ maxWaitTime, timeBetweenEvictionRuns, minEvictableIdleTime, useAlternativeDriver);
} else {
flushConfig = null;
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/d67038b9/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/FlushableDataSourceHandler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/FlushableDataSourceHandler.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/FlushableDataSourceHandler.java
index 5b974ed..993b271 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/FlushableDataSourceHandler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/FlushableDataSourceHandler.java
@@ -20,6 +20,7 @@ import org.apache.openejb.util.Duration;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
+import javax.sql.CommonDataSource;
import java.io.Flushable;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
@@ -27,7 +28,6 @@ import java.lang.reflect.Method;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import javax.sql.CommonDataSource;
public class FlushableDataSourceHandler implements InvocationHandler {
private static final Logger LOGGER = Logger.getInstance(LogCategory.OPENEJB, FlushableDataSourceHandler.class);
@@ -44,7 +44,16 @@ public class FlushableDataSourceHandler implements InvocationHandler {
private void createANewDelegate() {
final CommonDataSource old = delegate;
try {
- this.delegate = DataSourceFactory.create(config.name, config.configuredManaged, config.impl, config.definition, config.maxWaitTime, config.timeBetweenEvictionRuns, config.minEvictableIdleTime);
+ this.delegate = DataSourceFactory.create(
+ config.name,
+ config.configuredManaged,
+ config.impl,
+ config.definition,
+ config.maxWaitTime,
+ config.timeBetweenEvictionRuns,
+ config.minEvictableIdleTime,
+ config.useAlternativeDriver);
+
} catch (final Exception e) {
LOGGER.error("Can't recreate the datasource, keeping old one", e);
this.delegate = old;
@@ -104,8 +113,10 @@ public class FlushableDataSourceHandler implements InvocationHandler {
public final Duration maxWaitTime;
public final Duration timeBetweenEvictionRuns;
public final Duration minEvictableIdleTime;
+ private final boolean useAlternativeDriver;
- public FlushConfig(final String name, final boolean configuredManaged, final Class impl, final String definition, final Duration maxWaitTime, final Duration timeBetweenEvictionRuns, final Duration minEvictableIdleTime) {
+ public FlushConfig(final String name, final boolean configuredManaged, final Class impl, final String definition, final Duration maxWaitTime, final Duration timeBetweenEvictionRuns, final Duration minEvictableIdleTime,
+ final boolean useAlternativeDriver) {
this.name = name;
this.impl = impl;
this.configuredManaged = configuredManaged;
@@ -113,6 +124,7 @@ public class FlushableDataSourceHandler implements InvocationHandler {
this.maxWaitTime = maxWaitTime;
this.timeBetweenEvictionRuns = timeBetweenEvictionRuns;
this.minEvictableIdleTime = minEvictableIdleTime;
+ this.useAlternativeDriver = useAlternativeDriver;
}
}
-}
\ No newline at end of file
+}