IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Spring CGLIB et cast


Sujet :

Spring Java

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Spring CGLIB et cast
    Bonjour,

    je travaille actuellement sur une application Java 5 + Tomcat 5_5 + Spring 3.1.1 + Flex 3

    Nous essayons de migrer en Java 7 + Tomcat 8 + Spring 3.1.1 + Flex 3

    Au lancement du serveur, nous faisons appel à des beans instanciés par Spring de cette façon :
    spring.getBean(MaClass.class) --> aucun problème dans l'initServlet

    Dans un service appelé par Flex, nous faisons le même type d'appel :
    spring.getBean(MaClass.class) --> et nous avons l'erreur java.lang.ClassCastException: xx.MaClass$$EnhancerByCGLIB$$b3569766_2 cannot be cast to xx.MaClass

    Rien n'a été changé dans le code entre les deux configurations. Après plusieurs jours de recherches, j'espère que l'un d'entre vous aura déjà rencontré ce problème.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    c'est en général le symptôme d'une configuration boiteuse au niveau du proxy target mode, du choix de programmation par interface ou non et d'où sont placés les annotations @Transactional

  3. #3
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 22
    Points : 54
    Points
    54
    Par défaut
    Pour être tout à fait honnête, il n'y a aucune interface, les @Transactional sont donc sur les classes à récupérer.
    Ce qui me parait étrange c'est que cela fonctionnait avec l'ancienne config. Je ne parviens pas à trouver la petite différence qui fait que cela ne fonctionne plus...

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par infoIT Voir le message
    Pour être tout à fait honnête, il n'y a aucune interface, les @Transactional sont donc sur les classes à récupérer.
    Ce qui me parait étrange c'est que cela fonctionnait avec l'ancienne config. Je ne parviens pas à trouver la petite différence qui fait que cela ne fonctionne plus...

    et donc le proxy-target-class="true" ?

  5. #5
    Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 22
    Points : 54
    Points
    54
    Par défaut
    Oui c'est ça

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    question "petite différence" passer de Java 5 à 7 … ce n'est pas une petite…
    et comme c'est un problème de proxy…

    pour ce que vous en dites ici, je dirais que votre configuration est correcte…
    mais comme cela plante dans le code lié à Flex, donc je soupçonne qu'elle n'est pas complètement appliquée à la classe appelée par Flex…
    sans doute un contrôleur de la couche MVC chargée par le context de la servlet…
    et mon premier suspect sera donc que vous avez correctement configuré votre contexte Spring
    … et oublié de faire la même chose dans celui chargé par la servlet…

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je regarderai de ce côté demain alors... mais à priori il s'agirait d'un problème lié à tomcat puisque la config spring fonctionne en java7 et tomcat 6.... mais pas tomcat 7 et 8...

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Mystère finalement résolu. Il s'agissait de conf eclipse/serveur.
    Sur le serveur nous avions :
    Les .class
    Le jar en double
    + le jar déclaré dans les lib du serveur sur eclipse

    Quand on a 4 fois une classe décrite ça pose problème à partir de tomcat 7... mystère résolu mais je ne comprends pas comment cela marchait avant et plus maintenant...

Discussions similaires

  1. [Security] Spring Security et CAS
    Par Monyatik dans le forum Spring
    Réponses: 2
    Dernier message: 29/03/2011, 10h47
  2. [Framework] Spring AOP & CGLib
    Par fabszn dans le forum Spring
    Réponses: 0
    Dernier message: 17/08/2010, 16h17
  3. Boucle infinie ! Spring security / CAS
    Par Gamergeo dans le forum Sécurité
    Réponses: 0
    Dernier message: 06/05/2010, 13h59
  4. [Security] spring security et CAS
    Par progamer54 dans le forum Spring
    Réponses: 2
    Dernier message: 05/03/2009, 11h20
  5. Réponses: 2
    Dernier message: 24/06/2008, 09h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo