J'ai une application java qui nécessite la dernière version de commons-dbcp (1.3) et son pool de connexions db est configuré par Spring. Cette application n'est qu'une liste d'applications dans le même tomcat (une suite si vous préférez) et beaucoup d'entre elles utilisent une ancienne version de commons-dbcp (1.2.1), toutes configurées par Spring. Donc, bien que je puisse compiler (avec Maven) mon application avec DBCP 1.3, je ne peux pas l'exécuter car Spring essaie de configurer mon pool de connexion db avec l'ancienne version, qui est dans/shared/lib dans Tomcat . Le problème que j'ai est que je n'ai pas le temps, ni l'approbation, pour mettre à jour tout à 1.3, juste l'application que je corrige. Est-il possible de forcer Spring, dans le fichier components.xml de mon application (ou par d'autres moyens) à la nouvelle version de DBCP afin que seulement elle exécute la nouvelle version et n'affecte aucune autre application?Configurer Spring pour utiliser une version spécifique d'une classe
1
A
Répondre
3
Tant que vous avez la version 1.2.1 dans/shared/lib, il n'y a pas de moyen facile de réaliser ce dont vous avez besoin, pour autant que je sache. Ce que vous faites généralement dans ce cas est que vous associez la version 1.2.1 avec les applications qui ont besoin de cette version (par exemple dans WEB-INF/lib s'il s'agit d'applications web) et regroupez la version 1.3 avec votre application .
0
Vous pouvez éventuellement utiliser Jar Jar pour déplacer des classes de version dbcp 1.3 sous un package différent et demander à Spring de les utiliser.
Oui, c'est un hack.
Questions connexes
- 1. Utiliser une version spécifique de vcredist?
- 2. Puis-je configurer cxf pour utiliser un analyseur XML spécifique?
- 3. Comment utiliser Convert.ChangeType pour convertir une classe spécifique?
- 4. Comment configurer Capistrano pour utiliser ma version rvm de Ruby
- 5. Configurer une branche locale pour pousser vers une branche spécifique
- 6. Exiger une version spécifique d'ActiveRecord
- 7. Configurer Spring l'MappingJacksonHttpMessageConverter
- 8. Configurer une application WinHTTP pour utiliser Fiddler
- 9. Création Manipulateurs ostream pour une classe spécifique
- 10. Remplacement pour Spring Richclient Statusbar classe
- 11. Comment utiliser spring security3.0.3 pour sécuriser une telle logique métier?
- 12. Maven, configurer objectif spécifique
- 13. Comment configurer PasswordComparisonAuthenticator Spring Security
- 14. Configurer cakephp pour utiliser JQuery
- 15. Comment charger une version spécifique d'un assemblage
- 16. Comment puis-je configurer les index pour utiliser db4o avec Spring?
- 17. Installer/compiler pour une version spécifique de Silverlight
- 18. iPhone - validation du code pour une version du SDK spécifique
- 19. Configurer EasyPHP pour utiliser CGI
- 20. Comment configurer Spring pour charger le mapping hibernate depuis jar?
- 21. Configurer flymake pour utiliser un répertoire spécifique pour les fichiers temporaires?
- 22. Cibler une version non spécifique d'un assemblage
- 23. Comment configurer un projet multimodule Spring?
- 24. Utiliser Spring @Transactional dans Scala
- 25. Comment puis-je configurer Spring Security pour utiliser l'implémentation d'AuthenticationManager personnalisée?
- 26. Pourquoi une classe proxy est-elle requise pour Spring AOP?
- 27. La classe statique doit utiliser une classe gérée par ressort
- 28. Comment configurer un projet pour utiliser TweetSharp
- 29. Utiliser un filtre pour afficher une page spécifique?
- 30. Comment utiliser jQuery pour sélectionner des ID qui ne se trouvent pas dans une classe spécifique
Je seconde cela. Ne mettez jamais rien dans les classloaders partagés dans tomcat - cela finit toujours en larmes. –
Nous avons fini par devoir faire un effort car nous ne pouvons pas remplacer la version 1.2.1 déjà existante. – Cyntech