You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2011/01/14 00:54:07 UTC
svn commit: r1058803 - in /geronimo/sandbox/djencks/txmanager: ./
geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/
geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/
geronimo-txmanager-server/ geronimo-txma...
Author: djencks
Date: Thu Jan 13 23:54:06 2011
New Revision: 1058803
URL: http://svn.apache.org/viewvc?rev=1058803&view=rev
Log:
GERONIMO-5742 be sure to send mci's back to the right pool. Thanks to Florent Guillaume
Added:
geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java (with props)
geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/
geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml (with props)
geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml (with props)
geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/src/
geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/src/main/
geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/src/main/resources/
Modified:
geronimo/sandbox/djencks/txmanager/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/MultiPoolConnectionInterceptor.java
geronimo/sandbox/djencks/txmanager/pom.xml
Modified: geronimo/sandbox/djencks/txmanager/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/MultiPoolConnectionInterceptor.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/MultiPoolConnectionInterceptor.java?rev=1058803&r1=1058802&r2=1058803&view=diff
==============================================================================
--- geronimo/sandbox/djencks/txmanager/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/MultiPoolConnectionInterceptor.java (original)
+++ geronimo/sandbox/djencks/txmanager/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/MultiPoolConnectionInterceptor.java Thu Jan 13 23:54:06 2011
@@ -77,8 +77,8 @@ public class MultiPoolConnectionIntercep
pools.put(key, (PoolingAttributes) poolInterceptor);
}
}
- mci.setPoolInterceptor(poolInterceptor);
poolInterceptor.getConnection(connectionInfo);
+ connectionInfo.getManagedConnectionInfo().setPoolInterceptor(poolInterceptor);
}
// let underlying pools handle destroyed processing...
Added: geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java?rev=1058803&view=auto
==============================================================================
--- geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java (added)
+++ geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java Thu Jan 13 23:54:06 2011
@@ -0,0 +1,78 @@
+/*
+ * 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.geronimo.connector.outbound;
+
+import javax.resource.ResourceException;
+import javax.resource.spi.ManagedConnectionFactory;
+
+import junit.framework.TestCase;
+
+import org.apache.geronimo.connector.mock.MockManagedConnectionFactory;
+import org.apache.geronimo.connector.outbound.connectionmanagerconfig.PoolingSupport;
+import org.apache.geronimo.connector.outbound.connectionmanagerconfig.SinglePool;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class MultiPoolMinSizeTest extends TestCase {
+
+ private ManagedConnectionFactory mcf = new MockManagedConnectionFactory();
+ protected MultiPoolConnectionInterceptor interceptor;
+ protected int maxSize = 10;
+ protected int minSize = 2;
+ protected boolean matchOne = true;
+ protected boolean matchAll = true;
+ protected boolean selectOneAssumeMatch = false;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ PoolingSupport singlePool = new SinglePool(maxSize, minSize, 100, 1, matchOne, matchAll, selectOneAssumeMatch);
+ MCFConnectionInterceptor baseInterceptor = new MCFConnectionInterceptor();
+ interceptor = new MultiPoolConnectionInterceptor(baseInterceptor, singlePool, false, false);
+ }
+
+ /**
+ * Check that connection from the pre-filled pool can be returned ok.
+ * @throws Exception if test fails
+ */
+ public void testInitialFill() throws Exception {
+ // get first connection, which then fills pool
+ ConnectionInfo ci1 = getConnection();
+ if (minSize > 0) {
+ Thread.sleep(500); // wait for FillTask Timer set at 10ms to run
+ assertEquals(minSize, interceptor.getConnectionCount());
+ }
+ // get second connection from filled pool
+ ConnectionInfo ci2 = getConnection();
+ // return second connection (which needs to have gotten a proper pool interceptor)
+ interceptor.returnConnection(ci2, ConnectionReturnAction.RETURN_HANDLE);
+ // return first connection
+ interceptor.returnConnection(ci1, ConnectionReturnAction.RETURN_HANDLE);
+ }
+
+ private ConnectionInfo getConnection() throws ResourceException {
+ ManagedConnectionInfo mci = new ManagedConnectionInfo(mcf, null);
+ ConnectionInfo ci = new ConnectionInfo(mci);
+ interceptor.getConnection(ci);
+ return ci;
+ }
+
+}
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-connector/src/test/java/org/apache/geronimo/connector/outbound/MultiPoolMinSizeTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml?rev=1058803&view=auto
==============================================================================
--- geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml (added)
+++ geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml Thu Jan 13 23:54:06 2011
@@ -0,0 +1,168 @@
+<!--
+ 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.geronimo.assemblies</groupId>
+ <artifactId>geronimo-txmanager-server</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>application-assembly</packaging>
+
+ <properties>
+ <!-- This may be helpful in selecting the desired geronimo version -->
+ <geronimoVersion>3.0-SNAPSHOT</geronimoVersion>
+
+ </properties>
+
+
+ <dependencies>
+ <!-- You will need the boilerplate to get a runnable server -->
+ <dependency>
+ <groupId>org.apache.geronimo.assemblies</groupId>
+ <artifactId>geronimo-boilerplate</artifactId>
+ <version>${geronimoVersion}</version>
+ <type>car</type>
+ </dependency>
+
+
+ <!-- List the plugins you want in your server -->
+
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+
+ <plugin>
+ <groupId>org.apache.geronimo.buildsupport</groupId>
+ <artifactId>car-maven-plugin</artifactId>
+ <version>${geronimoVersion}</version>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.geronimo.genesis.plugins</groupId>
+ <artifactId>tools-maven-plugin</artifactId>
+ <version>1.3</version>
+ <extensions>true</extensions>
+ </plugin>
+
+ </plugins>
+ </pluginManagement>
+ <!-- uncomment if you have more content to stuff in here (not recommended - use a plugin with copy-files) -->
+<!--
+ <resources>
+ <resource>
+ <directory>${pom.basedir}/src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+-->
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.geronimo.genesis.plugins</groupId>
+ <artifactId>tools-maven-plugin</artifactId>
+
+ <!-- Tools includes custom packagings, install as extension to pick them up -->
+ <extensions>true</extensions>
+
+<!--
+ <executions>
+ <execution>
+ <id>install-legal-files</id>
+ <phase>generate-resources</phase>
+ <goals>
+ <goal>copy-legal-files</goal>
+ </goals>
+ <configuration>
+ -->
+<!-- Fail the build if no legal files were copied -->
+<!--
+ <strict>true</strict>
+ </configuration>
+ </execution>
+
+ <execution>
+ <id>verify-legal-files</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>verify-legal-files</goal>
+ </goals>
+ <configuration>
+ -->
+<!-- Fail the build if no legal files were found -->
+<!--
+ <strict>true</strict>
+ </configuration>
+ </execution>
+ </executions>
+-->
+ </plugin>
+ <plugin>
+ <groupId>org.apache.geronimo.buildsupport</groupId>
+ <artifactId>car-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>install-modules</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>archive</id>
+ <phase>package</phase>
+ <goals>
+ <goal>archive</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <servers>
+ <serverInstance>
+ <name>default</name>
+ <configFile>var/config/config.xml</configFile>
+ <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+ <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+ <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ <serverInstance>
+ <name>client</name>
+ <attributeManagerFrom>default</attributeManagerFrom>
+ <artifactAliasesFile>var/config/client_artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ <serverInstance>
+ <name>offline</name>
+ <configFile>var/config/offline-deployer-config.xml</configFile>
+ <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+ <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+ <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ <serverInstance>
+ <name>jsr88</name>
+ <configFile>var/config/jsr88-configurer-config.xml</configFile>
+ <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+ <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+ <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ </servers>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.sample.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml?rev=1058803&view=auto
==============================================================================
--- geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml (added)
+++ geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml Thu Jan 13 23:54:06 2011
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>geronimo-txmanager-parent</artifactId>
+ <groupId>org.apache.geronimo.components</groupId>
+ <version>3.1.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>geronimo-txmanager-server</artifactId>
+ <packaging>server-assembly</packaging>
+ <properties>
+ <geronimoVersion>3.0-SNAPSHOT</geronimoVersion>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.geronimo.framework.plugingroups</groupId>
+ <artifactId>framework</artifactId>
+ <version>${geronimoVersion}</version>
+ <type>car</type>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr</artifactId>
+ <version>1.6.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.components</groupId>
+ <artifactId>geronimo-transaction</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.components</groupId>
+ <artifactId>geronimo-connector</artifactId>
+ </dependency>
+
+ </dependencies>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.geronimo.buildsupport</groupId>
+ <artifactId>car-maven-plugin</artifactId>
+ <version>${geronimoVersion}</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.geronimo.buildsupport</groupId>
+ <artifactId>car-maven-plugin</artifactId>
+ <configuration>
+ <servers>
+ <serverInstance>
+ <name>default</name>
+ <configFile>var/config/config.xml</configFile>
+ <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+ <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+ <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ <serverInstance>
+ <name>client</name>
+ <attributeManagerFrom>default</attributeManagerFrom>
+ <artifactAliasesFile>var/config/client_artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ <serverInstance>
+ <name>offline</name>
+ <configFile>var/config/offline-deployer-config.xml</configFile>
+ <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+ <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+ <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ <serverInstance>
+ <name>jsr88</name>
+ <configFile>var/config/jsr88-configurer-config.xml</configFile>
+ <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+ <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+ <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+ </serverInstance>
+ </servers>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/sandbox/djencks/txmanager/geronimo-txmanager-server/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: geronimo/sandbox/djencks/txmanager/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/txmanager/pom.xml?rev=1058803&r1=1058802&r2=1058803&view=diff
==============================================================================
--- geronimo/sandbox/djencks/txmanager/pom.xml (original)
+++ geronimo/sandbox/djencks/txmanager/pom.xml Thu Jan 13 23:54:06 2011
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -14,11 +14,7 @@
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.
--->
-
-<!-- $Rev$ $Date$ -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+--><!-- $Rev$ $Date$ --><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -162,7 +158,7 @@
<modules>
<module>geronimo-transaction</module>
<module>geronimo-connector</module>
- </modules>
-
-</project>
+ <module>geronimo-txmanager-server</module>
+ </modules>
+</project>
\ No newline at end of file