1

我使用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 获取记录。所以我的困难只在于spring boot,我需要为此做任何具体的改变吗?

4

1 回答 1

1

最后我发现了问题并修复了它。实际上问题是 Spring Boot 的最新版本使用 Java 7 编译的 tomcat 版本,所以我们需要做一些变通方法来使其工作。

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

于 2016-07-09T09:58:41.077 回答