【发布时间】:2018-11-05 21:05:56
【问题描述】:
我有一个在本地运行良好的 Spring Web 应用程序。 我在 Amazon RDS 上有我的 MySQL 数据库,我还将一些图像存储在 Amazon S3 存储桶中。 然后我尝试使用 Elastic Beanstalk 部署 War,当我输入 URL 时,我得到的唯一结果是 404 错误。
然后我去查看日志,我认为这是导致问题的原因:
javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to open JDBC Connection for DDL execution
所以我假设我的数据源配置有问题,但我真的找不到解决办法。
这是我的 application.properties:
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.hibernate.ddl-auto = update
spring.datasource.url = jdbc:mysql://mysql-instance.rrgatg5flqq6.us-east-2.rds.amazonaws.com:3306/mydb
spring.datasource.username = ****
spring.datasource.password = ****
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
这是 pom.xml:
<groupId>com.spring</groupId>
<artifactId>gabphoto</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<name>gabphoto</name>
<description>Exam project 5 sem</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.133</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
提前谢谢你们!
【问题讨论】:
-
首先,检查你的连接字符串(你能从 MySQL Workbench 连接它吗?),然后让我知道结果。然后显示源码设置Hibernate的SessionFactory。
标签: hibernate amazon-web-services spring-boot jpa amazon-elastic-beanstalk