tomee git commit: Formatting
Repository: tomee Updated Branches: refs/heads/tomee-1.7.x d67038b96 -> e0bd36479 Formatting Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/e0bd3647 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/e0bd3647 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/e0bd3647 Branch: refs/heads/tomee-1.7.x Commit: e0bd36479d2154bd728a1e7e7cfa8271008a2433 Parents: d67038b Author: Jonathan Gallimore Authored: Thu Aug 11 20:30:56 2016 +0100 Committer: Jonathan Gallimore Committed: Thu Aug 11 20:30:56 2016 +0100 -- .../main/resources/META-INF/org.apache.openejb/service-jar.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/e0bd3647/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 f26b1ca..35bc2f9 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, OpenEJBResourceClasspath" + constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime, OpenEJBResourceClasspath" class-name="org.apache.openejb.resource.jdbc.DataSourceFactory"> ServiceId @@ -786,7 +786,7 @@ service="Resource" types="javax.sql.DataSource, DataSource" factory-name="create" - constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime, OpenEJBResourceClasspath" + constructor="ServiceId, JtaManaged, JdbcDriver, Definition, MaxWaitTime, TimeBetweenEvictionRuns, MinEvictableIdleTime, OpenEJBResourceClasspath" class-name="org.apache.openejb.resource.jdbc.DataSourceFactory"> ServiceId
buildbot success in on tomee-trunk-ubuntu
The Buildbot has detected a restored build on builder tomee-trunk-ubuntu while building tomee. Full details are available at: https://ci.apache.org/builders/tomee-trunk-ubuntu/builds/457 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: hemera_ubuntu Build Reason: The SingleBranchScheduler scheduler named 'on-tomee-trunk-ubuntu-commit' triggered this build Build Source Stamp: [branch master] 56ec4be8bc3db9754f5d4ddc5f57206861363537 Blamelist: Romain manni-Bucau Build succeeded! Sincerely, -The Buildbot
[2/2] tomee git commit: Fix merge issues
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 Authored: Thu Aug 11 17:48:28 2016 +0100 Committer: Jonathan Gallimore 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( +
[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 Authored: Wed Jul 20 15:10:20 2016 +0200 Committer: Jonathan Gallimore 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 definit
tomee git commit: TOMEE-1900 test case where resource cannot be enlisted in tx
Repository: tomee Updated Branches: refs/heads/tomee-1.7.x 31a3491ae -> 1965d0f5b TOMEE-1900 test case where resource cannot be enlisted in tx Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/1965d0f5 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/1965d0f5 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/1965d0f5 Branch: refs/heads/tomee-1.7.x Commit: 1965d0f5b5c7bb187d7e37dc9e8b4b43ad96d6ef Parents: 31a3491 Author: Jonathan Gallimore Authored: Thu Aug 11 16:35:32 2016 +0100 Committer: Jonathan Gallimore Committed: Thu Aug 11 16:35:32 2016 +0100 -- .../jdbc/managed/local/ManagedConnection.java | 1 + .../tomee/jdbc/TomEEDataSourceCreator.java | 15 +-- .../tomee/jdbc/TomcatXADataSourceTest.java | 114 +-- 3 files changed, 112 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/1965d0f5/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java -- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java index d1c2364..452ea76 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java @@ -131,6 +131,7 @@ public class ManagedConnection implements InvocationHandler { currentTransaction = transaction; try { if (!transaction.enlistResource(getXAResource())) { +closeConnection(true); throw new SQLException("Unable to enlist connection in transaction: enlistResource returns 'false'."); } } catch (final RollbackException ignored) { http://git-wip-us.apache.org/repos/asf/tomee/blob/1965d0f5/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java -- diff --git a/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java b/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java index b855073..700d73a 100644 --- a/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java +++ b/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java @@ -48,6 +48,7 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Map; import java.util.Properties; +import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; public class TomEEDataSourceCreator extends PoolDataSourceCreator { @@ -219,6 +220,10 @@ public class TomEEDataSourceCreator extends PoolDataSourceCreator { this(poolConfiguration, name, null); } +@Override public Future getConnectionAsync() throws SQLException { +return super.getConnectionAsync(); +} + public TomEEDataSource(final PoolConfiguration poolConfiguration, final String name, final XADataSource xaDs) { super(readOnly(poolConfiguration)); if (xaDs != null) { @@ -306,16 +311,6 @@ public class TomEEDataSourceCreator extends PoolDataSourceCreator { } } } - -@Override -public Connection getConnection() throws SQLException { -return super.getConnection(); -} - -@Override -public Connection getConnection(final String username, final String password) throws SQLException { -return super.getConnection(username, password); -} } private static class ReadOnlyConnectionpool implements InvocationHandler { http://git-wip-us.apache.org/repos/asf/tomee/blob/1965d0f5/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java -- diff --git a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java index fdf151d..df9ebb7 100644 --- a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java +++ b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java @@ -32,10 +32,15 @@ import org.junit.runner.RunWith; import javax.annotation.Resource; import javax.ejb.EJB; import javax.ejb.Singleton; +import javax.sql.ConnectionEventListener;
tomee git commit: TOMEE-1900 better xa pooling handling - forcing close if xa state is broken
Repository: tomee Updated Branches: refs/heads/master 6d7565af8 -> 56ec4be8b TOMEE-1900 better xa pooling handling - forcing close if xa state is broken Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/56ec4be8 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/56ec4be8 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/56ec4be8 Branch: refs/heads/master Commit: 56ec4be8bc3db9754f5d4ddc5f57206861363537 Parents: 6d7565a Author: Romain manni-Bucau Authored: Thu Aug 11 17:22:27 2016 +0200 Committer: Romain manni-Bucau Committed: Thu Aug 11 17:22:27 2016 +0200 -- .../jdbc/managed/local/ManagedConnection.java | 1 + .../tomee/jdbc/TomcatXADataSourceTest.java | 177 +++ 2 files changed, 148 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/56ec4be8/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java -- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java index 03f963a..f357b31 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java @@ -132,6 +132,7 @@ public class ManagedConnection implements InvocationHandler { currentTransaction = transaction; try { if (!transaction.enlistResource(getXAResource())) { +closeConnection(true); throw new SQLException("Unable to enlist connection in transaction: enlistResource returns 'false'."); } } catch (final RollbackException ignored) { http://git-wip-us.apache.org/repos/asf/tomee/blob/56ec4be8/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java -- diff --git a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java index 0e19a78..306bfd2 100644 --- a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java +++ b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java @@ -5,14 +5,14 @@ * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.apache.tomee.jdbc; @@ -32,8 +32,12 @@ import org.junit.runner.RunWith; import javax.annotation.Resource; import javax.ejb.EJB; import javax.ejb.Singleton; +import javax.sql.ConnectionEventListener; import javax.sql.DataSource; +import javax.sql.StatementEventListener; +import javax.sql.XAConnection; import javax.transaction.Synchronization; +import javax.transaction.xa.XAResource; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; @@ -53,6 +57,9 @@ public class TomcatXADataSourceTest { @Resource(name = "xadb") private DataSource ds; +@Resource(name = "xadb2") +private DataSource badDs; + @EJB private TxP tx; @@ -65,28 +72,42 @@ public class TomcatXADataSourceTest { @Configuration public Properties props() { return new PropertiesBuilder() -.p("openejb.jdbc.datasource-creator", TomEEDataSourceCreator.class.getName()) - -.p("txMgr", "new://TransactionManager?type=TransactionManager") -.p("txMgr.txRecovery", "true") -.p("txMgr.logFileDir", "target/test/xa/howl") - -// real XA datasources -
tomee git commit: TOMEE-1900 expanding test
Repository: tomee Updated Branches: refs/heads/tomee-1.7.x 1f11cc3d2 -> 31a3491ae TOMEE-1900 expanding test Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/31a3491a Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/31a3491a Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/31a3491a Branch: refs/heads/tomee-1.7.x Commit: 31a3491ae42e9d1819746682727c843b9e2612e0 Parents: 1f11cc3 Author: Jonathan Gallimore Authored: Thu Aug 11 15:18:50 2016 +0100 Committer: Jonathan Gallimore Committed: Thu Aug 11 15:18:50 2016 +0100 -- .../tomee/jdbc/TomcatXADataSourceTest.java | 71 1 file changed, 71 insertions(+) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/31a3491a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java -- diff --git a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java index 56a95ce..fdf151d 100644 --- a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java +++ b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatXADataSourceTest.java @@ -33,7 +33,9 @@ import javax.annotation.Resource; import javax.ejb.EJB; import javax.ejb.Singleton; import javax.sql.DataSource; +import javax.sql.XAConnection; import javax.transaction.Synchronization; +import javax.transaction.Transaction; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; @@ -53,6 +55,9 @@ public class TomcatXADataSourceTest { @Resource(name = "xadb") private DataSource ds; +@Resource(name = "xadb2") +private DataSource badDs; + @EJB private TxP tx; @@ -86,6 +91,20 @@ public class TomcatXADataSourceTest { .p("xadb.MaxActive", "25") .p("xadb.InitialSize", "3") +.p("xa2", "new://Resource?class-name=" + BadDataSource.class.getName()) +.p("xa2.url", "jdbc:hsqldb:mem:tomcat-xa") +.p("xa2.user", "sa") +.p("xa2.password", "") +.p("xa2.SkipImplicitAttributes", "true") +.p("xa2.SkipPropertiesFallback", "true") // otherwise goes to connection properties + +.p("xadb2", "new://Resource?type=DataSource") +.p("xadb2.xaDataSource", "xa2") +.p("xadb2.JtaManaged", "true") +.p("xadb2.MaxIdle", "25") +.p("xadb2.MaxActive", "25") +.p("xadb2.InitialSize", "3") + .build(); } @@ -221,6 +240,42 @@ public class TomcatXADataSourceTest { assertEquals(0, tds.getActive()); assertEquals(25, tds.getIdle()); } + +// underlying connection closed when fetch from pool +for (int it = 0; it < 5; it++) { // ensures it always works and not only the first time +for (int i = 0; i < 25; i++) { +tx.run(new Runnable() { +@Override +public void run() { +try { +final Connection ref = badDs.getConnection(); +final Transaction transaction = OpenEJB.getTransactionManager().getTransaction(); + +transaction.registerSynchronization(new Synchronization() { +@Override +public void beforeCompletion() { +// no-op +} + +@Override +public void afterCompletion(final int status) { // JPA does it +try { +ref.close(); +} catch (final SQLException e) { +fail(e.getMessage()); +} +} +}); +ref.getMetaData(); +} catch (final Exception sql) { +// we expect this +} +} +}); +} +assertEquals(0, tds.getActive()); +assertEquals(25, tds.getIdle()); +} } @Singleton @@ -229,4 +284,20 @@ public class TomcatXADataSourceTest { r.run(); } } + +public static class BadDataSource extends JDBCXADataSource { + +public BadDataSource() throws SQLException { +} + +@Override +public XAConnection getXAConnection() throws SQLException { + +//
[1/2] tomee git commit: TOMEE-1900 better xa pooling handling
Repository: tomee Updated Branches: refs/heads/tomee-1.7.x 280808fb1 -> 1f11cc3d2 TOMEE-1900 better xa pooling handling Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/b4bd095d Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/b4bd095d Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/b4bd095d Branch: refs/heads/tomee-1.7.x Commit: b4bd095d71dce43eeae756ec56f7a037c2791eff Parents: 280808f Author: Romain manni-Bucau Authored: Thu Aug 11 13:59:59 2016 +0200 Committer: Jonathan Gallimore Committed: Thu Aug 11 13:59:17 2016 +0100 -- .../jdbc/managed/local/ManagedConnection.java | 55 + .../tomee/jdbc/TomcatXADataSourceTest.java | 113 +++ 2 files changed, 145 insertions(+), 23 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/b4bd095d/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java -- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java index 5b03dd5..c73250a 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java @@ -101,9 +101,12 @@ public class ManagedConnection implements InvocationHandler { return null; } -closeConnection(xaConnection, delegate); +closeConnection(true); return null; } +if ("isClosed".equals(mtdName) && closed) { +return true; +} if (delegate == null) { newConnection(); } @@ -115,27 +118,29 @@ public class ManagedConnection implements InvocationHandler { if (!currentTransaction.equals(transaction)) { throw new SQLException("Connection can not be used while enlisted in another transaction"); } -return invokeUnderTransaction(delegate, method, args); +return invokeUnderTransaction(method, args); } // get the already bound connection to the current transaction or enlist this one in the tx -if (isUnderTransaction(transaction.getStatus())) { +final int transactionStatus = transaction.getStatus(); +if (isUnderTransaction(transactionStatus)) { Connection connection = Connection.class.cast(registry.getResource(key)); if (connection == null && delegate == null) { newConnection(); -connection = delegate; -registry.putResource(key, delegate); currentTransaction = transaction; try { -transaction.enlistResource(getXAResource()); +if (!transaction.enlistResource(getXAResource())) { +throw new SQLException("Unable to enlist connection in transaction: enlistResource returns 'false'."); +} } catch (final RollbackException ignored) { // no-op } catch (final SystemException e) { throw new SQLException("Unable to enlist connection the transaction", e); } -transaction.registerSynchronization(new ClosingSynchronization(xaConnection, delegate)); +registry.putResource(key, delegate); +transaction.registerSynchronization(new ClosingSynchronization()); try { setAutoCommit(false); @@ -152,7 +157,14 @@ public class ManagedConnection implements InvocationHandler { delegate = connection; } -return invokeUnderTransaction(connection, method, args); +return invokeUnderTransaction(method, args); +} + +if ("isClosed".equals(mtdName) && closed) { +return true; +} +if ("close".equals(mtdName)) { // let it be handled by the ClosingSynchronisation since we have a tx there +return close(); } // we shouldn't come here, tempted to just throw an exception @@ -171,8 +183,8 @@ public class ManagedConnection implements InvocationHandler { (key.user ==
[2/2] tomee git commit: PMD
PMD Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/1f11cc3d Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/1f11cc3d Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/1f11cc3d Branch: refs/heads/tomee-1.7.x Commit: 1f11cc3d2194c3257fd96cf860e88095960753d6 Parents: b4bd095 Author: Jonathan Gallimore Authored: Thu Aug 11 14:01:32 2016 +0100 Committer: Jonathan Gallimore Committed: Thu Aug 11 14:01:32 2016 +0100 -- .../openejb/resource/jdbc/managed/local/ManagedConnection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/1f11cc3d/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java -- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java index c73250a..d1c2364 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java @@ -124,7 +124,7 @@ public class ManagedConnection implements InvocationHandler { // get the already bound connection to the current transaction or enlist this one in the tx final int transactionStatus = transaction.getStatus(); if (isUnderTransaction(transactionStatus)) { -Connection connection = Connection.class.cast(registry.getResource(key)); +final Connection connection = Connection.class.cast(registry.getResource(key)); if (connection == null && delegate == null) { newConnection();
buildbot success in on tomee-1.7.x-ubuntu
The Buildbot has detected a restored build on builder tomee-1.7.x-ubuntu while building . Full details are available at: https://ci.apache.org/builders/tomee-1.7.x-ubuntu/builds/138 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: hemera_ubuntu Build Reason: forced: by IRC user on channel #openejb: None Build Source Stamp: HEAD Blamelist: Build succeeded! Sincerely, -The Buildbot
[jira] [Resolved] (TOMEE-1900) XAConnection wrongly pooled when not fully handled in transaction (JPA case)
[ https://issues.apache.org/jira/browse/TOMEE-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Romain Manni-Bucau resolved TOMEE-1900. --- Resolution: Fixed > XAConnection wrongly pooled when not fully handled in transaction (JPA case) > > > Key: TOMEE-1900 > URL: https://issues.apache.org/jira/browse/TOMEE-1900 > Project: TomEE > Issue Type: Bug >Reporter: Romain Manni-Bucau >Assignee: Romain Manni-Bucau > Fix For: 7.0.2 > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (TOMEE-1900) XAConnection wrongly pooled when not fully handled in transaction (JPA case)
Romain Manni-Bucau created TOMEE-1900: - Summary: XAConnection wrongly pooled when not fully handled in transaction (JPA case) Key: TOMEE-1900 URL: https://issues.apache.org/jira/browse/TOMEE-1900 Project: TomEE Issue Type: Bug Reporter: Romain Manni-Bucau Assignee: Romain Manni-Bucau Fix For: 7.0.2 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
tomee git commit: TOMEE-1900 better xa pooling handling
Repository: tomee Updated Branches: refs/heads/master c9e7fcf5f -> 6d7565af8 TOMEE-1900 better xa pooling handling Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/6d7565af Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/6d7565af Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/6d7565af Branch: refs/heads/master Commit: 6d7565af8f6c216644d32dd724bb5a6cd44dc6c5 Parents: c9e7fcf Author: Romain manni-Bucau Authored: Thu Aug 11 13:59:59 2016 +0200 Committer: Romain manni-Bucau Committed: Thu Aug 11 13:59:59 2016 +0200 -- .../jdbc/managed/local/ManagedConnection.java | 55 +- .../tomee/jdbc/TomcatXADataSourceTest.java | 100 ++- 2 files changed, 131 insertions(+), 24 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/6d7565af/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java -- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java index 7dca9c8..03f963a 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java @@ -102,9 +102,12 @@ public class ManagedConnection implements InvocationHandler { return null; } -closeConnection(xaConnection, delegate); +closeConnection(true); return null; } +if ("isClosed".equals(mtdName) && closed) { +return true; +} if (delegate == null) { newConnection(); } @@ -116,27 +119,29 @@ public class ManagedConnection implements InvocationHandler { if (!currentTransaction.equals(transaction)) { throw new SQLException("Connection can not be used while enlisted in another transaction"); } -return invokeUnderTransaction(delegate, method, args); +return invokeUnderTransaction(method, args); } // get the already bound connection to the current transaction or enlist this one in the tx -if (isUnderTransaction(transaction.getStatus())) { +final int transactionStatus = transaction.getStatus(); +if (isUnderTransaction(transactionStatus)) { Connection connection = Connection.class.cast(registry.getResource(key)); if (connection == null && delegate == null) { newConnection(); -connection = delegate; -registry.putResource(key, delegate); currentTransaction = transaction; try { -transaction.enlistResource(getXAResource()); +if (!transaction.enlistResource(getXAResource())) { +throw new SQLException("Unable to enlist connection in transaction: enlistResource returns 'false'."); +} } catch (final RollbackException ignored) { // no-op } catch (final SystemException e) { throw new SQLException("Unable to enlist connection the transaction", e); } -transaction.registerSynchronization(new ClosingSynchronization(xaConnection, delegate)); +registry.putResource(key, delegate); +transaction.registerSynchronization(new ClosingSynchronization()); if (xaConnection == null) { try { @@ -155,7 +160,14 @@ public class ManagedConnection implements InvocationHandler { delegate = connection; } -return invokeUnderTransaction(connection, method, args); +return invokeUnderTransaction(method, args); +} + +if ("isClosed".equals(mtdName) && closed) { +return true; +} +if ("close".equals(mtdName)) { // let it be handled by the ClosingSynchronisation since we have a tx there +return close(); } // we shouldn't come here, tempted to just throw an exception @@ -182,8 +194,8 @@ public class ManagedConnection implements InvocationHandler { (key.user == nu
tomee git commit: Remove unused imports
Repository: tomee Updated Branches: refs/heads/tomee-1.7.x 6419003cb -> 280808fb1 Remove unused imports Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/280808fb Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/280808fb Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/280808fb Branch: refs/heads/tomee-1.7.x Commit: 280808fb174ca4e5bb24ac638ece03b559bedac2 Parents: 6419003 Author: Jonathan Gallimore Authored: Thu Aug 11 09:51:00 2016 +0100 Committer: Jonathan Gallimore Committed: Thu Aug 11 09:51:00 2016 +0100 -- .../main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java| 2 -- 1 file changed, 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/280808fb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java -- diff --git a/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java b/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java index 4ca7529..b855073 100644 --- a/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java +++ b/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java @@ -40,7 +40,6 @@ import org.apache.tomcat.jdbc.pool.PooledConnection; import javax.management.ObjectName; import javax.sql.CommonDataSource; import javax.sql.DataSource; -import javax.sql.XAConnection; import javax.sql.XADataSource; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; @@ -49,7 +48,6 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Map; import java.util.Properties; -import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; public class TomEEDataSourceCreator extends PoolDataSourceCreator {
[jira] [Resolved] (TOMEE-1899) deny-uncovered-http-methods not supported in web.xml
[ https://issues.apache.org/jira/browse/TOMEE-1899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Romain Manni-Bucau resolved TOMEE-1899. --- Resolution: Fixed > deny-uncovered-http-methods not supported in web.xml > > > Key: TOMEE-1899 > URL: https://issues.apache.org/jira/browse/TOMEE-1899 > Project: TomEE > Issue Type: Bug >Affects Versions: 7.0.1 >Reporter: Romain Manni-Bucau >Assignee: Romain Manni-Bucau > Fix For: 7.0.2 > > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
tomee git commit: TOMEE-1899 ignore deny-uncovered-http-methods since we don't need it internally
Repository: tomee Updated Branches: refs/heads/master a331811ec -> c9e7fcf5f TOMEE-1899 ignore deny-uncovered-http-methods since we don't need it internally Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/c9e7fcf5 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/c9e7fcf5 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/c9e7fcf5 Branch: refs/heads/master Commit: c9e7fcf5fb55dbc7106121454deba28bc856a6f6 Parents: a331811 Author: Romain manni-Bucau Authored: Thu Aug 11 09:21:32 2016 +0200 Committer: Romain manni-Bucau Committed: Thu Aug 11 09:21:32 2016 +0200 -- .../apache/openejb/config/ReadDescriptors.java | 2 +- .../jee/servlet31/DontFailOnUnusedTagTest.java | 36 .../src/test/resources/webxml31.xml | 32 + .../org/apache/openejb/jee/TldTaglib$JAXB.java | 4 +-- .../org/apache/openejb/jee/WebApp$JAXB.java | 6 ++-- 5 files changed, 74 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/tomee/blob/c9e7fcf5/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java -- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java b/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java index e3c9b55..6bc52a8 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java @@ -825,7 +825,7 @@ public class ReadDescriptors implements DynamicDeployer { public static WebApp readWebApp(final URL url) throws OpenEJBException { final WebApp webApp; try { -webApp = (WebApp) WebXml.unmarshal(url); +webApp = WebXml.unmarshal(url); } catch (final SAXException e) { throw new OpenEJBException("Cannot parse the web.xml file: " + url.toExternalForm(), e); } catch (final JAXBException e) { http://git-wip-us.apache.org/repos/asf/tomee/blob/c9e7fcf5/container/openejb-core/src/test/java/org/apache/openejb/jee/servlet31/DontFailOnUnusedTagTest.java -- diff --git a/container/openejb-core/src/test/java/org/apache/openejb/jee/servlet31/DontFailOnUnusedTagTest.java b/container/openejb-core/src/test/java/org/apache/openejb/jee/servlet31/DontFailOnUnusedTagTest.java new file mode 100644 index 000..85cf3a9 --- /dev/null +++ b/container/openejb-core/src/test/java/org/apache/openejb/jee/servlet31/DontFailOnUnusedTagTest.java @@ -0,0 +1,36 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.openejb.jee.servlet31; + +import org.apache.openejb.jee.WebApp; +import org.apache.openejb.jee.WebApp$JAXB; +import org.apache.openejb.sxc.Sxc; +import org.junit.Test; + +import java.io.InputStream; + +import static org.junit.Assert.assertNotNull; + +public class DontFailOnUnusedTagTest { +@Test +public void run() throws Exception { // this test just validates we passthrough on unknown elements (tomcat will fail/warn) +try (final InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("webxml31.xml")) { +final WebApp web = Sxc.unmarshalJavaee(new WebApp$JAXB(), is); +assertNotNull(web.getAbsoluteOrdering()); +} +} +} http://git-wip-us.apache.org/repos/asf/tomee/blob/c9e7fcf5/container/openejb-core/src/test/resources/webxml31.xml -- diff --git a/container/openejb-core/src/test/resources/webxml31.xml b/container/openejb-core/src/test/resources/webxml31.xml new file mode 100644 index 000..ff00301 --- /dev/null +++ b/container/openejb-core/src/test/resources/webxml31.xml @@ -0,0 +1,32 @@ + + +http://xmlns.jcp.org/xml/ns/javaee"; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
[jira] [Created] (TOMEE-1899) deny-uncovered-http-methods not supported in web.xml
Romain Manni-Bucau created TOMEE-1899: - Summary: deny-uncovered-http-methods not supported in web.xml Key: TOMEE-1899 URL: https://issues.apache.org/jira/browse/TOMEE-1899 Project: TomEE Issue Type: Bug Affects Versions: 7.0.1 Reporter: Romain Manni-Bucau Assignee: Romain Manni-Bucau Fix For: 7.0.2 -- This message was sent by Atlassian JIRA (v6.3.4#6332)