La que se especifica las propiedades del Muelle en el interior de la aplicación.propiedades archivo. ¿Cómo puedo rellenar las propiedades de las variables de entorno?

Aquí es lo que he intentado, pero no parece funcionar:

aplicación.propiedades

spring.datasource.url=jdbc:postgresql://#{ systemProperties['DATABASE_HOST']}:5432/dbname
spring.datasource.username = postgres
spring.datasource.password = postgres
InformationsquelleAutor Oleg | 2016-09-26

3 Comentarios

  1. 7

    Puede hacer referencia a las propiedades del entorno de la misma manera que se refieren a las propiedades del Muelle mediante ${...} sintaxis.

    En su caso:

    spring.datasource.url=jdbc:postgresql://${DATABASE_HOST}:5432/dbname
    • Tengo un nombre de variable de entorno: el usuario y el valor: pasar. En mi aplicación.propiedades solía origen de datos.nombre de usuario=${usuario}. No lee el valor
    • Hay alguna forma para establecer el valor predeterminado en caso de que la variable de entorno no está establecido?
    • Usted puede poner los valores por defecto de la aplicación.yml. env propiedades sobrescribir ellos. Que tengan mayor prioridad
  2. 3

    Fuera de la caja, como usted sabe, la primavera de inicio de la espera de su origen de datos detalles para ser el uso de un conjunto específico de los nombres de las variables. Siendo la primavera, por supuesto, usted puede retrabajo de esto si usted necesita un par de métodos:

    1/Si la necesidad de utilizar las variables del medio ambiente proviene de la implementación de un servicio en la nube tales como Cloud Foundry o Horuku, no es resorte de arranque-motor de arranque-nube-conector que se encarga de adjudicar de la plomería de la caja. Una buena lectura es la (La unión a los Servicios de Datos con la Primavera de Arranque en Cloud Foundry artículo y el La implementación en la nube docs que te guía a través de este

    2/en Lugar de confiar en la Primavera-Inicio de la propia auto-mágico de cableado mecanismo, puede crear una configuración personalizada de frijol para invalidar cómo la información de origen de datos se rellena. Una buena lectura explicando las anotaciones de los involucrados puede ser encontrado aquí: Java Spring Config Documentación – @Bean Configuración De JavaDOC. Basado en el ejemplo de arriba, aquí es lo que me escupió:

    @Configuration
    public class MyDataSourceConfig {
    
        @Bean
        @Primary
        public DataSource getDataSource() {
    
            String url = "jdbc:postgresql://" + System.getenv("DATABASE_HOST") + ":5432/dbname";
            String username = "postgres"; 
            String password = "postgres";
            String driverClassName = "org.postgresql.Driver";
    
            /*
             * Create the datasource and return it
             * 
             * You could create the specific DS 
             * implementation (ie: org.postgresql.ds.PGPoolingDataSource) 
             * or ask Spring's DataSourceBuilder to autoconfigure it for you, 
             * whichever works best in your eyes
            */
    
            return DataSourceBuilder
                    .create()
                    .url( url )
                    .username( username )
                    .password( password )
                    .driverClassName( driverClassName )
                    .build();
        }
    }

    Sólo recuerde que en primavera, siempre se pueden reemplazar adjudicar de la predeterminada comportamientos con un poco de cavar!

    Espero que esto ayude!

  3. 2

    Usted no tiene que. Cuando la Primavera de Inicio inicializa su entorno, tira cosas tanto de la application.properties archivo y cualquier sistema de variables de nivel y las combina juntos. La lista completa de los lugares donde la Primavera lleva desde es aquí, específicamente los puntos de 9) y 10).

    • eso es bueno, pero en ese caso no puedo usar mis propios nombres de la propiedad (la cual tengo que debido a la configuración aquí)
    • Sólo el desplazamiento de alrededor y asignar DATABASE_HOST a SPRING_DATASOURCE_URL y así sucesivamente

Dejar respuesta

Please enter your comment!
Please enter your name here