On m'a demandé de prendre en charge plusieurs bases de données dans la même instance, afin de prendre en charge l'hébergement multiclient. Chaque base de données a un schéma identique. L'utilisateur se connecte à une base de données spécifique en choisissant parmi une liste, et tous les appels suivants iront à cette base de données jusqu'à ce qu'ils se déconnectent.Plusieurs fabriques de sessions sous Spring/Hibernate
Je souhaite remplacer à chaud la fabrique de sessions dans un seul HibernateDaoTemplate basé sur un paramètre fourni par le client.
Je peux trouver beaucoup de choses sur les sources de données échangeables à chaud (et tous les problèmes de transaction associés), mais je veux remplacer les usines de session - conservant toute la mise en cache pour chacune.
Quelle est la manière la plus facile de faire cela? Configurer un HotSwappableTarget pour le DaoTemplate? Quelqu'un peut-il me montrer des exemples sur la façon de faire cela?
Bonne idée - mais comment basculer dans le cache prenant en charge les locataires? Tout ce que vous pouvez faire est de configurer un fournisseur de cache, et Hibernate l'utilise sous les couvertures pour créer un cache. Peut-être implémenter un CacheProvider qui à son tour génère un wrapper de cache prenant en charge les locataires? – Verdant