我使用spring boot在openshit(tomcat7类型)中创建了应用程序。以下是我的连接属性
# Remote Datasource Configuration
spring.datasource.url=jdbc:mysql://127.3.175.2:3306/sivam
spring.datasource.username=xxx
spring.datasource.password=yyy
当我尝试部署我的应用程序时,它没有连接到数据库。不幸的是,由于代理设置,我现在无法登录日志。 相同的代码在我的系统中使用本地数据库凭据正常工作。
# Local Datasource Configuration
spring.datasource.url=jdbc:mysql://localhost:3306/sivam
spring.datasource.username=xxx
spring.datasource.password =yyy
我还使用普通的JDBC连接(Class.forName()等)检查了远程数据库凭据,并正确部署了它。从openshift mysql db获取记录。所以我的困难只在春季启动时,我是否需要对此进行任何具体更改?
答案 0 :(得分:1)
最后我找到了问题并修复了它。 实际上问题是使用用Java 7编译的tomcat版本的spring boot的最新版本,所以我们需要做一些变通方法才能使它工作。
<properties>
<tomcat.version>7.0.59</tomcat.version>
</properties>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
<version>1.0.0.Final</version>
</dependency>
我的应用程序部署到openshift PaaS服务器并按预期工作。