2017-03-15 6 views
0

私の春のブートアプリケーションはローカルホスト上で問題なく動作しますが、サーバーに展開するとき場合によってはデータを正常にロードすることもありますが、時には500エラーが発生します。これは、angularJSを使用してmysqlからデータを表示するページにあります。GET http:// myserverip:8081/myapp/api/v1/campaigns 500(内部サーバーエラー)

誰も同じような問題が発生しましたか? (それは長いですので、SRY)

spring.jpa.hibernate.ddl-auto=update 

# Replace with your connection string 
spring.datasource.url=jdbc:mysql://localhost:3306/myapp 
spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8; 

# Replace with your credentials 
spring.datasource.username=root 
spring.datasource.password=root 

spring.datasource.test-while-idle=true 
spring.datasource.test-on-borrow=true 
spring.datasource.connection-test-query=SELECT 1 

spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect 

そして、ここでログです: 以下は私のapplication.propertiesファイルです

2017-03-15 18:47:01.733 WARN 2283 --- [o-8081-exec-448] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: null 
 
2017-03-15 18:47:01.733 ERROR 2283 --- [o-8081-exec-448] o.h.engine.jdbc.spi.SqlExceptionHelper : Failed to validate a newly established connection. 
 
2017-03-15 18:47:01.739 ERROR 2283 --- [o-8081-exec-448] o.s.boot.context.web.ErrorPageFilter  : Forwarding to error page from request [/api/v1/campaigns] due to ex$ 
 

 
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.Generic$ 
 
     at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:431) ~[spring-orm-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373) ~[spring-tx-4.2.5.REL$ 
 
     at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427) ~[spring-tx-4.2.5.RELEA$ 
 
     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276) ~[spring-tx-4.2.5.RELEASE.ja$ 
 
     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) ~[spring-tx-4.2.5.REL$ 
 
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostP$ 
 
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) ~[spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at com.sun.proxy.$Proxy8453.findAll(Unknown Source) ~[na:na] 
 
     at com.fitnet.controller.CampaignController.allCampaigns(CampaignController.java:35) ~[classes/:na] 
 
     at sun.reflect.GeneratedMethodAccessor3263.invoke(Unknown Source) ~[na:na] 
 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121] 
 
     at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121] 
 
     at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-$ 
 
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:817) ~[spring-webmv$ 
 
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:731) ~[spring-webmvc-4.2$ 
 
     at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5$ 
 

 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) ~[servlet-api.jar:na] 
 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844) ~[spring-webmvc-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) ~[servlet-api.jar:na] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat7-websocket.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
     at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
     at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) ~[spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
     at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:120) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] 
 
     at org.springframework.boot.context.web.ErrorPageFilter.access$000(ErrorPageFilter.java:61) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] 
 
     at org.springframework.boot.context.web.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:95) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] 
 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.boot.context.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:113) [spring-boot-1.3.3.RELEASE.jar:1.3.3.RELEASE] 
 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.73] 
 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.73] 
 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) [catalina.jar:7.0.73] 
 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) [tomcat-coyote.jar:7.0.73] 
 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) [tomcat-coyote.jar:7.0.73] 
 
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) [tomcat-coyote.jar:7.0.73] 
 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_121] 
 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_121] 
 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.73] 
 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] 
 
Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection 
 
     at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:235) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:171) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     at org.hibernate.internal.SessionImpl.connection(SessionImpl.java:450) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     at sun.reflect.GeneratedMethodAccessor3245.invoke(Unknown Source) ~[na:na] 
 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121] 
 
     at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121] 
 

 
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) ~[spring-core-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:201) ~[spring-core-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle.doGetConnection(HibernateJpaDialect.java:395) ~[spring-orm-4.2.5.RELEASE.ja$ 
 
     at org.springframework.orm.jpa.vendor.HibernateJpaDialect.beginTransaction(HibernateJpaDialect.java:158) ~[spring-orm-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:380) ~[spring-orm-4.2.5.RELEASE.jar:4.2.5.RELEASE] 
 
     ... 73 common frames omitted 
 
Caused by: java.sql.SQLException: Failed to validate a newly established connection. 
 
     at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:811) ~[tomcat-jdbc-8.0.32.jar:na] 
 
     at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:626) ~[tomcat-jdbc-8.0.32.jar:na] 
 
     at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:185) ~[tomcat-jdbc-8.0.32.jar:na] 
 
     at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127) ~[tomcat-jdbc-8.0.32.jar:na] 
 
     at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139) ~[hibernate-core-4.$ 
 
     at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380) ~[hibernate-core-4.3.11.Final.ja$ 
 
     at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] 
 
     ... 83 common frames omitted

+1

は、あなたの '.properties'よりも多くを共有する必要がありますファイル。あなたのコントローラ/サービスなどを共有できますか? –

+1

サーバのログファイルを確認してください。内部サーバーのエラーにつながる問題がログに記録されるはずです。 –

+0

あなたのログを共有したいかもしれません。 –

答えて

0

私は追加することで問題を解決してきたと信じてpom.xmlファイルへの新しい依存関係、および以下に示すようにapplication.propertiesファイルを編集します。

spring.jpa.hibernate.ddl-auto=update 
 

 
# Replace with your connection string 
 
spring.datasource.url=jdbc:mysql://localhost:3306/myapp 
 
spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8; 
 

 
# Replace with your credentials 
 
spring.datasource.username=root 
 
spring.datasource.password=root 
 

 
#spring.datasource.test-while-idle=true 
 

 
# Keep the connection alive if idle for a long time (needed in production) 
 
spring.datasource.testWhileIdle = true 
 
spring.datasource.validationQuery = SELECT 1 
 

 
spring.datasource.test-on-borrow=true 
 
spring.datasource.connection-test-query=SELECT 1 
 
spring.datasource.tomcat.validation-interval=0 
 
# Number of ms to wait before throwing an exception if no connection is available. 
 
spring.datasource.tomcat.max-wait=10000 
 

 
# Validate the connection before borrowing it from the pool. 
 
spring.datasource.tomcat.test-on-borrow=true 
 

 
#spring.datasource.driverClassName=com.mysql.jdbc.Driver 
 
#spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect 
 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
 
#spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect 
 

 
# The SQL dialect makes Hibernate generate better SQL for the chosen database 
 
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

<dependency> 
 
    <groupId>org.springframework.boot</groupId> 
 
    <artifactId>spring-boot-starter-web</artifactId> 
 
</dependency> 
 

 
\t <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc --> 
 
<dependency> 
 
\t <groupId>org.springframework.boot</groupId> 
 
\t <artifactId>spring-boot-starter-jdbc</artifactId> 
 
\t <version>1.5.2.RELEASE</version> 
 
</dependency>

クレジットへ:http://blog.netgloo.com/2014/10/27/using-mysql-in-spring-boot-via-spring-data-jpa-and-hibernate/

は、それが誰かの役に立てば幸い:D

関連する問題