2014-04-08 4 views
2

В моей BuildConfig.groovyGrails 2.3.7 подключиться к удаленному серверу PostgreSQL

У меня есть:

dependencies {   
runtime 'org.postgresql:postgresql:9.3-1100-jdbc41' 
} 

В моей DataSource.groovy

У меня есть:

dataSource { 

pooled = true 
driverClassName = "org.postgresql.Driver" 
dialect=org.hibernate.dialect.PostgreSQLDialect 

hibernate { 
    cache.use_second_level_cache=true 
    cache.use_query_cache=true 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 

} 
// environment specific settings 
environments { 
development { 
dataSource { 

      dbCreate = "create-drop" // one of 'create', 'create-drop','update' 
      url = "jdbc:postgresql://ip:5432/security_dev" 
      username = "uname" 
      password = "pwd" 
     } 
    } 
    test { 
     dataSource { 
      dbCreate = "create-drop" // one of 'create', 'create-drop','update' 
      url = "jdbc:postgresql://ip:5432/security_dev" 
      username = "uname" 
      password = "pwd" 

     } 
    } 
    production { 
     dataSource { 
      dbCreate = "update" // one of 'create', 'create-drop','update' 
      url = "jdbc:postgresql://ip:5432/security_dev" 
      username = "uname" 
      password = "pwd" 
     } 

    } 
} 
} 

Ниже приведено сообщение об ошибке

2014-04-08 15:02:48,390 [localhost-startStop-1] ERROR pool.ConnectionPool - Unable to create initial connections of pool. 
Message: Driver:[email protected] returned null for URL:jdbc:h2:mem:grailsDB;MVCC=TRUE;LOCK_TIMEOUT=10000 
    Line | Method 
->> 262 | run  in java.util.concurrent.FutureTask 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 744 | run  in java.lang.Thread 
Error | 
2014-04-08 15:02:48,708 [localhost-startStop-1] ERROR pool.ConnectionPool - Unable to create initial connections of pool. 
Message: Driver:[email protected] returned null for URL:jdbc:h2:mem:grailsDB;MVCC=TRUE;LOCK_TIMEOUT=10000 
    Line | Method 
->> 262 | run  in java.util.concurrent.FutureTask 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 744 | run  in java.lang.Thread 
Error | 
2014-04-08 15:02:48,723 [localhost-startStop-1] ERROR pool.ConnectionPool - Unable to create initial connections of pool. 
Message: Driver:[email protected] returned null for URL:jdbc:h2:mem:grailsDB;MVCC=TRUE;LOCK_TIMEOUT=10000 
    Line | Method 
->> 262 | run  in java.util.concurrent.FutureTask 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker 
^ 744 | run  in java.lang.Thread 
|Server running. Browse to http://localhost:8080/Postgresql_Grails_2.3.7 

Эта конфигурация работает Граалей 2.2.4

Что я должен сделать, чтобы заставить его работать под Граалей 2.3.7?

Заранее спасибо

+1

'Grails чистой 'требуется после изменений. Как-то ссылается ваш старый источник данных, который указывает на h2 db в памяти. – dmahapatro

ответ

1

У меня была такая же проблема после моего обновления. Это моя зависимость (jdbc4 и не jdbc41):

dependencies { 
    runtime 'org.postgresql:postgresql:9.3-1100-jdbc4' 
} 

И я не знаю, если это проблема, но я думаю, что вы оставили «}» перед спячкой:

dataSource { 
    pooled = true 
    driverClassName = "org.postgresql.Driver" 
    username = "username" 
    password = "password" 
} 

hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = false 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
    singleSession = true 
} 
+0

Да, вы правы, если я ставлю runtime 'org.postgresql: postgresql: 9.3-1100-jdbc4', это работает, я провел небольшое исследование. Ядро postgresql-jdbc, которое мы используем для подключения сервера dataSource, зависит от версии java. Например: Для Java 6 Использование: -9.2-1004 PostgreSQL-jdbc4.jar -9.3-1100 PostgreSQL-jdbc4.jar Для Java 7 Использование: -9.2-1004 PostgreSQL-jdbc41.jar PostgreSQL -9.3-1100-jdbc41.jar Если у нас нет правильной версии банки. У нас будут следующие проблемы: – user3511317

Смежные вопросы