在 AWS Elastic Beanstalk 的 spring 引导应用程序中创建名称为 'entityManagerFactory' 的 bean 时出错
Error creating bean with name 'entityManagerFactory' in spring boot app in AWS Elastic Beanstalk
我有一个简单的 spring 引导项目,使用 spring-boot-starter-data-jpa。
该应用程序在我的本地 运行ning 正常。
但是当我使用 Elastic Bean stalk 将应用程序部署到 AWS 时,出现以下错误:
web:org.springframework.beans.factory.BeanCreationException:在 class 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class] 中定义名称 'entityManagerFactory' 创建 bean 时出错: 初始化方法调用失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]。
我猜想与打包 jar 相关,但找不到解决方案。请帮忙。
完整日志:
3 月 14 日 10:46:02 ip-172-31-11-21 web: ... 省略了 57 个常见帧
3 月 14 日 10:46:02 ip-172-31-11-21 web:引起:java.net.ConnectException:连接被拒绝(连接被拒绝)
3 月 14 日 10:46:02 ip-172-31-11-21 网络:在 java.base/java.net.PlainSocketImpl.socketConnect(本机方法)~[na:na]
3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) ~[na:na ]
3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) ~[na:na ]
3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) ~[na:na ]
3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:na ]
3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.Socket.connect(Socket.java:609) ~[na:na ]
3 月 14 日 10:46:02 ip-172-31-11-21 网站:在 com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:156) ~[mysql-connector-java-8.0 .28.jar!/:8.0.28]
3 月 14 日 10:46:02 ip-172-31-11-21 网络:在 com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ~[mysql-connector-java-8.0 .28.jar!/:8.0.28]
3 月 14 日 10:46:02 ip-172-31-11-21 web: ... 省略了 60 个常见帧
3 月 14 日 10:46:02 ip-172-31-11-21 web: 2022-03-14 10:46:02.009 错误 8587 --- [main] j.LocalContainerEntityManagerFactoryBean:无法初始化 JPA EntityManagerFactory:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
3 月 14 日 10:46:02 ip-172-31-11-21 web: 2022-03-14 10:46:02.009 WARN 8587 --- [main] ConfigServletWebServerApplicationContext:上下文初始化期间遇到异常 - 取消刷新尝试: org.springframework.beans.factory.BeanCreationException:在 class 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class] 中定义名称 'entityManagerFactory' 创建 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
3 月 14 日 10:46:02 ip-172-31-11-21 web: 2022-03-14 10:46:02.034 INFO 8587 --- [main] o.apache.catalina.core.StandardService : 停止服务 [Tomcat]
3 月 14 日 10:46:02 ip-172-31-11-21 网络:2022-03-14 10:46:02.094 信息 8587 --- [主要] ConditionEvaluationReportLoggingListener:
3 月 14 日 10:46:02 ip-172-31-11-21 web:启动 ApplicationContext 时出错。要显示条件报告,请重新 运行 您的应用程序并启用 'debug'。
3 月 14 日 10:46:02 ip-172-31-11-21 网络:2022-03-14 10:46:02.147 错误 8587 --- [主要] o.s.boot.SpringApplication:应用程序 运行失败的
3 月 14 日 10:46:02 ip-172-31-11-21 web:org.springframework.beans.factory.BeanCreationException:创建名称为 'entityManagerFactory' 的 bean 在 class 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration 中定义时出错。 class]: 初始化方法调用失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
3 月 14 日 10:46:02 ip-172-31-11-21 网络:在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.15.jar !/:5.3.15]
我更改了标记到RDS数据库的安全组的入站规则后解决了。
我有一个简单的 spring 引导项目,使用 spring-boot-starter-data-jpa。 该应用程序在我的本地 运行ning 正常。 但是当我使用 Elastic Bean stalk 将应用程序部署到 AWS 时,出现以下错误:
web:org.springframework.beans.factory.BeanCreationException:在 class 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class] 中定义名称 'entityManagerFactory' 创建 bean 时出错: 初始化方法调用失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]。
我猜想与打包 jar 相关,但找不到解决方案。请帮忙。
完整日志:
3 月 14 日 10:46:02 ip-172-31-11-21 web: ... 省略了 57 个常见帧 3 月 14 日 10:46:02 ip-172-31-11-21 web:引起:java.net.ConnectException:连接被拒绝(连接被拒绝) 3 月 14 日 10:46:02 ip-172-31-11-21 网络:在 java.base/java.net.PlainSocketImpl.socketConnect(本机方法)~[na:na] 3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) ~[na:na ] 3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) ~[na:na ] 3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) ~[na:na ] 3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:na ] 3 月 14 日 10:46:02 ip-172-31-11-21 网址:在 java.base/java.net.Socket.connect(Socket.java:609) ~[na:na ] 3 月 14 日 10:46:02 ip-172-31-11-21 网站:在 com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:156) ~[mysql-connector-java-8.0 .28.jar!/:8.0.28] 3 月 14 日 10:46:02 ip-172-31-11-21 网络:在 com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:63) ~[mysql-connector-java-8.0 .28.jar!/:8.0.28] 3 月 14 日 10:46:02 ip-172-31-11-21 web: ... 省略了 60 个常见帧 3 月 14 日 10:46:02 ip-172-31-11-21 web: 2022-03-14 10:46:02.009 错误 8587 --- [main] j.LocalContainerEntityManagerFactoryBean:无法初始化 JPA EntityManagerFactory:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 3 月 14 日 10:46:02 ip-172-31-11-21 web: 2022-03-14 10:46:02.009 WARN 8587 --- [main] ConfigServletWebServerApplicationContext:上下文初始化期间遇到异常 - 取消刷新尝试: org.springframework.beans.factory.BeanCreationException:在 class 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class] 中定义名称 'entityManagerFactory' 创建 bean 时出错:调用 init 方法失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 3 月 14 日 10:46:02 ip-172-31-11-21 web: 2022-03-14 10:46:02.034 INFO 8587 --- [main] o.apache.catalina.core.StandardService : 停止服务 [Tomcat] 3 月 14 日 10:46:02 ip-172-31-11-21 网络:2022-03-14 10:46:02.094 信息 8587 --- [主要] ConditionEvaluationReportLoggingListener: 3 月 14 日 10:46:02 ip-172-31-11-21 web:启动 ApplicationContext 时出错。要显示条件报告,请重新 运行 您的应用程序并启用 'debug'。 3 月 14 日 10:46:02 ip-172-31-11-21 网络:2022-03-14 10:46:02.147 错误 8587 --- [主要] o.s.boot.SpringApplication:应用程序 运行失败的 3 月 14 日 10:46:02 ip-172-31-11-21 web:org.springframework.beans.factory.BeanCreationException:创建名称为 'entityManagerFactory' 的 bean 在 class 路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration 中定义时出错。 class]: 初始化方法调用失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 3 月 14 日 10:46:02 ip-172-31-11-21 网络:在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.15.jar !/:5.3.15]
我更改了标记到RDS数据库的安全组的入站规则后解决了。