tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rmannibu...@apache.org
Subject tomee git commit: TOMEE-1526 global (conf/system.properties) openejb.datasource.pool support
Date Mon, 16 Mar 2015 19:06:47 GMT
Repository: tomee
Updated Branches:
  refs/heads/master 85649d332 -> cb474768a


TOMEE-1526 global (conf/system.properties) openejb.datasource.pool support


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

Branch: refs/heads/master
Commit: cb474768af4f7b4edd14c10a16e59ac1f60934a3
Parents: 85649d3
Author: Romain Manni-Bucau <rmannibucau@apache.org>
Authored: Mon Mar 16 20:06:15 2015 +0100
Committer: Romain Manni-Bucau <rmannibucau@apache.org>
Committed: Mon Mar 16 20:06:15 2015 +0100

----------------------------------------------------------------------
 .../resource/jdbc/DataSourceFactory.java        |  2 +-
 .../resource/jdbc/DataSourceFactoryTest.java    | 59 ++++++++++++++++++++
 2 files changed, 60 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/cb474768/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 f484f60..50c1b04 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
@@ -334,7 +334,7 @@ public class DataSourceFactory {
     }
 
     private static boolean usePool(final Properties properties) {
-        String property = properties.getProperty(POOL_PROPERTY);
+        String property = properties.getProperty(POOL_PROPERTY, SystemInstance.get().getProperty(POOL_PROPERTY));
         if (property != null) {
             properties.remove(POOL_PROPERTY);
         } else { // defined from @DataSourceDefinition and doesn't need pooling

http://git-wip-us.apache.org/repos/asf/tomee/blob/cb474768/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/DataSourceFactoryTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/DataSourceFactoryTest.java
b/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/DataSourceFactoryTest.java
new file mode 100644
index 0000000..be960e3
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/DataSourceFactoryTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.resource.jdbc;
+
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.lang.reflect.Method;
+import java.util.Properties;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class DataSourceFactoryTest {
+    private static Method mtd;
+
+    @BeforeClass
+    public static void findMethod() throws NoSuchMethodException {
+        mtd = DataSourceFactory.class.getDeclaredMethod("usePool", Properties.class);
+        mtd.setAccessible(true);
+    }
+
+    @After
+    @Before
+    public void reset() {
+        SystemInstance.reset();
+    }
+
+    @Test
+    public void run() throws Exception {
+        assertFalse(Boolean.class.cast(mtd.invoke(null, new Properties())));
+        assertTrue(Boolean.class.cast(mtd.invoke(null, new PropertiesBuilder().p("openejb.datasource.pool",
"true").build())));
+        assertFalse(Boolean.class.cast(mtd.invoke(null, new PropertiesBuilder().p("openejb.datasource.pool",
"false").build())));
+        assertTrue(Boolean.class.cast(mtd.invoke(null, new PropertiesBuilder().p("initialPoolSize",
"1").build())));
+        assertTrue(Boolean.class.cast(mtd.invoke(null, new PropertiesBuilder().p("maxPoolSize",
"1").build())));
+        SystemInstance.get().setProperty("openejb.datasource.pool", "true");
+        assertTrue(Boolean.class.cast(mtd.invoke(null, new Properties())));
+        SystemInstance.get().setProperty("openejb.datasource.pool", "false");
+        assertFalse(Boolean.class.cast(mtd.invoke(null, new Properties())));
+    }
+}


Mime
View raw message