Browse Source

Merge pull request #1891 from k-r-g/ninja-hikaricp

Ninja: Update deps, use HikariCP instead of c3p0 db pool
Mike Smith 9 years ago
parent
commit
0f26e92d93

+ 17 - 4
frameworks/Java/ninja-standalone/pom.xml

@@ -8,10 +8,10 @@
     <description>Ninja test for the TechEmpower/FrameworkBenchmarks project</description>
     <description>Ninja test for the TechEmpower/FrameworkBenchmarks project</description>
 
 
     <properties>
     <properties>
-        <java-version>1.7</java-version>
-        <ninja.version>5.1.0</ninja.version>
-        <mysql.version>5.1.26</mysql.version>
-        <jetty.version>9.2.1.v20140609</jetty.version>
+        <java-version>1.8</java-version>
+        <ninja.version>5.3.0</ninja.version>
+        <mysql.version>5.1.38</mysql.version>
+        <jetty.version>9.3.6.v20151106</jetty.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     </properties>
     </properties>
 
 
@@ -40,12 +40,25 @@
             <artifactId>mysql-connector-java</artifactId>
             <artifactId>mysql-connector-java</artifactId>
             <version>${mysql.version}</version>
             <version>${mysql.version}</version>
         </dependency>
         </dependency>
+
+        <dependency>
+          <groupId>org.hibernate</groupId>
+          <artifactId>hibernate-hikaricp</artifactId>
+          <version>4.3.8.Final</version>
+        </dependency>
                         
                         
         <dependency>
         <dependency>
             <groupId>com.h2database</groupId>
             <groupId>com.h2database</groupId>
             <artifactId>h2</artifactId>
             <artifactId>h2</artifactId>
             <version>1.3.174</version>
             <version>1.3.174</version>
         </dependency>
         </dependency>
+
+        <dependency>
+            <groupId>xml-apis</groupId>
+            <artifactId>xml-apis</artifactId>
+            <version>1.4.01</version>
+        </dependency>
+
     </dependencies>
     </dependencies>
 
 
     <build>
     <build>

+ 1 - 1
frameworks/Java/ninja-standalone/src/main/java/controllers/HelloDbController.java

@@ -62,7 +62,7 @@ public class HelloDbController {
 
 
         // now update stuff:
         // now update stuff:
         for (World world : worlds) {
         for (World world : worlds) {
-            world.randomNumber = ThreadLocalRandom.current().nextInt();
+            world.randomNumber = ThreadLocalRandom.current().nextInt(DB_ROWS) + 1;
             worldDao.put(world);
             worldDao.put(world);
         }
         }
 
 

+ 16 - 18
frameworks/Java/ninja-standalone/src/main/resources/META-INF/persistence.xml

@@ -20,15 +20,12 @@
                 <property name="hibernate.jdbc.batch_size" value="100" />
                 <property name="hibernate.jdbc.batch_size" value="100" />
 
 
                 <!-- Connection Pooling settings -->
                 <!-- Connection Pooling settings -->
-                <property name="hibernate.connection.provider_class"
-                          value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider" />
-
-                <property name="hibernate.c3p0.max_size" value="100" />
-                <property name="hibernate.c3p0.min_size" value="0" />
-                <property name="hibernate.c3p0.acquire_increment" value="1" />
-                <property name="hibernate.c3p0.idle_test_period" value="300" />
-                <property name="hibernate.c3p0.max_statements" value="0" />
-                <property name="hibernate.c3p0.timeout" value="100" />     
+                <property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
+                <property name="hibernate.cache.use_query_cache" value="false" />
+                <property name="hibernate.minimumIdle" value="256" />
+                <property name="hibernate.maximumPoolSize" value="256" />
+                <property name="hibernate.idleTimeout" value="30000" />
+                <property name="hibernate.dataSourceClassName" value="org.h2.jdbcx.JdbcDataSource" />
             </properties>
             </properties>
         </persistence-unit>
         </persistence-unit>
 
 
@@ -44,15 +41,16 @@
 			<property name="hibernate.format_sql" value="false" />
 			<property name="hibernate.format_sql" value="false" />
                         <property name="hibernate.jdbc.batch_size" value="100" />
                         <property name="hibernate.jdbc.batch_size" value="100" />
 			<!-- Connection Pooling settings -->
 			<!-- Connection Pooling settings -->
-			<property name="hibernate.connection.provider_class"
-				value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider" />
-
-			<property name="hibernate.c3p0.max_size" value="100" />
-			<property name="hibernate.c3p0.min_size" value="0" />
-			<property name="hibernate.c3p0.acquire_increment" value="1" />
-			<property name="hibernate.c3p0.idle_test_period" value="300" />
-			<property name="hibernate.c3p0.max_statements" value="0" />
-			<property name="hibernate.c3p0.timeout" value="100" />
+                        <property name="hibernate.connection.provider_class" value="org.hibernate.hikaricp.internal.HikariCPConnectionProvider" />
+                        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
+                        <property name="hibernate.cache.use_query_cache" value="false" />
+                        <property name="hibernate.hikari.minimumIdle" value="256" />
+                        <property name="hibernate.hikari.maximumPoolSize" value="256" />
+                        <property name="hibernate.hikari.idleTimeout" value="30000" />
+                        <property name="hibernate.hikari.dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" />
+                        <property name="hibernate.hikari.dataSource.url" value="jdbc:mysql://localhost:3306/hello_world?jdbcCompliantTruncation=false&amp;elideSetAutoCommits=true&amp;useLocalSessionState=true&amp;cachePrepStmts=true&amp;cacheCallableStmts=true&amp;alwaysSendSetIsolation=false&amp;prepStmtCacheSize=4096&amp;cacheServerConfiguration=true&amp;prepStmtCacheSqlLimit=2048&amp;zeroDateTimeBehavior=convertToNull&amp;traceProtocol=false&amp;useUnbufferedInput=false&amp;useReadAheadInput=false&amp;maintainTimeStats=false&amp;useServerPrepStmts&amp;cacheRSMetadata=true" />
+                        <property name="hibernate.hikari.dataSource.user" value="benchmarkdbuser" />
+                        <property name="hibernate.hikari.dataSource.password" value="benchmarkdbpass" />
 		</properties>
 		</properties>
 	</persistence-unit>
 	</persistence-unit>