JBoss EAP 6.1 serveur standloneOracle JDBC conflit de pilotes
application déployée en tant que fichier de guerre jette une exception d'exécution
java.lang.ClassCastException: oracle.sql.ARRAY cannot be cast to oracle.sql.ARRAY
à la ligne
oracle.sql.ARRAY obj = (oracle.sql.ARRAY) rs.getObject("RATINGOBJ");
JDBC libary inclus est ojdbc6.jar (WEB_INF/lib). Toutes les bibliothèques sont incluses dans le fichier war et aucune librairie "globale" n'est configurée sur le serveur. J'ai vérifié qu'aucune autre bibliothèque jdbc n'est incluse dans l'application. Afin de créer une source de données JDBC, j'ai créé un déploiement pour ojdbc6.jar. C'est la seule source possible de conflit que je peux penser. Lorsque je supprime le fichier ojdbc6.jar du fichier war, j'obtiens une exception ClassNotFound à la place de ClassCastException.
Chaque autre partie de l'application fonctionne bien, sauf cette ligne. Comment est-ce que je débogue ceci plus loin?
Peut-être essayer et exécuter une application de test très simple avec seulement votre pilote JDBC en tant que dépendance? – fge
Cela ne se produit-il qu'occasionnellement? Redémarrez-vous le serveur chaque fois que vous redéployez l'application? –
Chaque fois que je déploie l'application, je redémarre le serveur. Je ne pense pas que ce soit nécessaire, mais je le fais quand même. – BBS