Nous utilisons spring
+ spring data jpa repositories
+ maven
comme environnement de construction. Nous déployons nos guerres de projet sur plusieurs environnements de nuage.Conditionnellement à l'exclusion des données de printemps des référentiels jpa
Pour un environnement cloud particulier, nous récupérons les informations d'identification de connexion à partir de la base de données. Par ex. Pour AWS
nous pouvons avoir objet de domaine AWSCredentials
et AWSCredentialsRepository
Pour Azure
nous pouvons avoir AzureCredentials
objet de domaine et AzureCredentialsRepository
.
Existe-t-il un moyen dans les données de printemps jpa que nous puissions conditionnellement charger des dépôts en utilisant un paramètre du script de construction?
Par exemple: Je souhaite déployer sur un nuage azur. Donc, je voudrais seulement AzureCredentials
domaine et AzureCredentialsRepository
mais pas AWS
.
Existe-t-il une manière élégante de le faire dans spring
?
Un moyen de le profiler dans une annotation JavaConfig? Quelque chose comme @MyProfile @EnableJpaRepositories (basePackages = {"com.nsn.nitro.project.data.jpa"}, repositoryFactoryBeanClass = com.nsn.nitro.project.data.jpa.repository.GenericRepositoryFactoryBean.class) – Stephane
Je n'ai pas vérifiez, mais je pense que deux classes de configuration avec des annotations @Profile devraient faire l'affaire. – wjtk
J'ai utilisé l'annotation conditionnelle et cela a fait l'affaire. – Stephane