quand je lance mon code, j'obtiens cette exception:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:62)
at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:45)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:422)
at com.mysql.jdbc.Util.handleNewInstance(Util.Java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.Java:1121)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.Java:357)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.Java:2482)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.Java:2519)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.Java:2304)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.Java:834)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.Java:47)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:62)
at Sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.Java:45)
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:422)
at com.mysql.jdbc.Util.handleNewInstance(Util.Java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.Java:416)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.Java:346)
at Java.sql.DriverManager.getConnection(DriverManager.Java:664)
at Java.sql.DriverManager.getConnection(DriverManager.Java:208)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.Java:153)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.Java:144)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.Java:155)
at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.Java:120)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.Java:139)
at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.Java:51)
at org.hibernate.tool.hbm2ddl.DatabaseExporter.<init>(DatabaseExporter.Java:52)
at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.Java:367)
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.Java:304)
at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.Java:293)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.Java:517)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.Java:1857)
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Aug 25, 2015 8:23:45 PM com.Sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SCHWERWIEGEND: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection
at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.Java:431)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.Java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.Java:457)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.Java:276)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.Java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.Java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.Java:207)
at com.Sun.proxy.$Proxy76.create(Unknown Source)
Je ne sais pas où est le problème. Mais hier, j'ai bien travaillé.
mon database.properties:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/streaming
jdbc.username=root
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.showsql=true
hibernate.hbm2ddl.auto=create
Il est possible pour moi d’exécuter mysql directement en ligne de commande. Où est le problème? Était est faux. J'utilise spring 4 et hibernate avec mysql comme langage de base de données.
Quelqu'un a des idées?
Remercier.
Il y a CommunicationsException: Échec de la liaison de communication.
Si vous obtenez une exception SQLException: connexion refusée ou connexion arrivée à expiration ou spécifique à MySQL
CommunicationsException: Communications link failure
cela signifie alors que la base de données n'est pas accessible du tout. Cela peut avoir une ou plusieurs des causes suivantes:
Pour résoudre l'un ou l'autre, suivez les conseils suivants:
Source: Plus de détails
Vous devez démarrer le serveur de base de données et vérifier la connectivité avec le client telnet ou mysql en premier.
Je n’étais pas incapable de trouver la cause exacte, mais j’ai réalisé que c’était à cause de certains pools de threads, car j’ai pu me connecter à la base de données en utilisant le terminal .
psql -h hostname -U username -d database
donc redémarrer le serveur a fonctionné pour moi.