使用关键的云代工厂rabbitmq和mysql服务使用vcap服务进行spring数据jpa应用程序

时间:2017-05-23 05:33:36

标签: java mysql spring jpa

我可以使用关键的RABBITMQ和MYSQLSERVICES.While绑定服务我能够获取凭据并在我的application.properties中使用该凭据用于spring data jpa项目。

但是我使用的这个配置在application.Properties中是硬编码为了动态地进行这个配置我知道我们可以使用由pivotal提供的vcap服务。

所以想要使用rabbimq和mysql的运行时凭证。

我的代码在下面供参考。

文件:application.propeties

rabbitmq.host=hostname
rabbitmq.virtual-host=vhost
rabbitmq.username=username
rabbitmq.password=password
rabbit.mainqueue=queue name
rabbit.errorqueue=erro queue name
spring.datasource.url=jdbc:mysql://hostname:postno
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
server.port=8000

以下是存储库文件

package com.redistomysql.consumer.repo;

import org.springframework.data.jpa.repository.JpaRepository;

public interface tblemployee_personal_infoRepository extends JpaRepository<tblemployee_personal_info, Long> {

}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

The link for reference **http://www.java-allandsundry.com/2016/05/approaches-to-binding-spring-boot.html** 
Set this configuration in application-cloud.yml for Mysql
---

spring:
  datasource:
    url: ${vcap.services.mydb.credentials.jdbcUrl}
    username: ${vcap.services.mydb.credentials.username}
    password: ${vcap.services.mydb.credentials.password}

    The config for rabbitMq:
System.getEnv("VCAP_SERVICES")

pom.xml中的依赖项

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-spring-service-connector</artifactId>
        <version>1.2.4.RELEASE</version>
    </dependency>
    <!-- If you intend to deploy the app on Cloud Foundry, add the following -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-cloudfoundry-connector</artifactId>
        <version>1.2.4.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-heroku-connector</artifactId>
        <version>1.2.4.RELEASE</version>
    </dependency>

**The manifest.yml**

---
applications:
  - name: redistomysql-consumer
    path: target/redistomysql-consumer-0.0.1-SNAPSHOT.jar
    memory: 1024M
    env:
      JAVA_OPTS: -Djava.security.egd=file:/dev/./urandom
      SPRING_PROFILES_ACTIVE: cloud
    services:
      - es-mysql-db
      - es-consumer-rabbitmq-service

buildpack: https://github.com/cloudfoundry/java-buildpack.git

env:
    JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '{enabled: false}'