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

Services Web Java Discussion :

Axis2 + hibernate + spring => AAR


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut Axis2 + hibernate + spring => AAR
    Bonjour à tous.

    J'ai un soucis lors du déploiement d'une application sous Axis2, utilisant Spring et hibernate, le tout packagé dans un AAR.

    Lors du déploiement il n'arrive pas à trouver mon driver Oracle, or, celui-ci est bien dans mon AAR.
    Il semble que ce ne soit pas si simple d'intégrer Spring dans Axis2 à cause de problème de classloader.

    En suivant la doc et les forums, j'ai effectué les manipulations suivantes :
    - Ajout de <bean id="applicationContext" class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHolder" /> dans mon context.xml
    - création d'une classe appelée au démarrage via : class="com.atos.ims.webservices.SpringBootstrap" placé dans le services.xml (première balise)
    - cette classe qui hérite de ServiceLifeCycle modifie le classloader ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void startUp(ConfigurationContext ctx, AxisService service) {
        ClassLoader classLoader = service.getClassLoader();
        ClassPathXmlApplicationContext appCtx = new ClassPathXmlApplicationContext(
        new String[] { "context.xml", "webserviceContext.xml" }, false);
        appCtx.setClassLoader(classLoader);
        appCtx.refresh();
    }
    - mon fichier webserviceContext.xml contient un bean vers ma classe Web service.

    Avec ceci, la plupart des classes sont trouvées, sauf si elles existent aussi dans le dossier lib de Tomcat (typiquement les classes de pool de connexion du commons-dbcp.jar).

    Que me manque-t-il pour que toutes les classes soient cherchées (et trouvées) en priorité dans mon AAR?

    Merci !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 239
    Par défaut
    je pense que le AAR contient que les classes des web services (pas de classes sous adjacentes) un répertoire META-IF qui contient le fichier services.xml et le MANIFEST,, alors ton fichier il faut le mettre dans le classpath de l'application.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Bonjour.

    Merci pour ta réponse.
    Cependant, je ne comprend pas très bien.
    Mon Webservice effectue une action. cette action nécessite d'autres librairies (Spring, hibernate etc...).

    Je ne peux donc pas le retirer de l'AAR.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 239
    Par défaut
    Si tu peux les retitrer et les inscrires dans ton MANIFEST de le AAR

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 121
    Par défaut
    Ok, donc si je comprends bien, il faut que je sorte mes lib de l'AAR pour les mettre dans un dossier "partagé" par Axis2 (son dossier lib)?

    Pas terrible en terme de livraison/déploiement

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 239
    Par défaut
    Citation Envoyé par lamoua76 Voir le message
    Ok, donc si je comprends bien, il faut que je sorte mes lib de l'AAR pour les mettre dans un dossier "partagé" par Axis2 (son dossier lib)?

    Pas terrible en terme de livraison/déploiement
    pourquoi????

Discussions similaires

  1. [hibernate][spring] première application
    Par iftolotfi dans le forum Hibernate
    Réponses: 2
    Dernier message: 01/06/2006, 07h03
  2. Réponses: 10
    Dernier message: 31/05/2006, 16h15
  3. [Hibernate - Spring] Spring => Version 2 d'Hibernate?
    Par cicolas dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/05/2006, 16h22
  4. [hibernate][spring]requete select from where IN
    Par whilecoyote dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/04/2006, 09h06
  5. [Hibernate][Spring] Session Hibernate initialisée
    Par mauvais_karma dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/08/2005, 13h07

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