无法使用spring boot连接openshift mysql

时间:2016-07-05 06:07:54

标签: spring-mvc spring-boot openshift openshift-cartridge openshift-php-cartidges

我使用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获取记录。所以我的困难只在春季启动时,我是否需要对此进行任何具体更改?

1 个答案:

答案 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服务器并按预期工作。