0
votes

L'application de démarrage de printemps n'est pas capable de lire les propriétés de l'environnement

J'ai une application de démarrage de printemps dans laquelle j'utilise les propriétés de l'environnement pour le fichier yml code>.

mon application.yml code> ressemble à ceci: p>

#!/bin/bash
export DB_DRIVER=com.mysql.cj.jdbc.Driver
export DB_PASSWORD=XXXXXX
export DB_URL=jdbc:mysql://XX.XX.XX.XX:3306/XXXXX
export DB_USER=XXXXXX


2 commentaires

Vous êtes-vous assuré que votre setenv.sh est accessible par tomcat? Aussi que catalina_base et catalina_home est défini? Référence: ici


@Sajjad j'ai ajouté catalina_home dans / etc / environnements et setenv.sh a des autorisations de lecture et d'exécution. Y a-t-il autre chose à faire?


3 Réponses :


0
votes

Pourrait être que vous entrez de mauvais identifiants. Vérifiez simplement les mêmes informations d'identification avec certains outils d'interface graphique MySQL comme Workbench, Squlyog ....


1 commentaires

Oui, je l'ai fait et comme vous pouvez le voir à l'exception, il utilise le texte brut des variables d'environnement dans le YML.



0
votes

Vous pouvez utiliser spring.config.location pour configurer le chemin explicite de vos fichiers de configuration externalisés. Ensuite, vous pouvez configurer votre application de démarrage à ressort pour les charger en tant que propriétés du système au démarrage.

Par exemple xxx

Source: ici


1 commentaires

Mais mon problème n'est pas où le fichier de configuration est placé et je préférerais éviter l'externalisation. Je veux pouvoir avoir des démarches de printemps à lire les variables d'environnement.



0
votes

dans votre fichier de propriétés de démarrage à ressort que vous utilisez

$ {db_username}

et dans le fichier de configuration Bash que vous utilisez

Exporter db_user = xxxxxx

Changer le fichier bash vers

Exporter $ {db_username} = xxxxxx


0 commentaires