Erreur de la piscine.ConnectionPool - Impossible de créer initiale des connexions de piscine
Je suis en suivant le développement de l'application dans Graal intitulé TekDays du livre "Grain 2 - Un démarrage rapide quide". Comme j'ai commencé à configurer DataSource
, j'ai rencontré un problème de l'établissement de la connexion de base de données. Je n'ai aucune idée de ce qui est la cause car les étapes que je suis est assez bien très clair. Les codes sources et les erreurs sont écrites ci-dessous.
Source de données.groovy:
dataSource {
pooled = true
jmxExport = true
driverClassName = "org.h2.Driver"
username = "dave"
password = "1234"
}
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = false
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' //Hibernate 3
// cache.region.factory_class = 'org.hibernate.cache.ehcache.EhCacheRegionFactory' //Hibernate 4
singleSession = true //configure OSIV singleSession mode
flush.mode = 'manual' //OSIV session flush mode outside of transactional context
}
//environment specific settings
environments {
development {
dataSource {
dbCreate = "update" //one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:mysql//localhost:3306/tekdays"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000; DB_CLOSE_ON_EXIT=FALSE"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE"
properties {
//See http://grails.org/doc/latest/guide /conf.html#dataSource for documentation
jmxEnabled = true
initialSize = 5
maxActive = 50
minIdle = 5
maxIdle = 25
maxWait = 10000
maxAge = 10 * 60000
timeBetweenEvictionRunsMillis = 5000
minEvictableIdleTimeMillis = 60000
validationQuery = "SELECT 1"
validationQueryTimeout = 3
validationInterval = 15000
testOnBorrow = true
testWhileIdle = true
testOnReturn = false
jdbcInterceptors = "ConnectionState"
defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
}
}
}
}
BuildConfig:
grails.servlet.version = "3.0" //Change depending on target container compliance (2.5 or 3.0)
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.work.dir = "target/work"
grails.project.target.level = 1.6
grails.project.source.level = 1.6
//grails.project.war.file = "target/${appName}-${appVersion}.war"
grails.project.fork = [
//configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
// compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
//configure settings for the test-app JVM, uses the daemon by default
test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
//configure settings for the run-app JVM
run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
//configure settings for the run-war JVM
war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
//configure settings for the Console UI JVM
console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
]
grails.project.dependency.resolver = "maven" //or ivy
grails.project.dependency.resolution = {
//inherit Grails' default dependencies
inherits("global") {
//specify dependency exclusions here; for example, uncomment this to disable ehcache:
//excludes 'ehcache'
}
log "error" //log level of Ivy resolver, either 'error', 'warn', 'info', 'debug' or 'verbose'
checksums true //Whether to verify checksums on resolve
legacyResolve false //whether to do a secondary resolve on plugin installation, not advised and here for backwards compatibility
repositories {
inherits true //Whether to inherit repository definitions from plugins
grailsPlugins()
grailsHome()
mavenLocal()
grailsCentral()
mavenCentral()
//uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories
//mavenRepo "http://repository.codehaus.org"
//mavenRepo "http://download.java.net/maven/2/"
//mavenRepo "http://repository.jboss.com/maven2/"
}
dependencies {
//specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g.
runtime 'mysql:mysql-connector-java:5.1.24'
//runtime 'org.postgresql:postgresql:9.3-1101-jdbc41'
//test "org.grails:grails-datastore-test-support:1.0.2-grails-2.4"
}
plugins {
//plugins for the build system only
build ":tomcat:7.0.55"
//plugins for the compile step
compile ":scaffolding:2.1.2"
compile ':cache:1.1.8'
compile ":asset-pipeline:1.9.9"
//plugins needed at runtime but not for compilation
runtime ":hibernate:3.6.10.18" //or ":hibernate:3.6.10.18" hibernate4:4.3.6.1
runtime ":database-migration:1.4.0"
runtime ":jquery:1.11.1"
//Uncomment these to enable additional asset-pipeline capabilities
//compile ":sass-asset-pipeline:1.9.0"
//compile ":less-asset-pipeline:1.10.0"
//compile ":coffee-asset-pipeline:1.8.0"
//compile ":handlebars-asset-pipeline:1.3.0.3"
}
}
et enfin le BootStrap.groovy
import com.tekdays.*
class BootStrap {
def init = { servletContext ->
//if(!TekEvent.get(1)){
new TekUser(fullName: 'John Doe' ,
userName: 'jdoe' ,
password: 't0ps3cr3t' ,
email: '[email protected]' ,
website: 'blog.johnsgroovyshop.com' ,
bio: '''John has been programming for over 40 years. He has worked with every programming language known to man and has settle on Groovy.
In his spare time, John dabbles in astro physics and plays shuffleboard.''').save()
new TekUser(fullName: 'John Deere' ,
userName: 'tractorman' ,
password: 't0ps3cr3t' ,
email: '[email protected]' ,
website: 'www.perl.porkproducers.org' ,
bio: '''John is a top notch Perl programmer and a pretty good hand around the farm. If he can't program it he
can plow it!''').save()
def event1 = new TekEvent(name: 'Gateway Code Camp' ,
city: 'Saint Louis, MO' ,
organizer: TekUser.findByFullName('John Doe') ,
venue: 'TBD' ,
startDate: new Date('02/02/2015') ,
endDate: new Date('02/05/2015') ,
description: '''This conference will bring coders from across platforms, languages, and industries
together for an exciting day of tips, tricks, and tech!''').save()
def event2 = new TekEvent(name: 'Perl Before Swine' ,
city: 'Austin, MN' ,
organizer: TekUser.findByFullName('John Deere') ,
venue: 'SPAM Museum' ,
startDate: new Date('06/02/2015') ,
endDate: new Date('10/05/2015') ,
description: '''Join the Perl programmers of the Pork Producers of America as we hone our skills and ham it up a bit.
You can show off your programming chops while trying to win a year's supply of pork chops in our programming
challenge.''').save()
def g1 = TekEvent.findByName('Gateway Code Camp')
g1.addToVolunteers(new TekUser(fullName: 'Sarah Martin' ,
userName: 'sarah' ,
password: '54321' ,
email: '[email protected]' ,
website: 'www.martinworld.com' ,
bio: 'Web designer and Grails afficianado.'))
g1.addToVolunteers(new TekUser(fullName: 'Bill Smith' ,
userName: 'Mr_Smith' ,
password: '12345' ,
email: '[email protected]' ,
website: 'www.mrbillswebsite.com' ,
bio: 'Software developer, claymation artist.'))
g1.addToRespondents('[email protected]')
g1.addToRespondents('[email protected]')
g1.addToRespondents('[email protected]')
def s1 = new Sponsor(name:'Contegix',
website:'http://www.contegix.com',
description:'Beyond Managed Hosting for your Enterprise').save()
def s2 = new Sponsor(name:'Object Computing Incorporated',
website:'http://www.ociweb.com',
description:'An 00 Software Engineering Company').save()
def sp1 = new Sponsorship(event:g1,
sponsor:s1,
contributionType:'Other',
description:'Cool T-Shirts').save()
def sp2 = new Sponsorship(event:g1,
sponsor:s2,
contributionType:'Venue',
description:'Will be paying for the Moscone').save()
g1.save()
//}
}
def destroy = {
}
}
Erreur:
Error |
2015-02-02 11:58:40,431 [localhost-startStop-1] ERROR pool.ConnectionPool - Unable to create initial connections of pool.
Message: Driver:org.h2.Driver@3fdec6a5 returned null for URL:jdbc:mysql//localho
st:3306/tekdays
Line | Method
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Error |
2015-02-02 11:58:40,533 [localhost-startStop-1] ERROR pool.ConnectionPool - Una
ble to create initial connections of pool.
Message: Driver:org.h2.Driver@68e17b43 returned null for URL:jdbc:mysql//localho
st:3306/tekdays
Line | Method
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Error |
2015-02-02 11:58:40,642 [localhost-startStop-1] ERROR pool.ConnectionPool - Una
ble to create initial connections of pool.
Message: Driver:org.h2.Driver@317f67a9 returned null for URL:jdbc:mysql//localho
st:3306/tekdays
Line | Method
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Error |
2015-02-02 11:58:40,665 [localhost-startStop-1] ERROR context.GrailsContextLoade
rListener - Error initializing the application: Error creating bean with name '
transactionManagerPostProcessor': Initialization of bean failed; nested exceptio
n is org.springframework.beans.factory.BeanCreationException: Error creating bea
n with name 'transactionManager': Cannot resolve reference to bean 'sessionFacto
ry' while setting bean property 'sessionFactory'; nested exception is org.spring
framework.beans.factory.BeanCreationException: Error creating bean with name 'se
ssionFactory': Cannot resolve reference to bean 'hibernateProperties' while sett
ing bean property 'hibernateProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernatePr
operties': Cannot resolve reference to bean 'dialectDetector' while setting bean
property 'properties' with key [hibernate.dialect]; nested exception is org.spr
ingframework.beans.factory.BeanCreationException: Error creating bean with name
'dialectDetector': Invocation of init method failed; nested exception is org.spr
ingframework.jdbc.support.MetaDataAccessException: Error while extracting Databa
seMetaData; nested exception is java.sql.SQLException: Driver:org.h2.Driver@317f
67a9 returned null for URL:jdbc:mysql//localhost:3306/tekdays
Message: Error creating bean with name 'transactionManagerPostProcessor': Initia
lization of bean failed; nested exception is org.springframework.beans.factory.B
eanCreationException: Error creating bean with name 'transactionManager': Cannot
resolve reference to bean 'sessionFactory' while setting bean property 'session
Factory'; nested exception is org.springframework.beans.factory.BeanCreationExce
ption: Error creating bean with name 'sessionFactory': Cannot resolve reference
to bean 'hibernateProperties' while setting bean property 'hibernateProperties';
nested exception is org.springframework.beans.factory.BeanCreationException: Er
ror creating bean with name 'hibernateProperties': Cannot resolve reference to b
ean 'dialectDetector' while setting bean property 'properties' with key [hiberna
te.dialect]; nested exception is org.springframework.beans.factory.BeanCreationE
xception: Error creating bean with name 'dialectDetector': Invocation of init me
thod failed; nested exception is org.springframework.jdbc.support.MetaDataAccess
Exception: Error while extracting DatabaseMetaData; nested exception is java.sql
.SQLException: Driver:org.h2.Driver@317f67a9 returned null for URL:jdbc:mysql//l
ocalhost:3306/tekdays
Line | Method
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread Caused by BeanCreationException: Error creating bean with name 'transactionManag
er': Cannot resolve reference to bean 'sessionFactory' while setting bean proper
ty 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory': Cannot resolve
reference to bean 'hibernateProperties' while setting bean property 'hibernateP
roperties'; nested exception is org.springframework.beans.factory.BeanCreationEx
ception: Error creating bean with name 'hibernateProperties': Cannot resolve ref
erence to bean 'dialectDetector' while setting bean property 'properties' with k
ey [hibernate.dialect]; nested exception is org.springframework.beans.factory.Be
anCreationException: Error creating bean with name 'dialectDetector': Invocation
of init method failed; nested exception is org.springframework.jdbc.support.Met
aDataAccessException: Error while extracting DatabaseMetaData; nested exception
is java.sql.SQLException: Driver:org.h2.Driver@317f67a9 returned null for URL:jd
bc:mysql//localhost:3306/tekdays
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by BeanCreationException: Error creating bean with name 'sessionFactory':
Cannot resolve reference to bean 'hibernateProperties' while setting bean prope
rty 'hibernateProperties'; nested exception is org.springframework.beans.factory
.BeanCreationException: Error creating bean with name 'hibernateProperties': Can
not resolve reference to bean 'dialectDetector' while setting bean property 'pro
perties' with key [hibernate.dialect]; nested exception is org.springframework.b
eans.factory.BeanCreationException: Error creating bean with name 'dialectDetect
or': Invocation of init method failed; nested exception is org.springframework.j
dbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; ne
sted exception is java.sql.SQLException: Driver:org.h2.Driver@317f67a9 returned
null for URL:jdbc:mysql//localhost:3306/tekdays
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by BeanCreationException: Error creating bean with name 'hibernatePropert
ies': Cannot resolve reference to bean 'dialectDetector' while setting bean prop
erty 'properties' with key [hibernate.dialect]; nested exception is org.springfr
amework.beans.factory.BeanCreationException: Error creating bean with name 'dial
ectDetector': Invocation of init method failed; nested exception is org.springfr
amework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMet
aData; nested exception is java.sql.SQLException: Driver:org.h2.Driver@317f67a9
returned null for URL:jdbc:mysql//localhost:3306/tekdays
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by BeanCreationException: Error creating bean with name 'dialectDetector'
: Invocation of init method failed; nested exception is org.springframework.jdbc
.support.MetaDataAccessException: Error while extracting DatabaseMetaData; neste
d exception is java.sql.SQLException: Driver:org.h2.Driver@317f67a9 returned nul
l for URL:jdbc:mysql//localhost:3306/tekdays
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by MetaDataAccessException: Error while extracting DatabaseMetaData; nest
ed exception is java.sql.SQLException: Driver:org.h2.Driver@317f67a9 returned nu
ll for URL:jdbc:mysql//localhost:3306/tekdays
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
Caused by SQLException: Driver:org.h2.Driver@317f67a9 returned null for URL:jdbc
:mysql//localhost:3306/tekdays
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1142 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 617 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 745 | run in java.lang.Thread
| Error Forked Grails VM exited with error
Si il n'y a aucun code nécessaire, je vais fournir.
Vous devez vous connecter pour publier un commentaire.
Hey les gens j'ai trouvé la cause de mon problème.
Pour les personnes qui trouvent cette question dans l'avenir, j'ai vécu ce symptôme après l'utilisation de la mauvaise version de Java (1,7 au lieu de 1,8) dans mon Graal projet.