2015-10-13 10 views
7

"Errore nella convalida di una connessione appena stabilita".Impossibile convalidare una connessione appena stabilita

Ho cercato su Google e ho letto tutte le domande relative a questo errore. Ma non è riuscito a trovare una soluzione.

Sto usando spring-boot-starter-data-jpa.

Funziona senza errori con Postgresql. Ma voglio usare il database incorporato !!!

application.properties:

#We don't need JMX here - disabling it allows for faster startup 
spring.jmx.enabled=false 
spring.datasource.testOnBorrow=true 
spring.datasource.validationQuery=SELECT 1 
spring.jpa.show-sql=true 
spring.jpa.hibernate.ddl-auto=create-drop 

spring.datasource.driver-class-name=org.hsqldb.jdbcDriver 
spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect 
spring.datasource.url=jdbc:hsqldb:file:${user.home}/db/data;user=sa;password=123; 
spring.datasource.username=sa 
spring.datasource.password=123 

intestazione di principale dell'applicazione classe:

@ComponentScan(value = {"db", "app", "ui"}) 
@EnableJpaRepositories(basePackages = "db") 
@EntityScan(basePackages = "db") 
@EnableTransactionManagement 
@SpringBootApplication 

Questo errore gettato solo quando uso dei database embedded (almeno Derby, HSQLDB) e non sempre . A volte inizia normalmente, trova e salva le entità senza errori, ma a volte si verifica dopo aver atteso qualche periodo o immediatamente dopo una transazione riuscita.

Come posso risolvere questo problema?

+0

* "Questo errore ..." * quale? Aggiungilo alla tua domanda – m02ph3u5

+0

scusa, questo errore è "Impossibile convalidare una connessione appena stabilita" – SparX

risposta

7

La query di validazione è il problema. Mentre SELECT 1 senza FROM funziona in Postgres, non è valido in hsqldb.

Vai a questa answer per le query di validazione per diverse banche dati

+0

Funziona. Grazie @jny. – SparX

1

provare senza la query di convalida. Se il driver HSQLDB è compatibile con JDBC4, dovrebbe utilizzare e lavorare con il metodo Connection.isValid(int timeout).

+0

Non ho controllato la tua soluzione. Comunque grazie per la risposta. – SparX

Problemi correlati