2017-05-28 1 views
0

Je travaille avec hibernate envers (version 4.3.5). Utilisation de l'audit conditionnel (doc 15.8 hibernate) J'ai hérité d'EnversIntegrator en créant mon propre clientEnversIntegrator. pour faire en sorte d'utiliser celui-ci, j'ai ajouté à META-INF \ services \ org.hibernate.integrator.spi.Integrator le chemin clientEnversIntegrator. ça a bien fonctionné! Lorsque je l'ai laissé par défaut, mais a changé l'application META-INF \ services \ org.hibernate.integrator.spi.Integrator pour pointer le clientEnversIntegrator n'a pas été utilisé pleinement. donc cela n'a pas fonctionné Mais je ne veux pas que cette déclaration soit au niveau du pot. Je dois le remplacer à partir de l'application. cause comme un projet - je ne peux pas contrôler le pot, il pourrait être mis à jour et etcSubstitution de META-INF services org.hibernate.integrator.spi.Integrator de Hibernate envers

Des idées sur comment remplacer ce fichier sans rien changer dans le bocal?

Répondre

0

Sans savoir plus précisément, je ne peux répondre que de manière générale.

Peu importe où vous placez votre fichier ServiceLoader, aussi longtemps que ce fichier est sur le chemin de classe pendant Hibernate bootstrap et que le contenu pointe vers une classe qui est également visible sur le chemin de classe. Il est probablement intéressant de noter que dans Hibernate 6, je cherche à introduire une approche beaucoup plus rationalisée pour l'audit conditionnel où les utilisateurs peuvent utiliser des écouteurs spécifiques à l'entité (pensez aux écouteurs d'entité de style JPA). Cela supprime le besoin de remplacer n'importe quel écouteur et peut facilement être appliqué à n'importe quelle entité en fonction des besoins.