2016-01-18 92 views
1

当我尝试使用mvn spring-boot:run启动服务器时,出现此异常。我之前做过一次mvn清洁。我无法想象为什么会发生这种情况。配置似乎是正确的。获取连接关闭尝试使用JHipster连接到PostgreSQL数据库时发生异常应用程序

liquibase.exception.DatabaseException: org.postgresql.util.PSQLException: This connection has been closed. 
at liquibase.database.jvm.JdbcConnection.setAutoCommit(JdbcConnection.java:363) ~[liquibase-core-3.4.2.jar:na] 
at liquibase.database.AbstractJdbcDatabase.close(AbstractJdbcDatabase.java:1176) ~[liquibase-core-3.4.2.jar:na] 
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:400) ~[liquibase-core-3.4.2.jar:na] 
at com.mycompany.myapp.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:63) ~[classes/:na] 
at com.mycompany.myapp.config.liquibase.AsyncSpringLiquibase.lambda$afterPropertiesSet$31(AsyncSpringLiquibase.java:49) ~[classes/:na] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_60] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_60] 
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_60] 
Caused by: org.postgresql.util.PSQLException: This connection has been closed. 
at org.postgresql.jdbc2.AbstractJdbc2Connection.checkClosed(AbstractJdbc2Connection.java:851) ~[postgresql-9.4-1203-jdbc42.jar:9.4] 
at org.postgresql.jdbc2.AbstractJdbc2Connection.setAutoCommit(AbstractJdbc2Connection.java:793) ~[postgresql-9.4-1203-jdbc42.jar:9.4] 
at  com.zaxxer.hikari.proxy.ConnectionProxy.setAutoCommit(ConnectionProxy.java:334) ~[HikariCP-2.4.1.jar:na] 
at  com.zaxxer.hikari.proxy.HikariConnectionProxy.setAutoCommit(HikariConnectionProxy.java) ~[HikariCP-2.4.1.jar:na] 
at  liquibase.database.jvm.JdbcConnection.setAutoCommit(JdbcConnection.java:361) ~[liquibase-core-3.4.2.jar:na] 
... 7 common frames omitted 

这是我的应用程序dev.yaml:

# =================================================================== 
# Standard Spring Boot properties. 
# Full reference is available at: 
# http://docs.spring.io/spring-boot/docs/current/reference/html/common- application-properties.html 
# =================================================================== 

spring: 
profiles: 
    active: dev 
devtools: 
    restart: 
     enabled: true 
    livereload: 
     enabled: false # we use Grunt + BrowserSync for livereload 
datasource: 
    driver-class-name: org.postgresql.ds.PGSimpleDataSource 
    url: jdbc:postgresql://localhost:3306/bowl 
    name: 
    username: postgres 
    password: root 
jpa: 
    database-platform:  com.mycompany.myapp.domain.util.FixedPostgreSQL82Dialect 
    database: POSTGRESQL 
    show_sql: true 
    properties: 
     hibernate.cache.use_second_level_cache: true 
     hibernate.cache.use_query_cache: false 
     hibernate.generate_statistics: true 
     hibernate.cache.region.factory_class:  org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory 
data: 
    elasticsearch: 
     cluster-name: 
     cluster-nodes: 
     properties: 
      path: 
       logs: target/elasticsearch/log 
       data: target/elasticsearch/data 
mail: 
    host: localhost 
messages: 
    cache-seconds: 1 
thymeleaf: 
    cache: false 

liquibase: 
contexts: dev 

server: 
port: 8080 

# =================================================================== 
# JHipster specific properties 
# =================================================================== 

jhipster: 
cache: # Hibernate 2nd level cache, used by CacheConfiguration 
    timeToLiveSeconds: 3600 
    ehcache: 
     maxBytesLocalHeap: 16M 
mail: # specific JHipster mail property, for standard properties see  MailProperties 
    from: [email protected] 
metrics: # DropWizard Metrics configuration, used by MetricsConfiguration 
    jmx.enabled: true 
    spark: 
     enabled: false 
     host: localhost 
     port: 9999 
    graphite: 
     enabled: false 
     host: localhost 
     port: 2003 
     prefix: test 

这是我application.yaml:

spring: 
jpa: 
    open-in-view: false 
    hibernate: 
     ddl-auto: none 
     naming-strategy: org.springframework.boot.orm.jpa.hibernate.SpringNamingStrategy 
messages: 
    basename: classpath:/i18n/messages 
mvc: 
    favicon: 
     enabled: false 
thymeleaf: 
    mode: XHTML 

security: 
basic: 
    enabled: false 

# =================================================================== 
# JHipster specific properties 
# =================================================================== 

jhipster: 
async: 
    corePoolSize: 2 
    maxPoolSize: 50 
    queueCapacity: 10000 
#cors: #By default CORS are not enabled. Uncomment to enable. 
    #allowed-origins: "*" 
    #allowed-methods: GET, PUT, POST, DELETE, OPTIONS 
    #allowed-headers: "*" 
    #exposed-headers: 
    #allow-credentials: true 
    #max-age: 1800 
mail: 
    from: [email protected] 
security: 
    rememberme: 
     # security key (this key should be unique for your application, and kept secret) 
     key: 7ba7d54b8c54ee10147cf46baa898c4cb7b4a597 
swagger: 
    title: test API 
    description: test API documentation 
    version: 0.0.1 
    termsOfServiceUrl: 
    contact: 
    license: 
    licenseUrl: 
+0

现在我在这个问题上搞了三天。我甚至用mySQL试了一下,但是我在那里有类似的错误。我切换数据源驱动程序并尝试了很多方言。我不能想象为什么会发生这种异常。除了url和user/pw conf之外,配置是Jhipster原创的。我也重新安装了Jhipster几次。 – HansWurst

+0

它看起来像一个环境问题,因为我们(显然)没有这种样品项目的问题。你可以尝试使用我们的“devbox”在https://github.com/jhipster/jhipster-devbox?它默认使用MySQL,但你也可以安装Postgresql。 –

+0

'driver-class-name:org.postgresql.ds.PGSimpleDataSource'可能是个问题。使用spring引导时,不需要指定驱动程序(它从数据库url和classpath中计算出来)。尝试删除此行 – jny

回答

0

的问题是由实体引起的。我必须以特定的顺序生成关系以生成正确的液化酶更新日志。顺序如下:

many-to-one -> one-to-one (owner) -> many-to-many (owner) -> all others 

找出这真的花了我半个礼拜。愚蠢的我。

相关问题