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

JOnAS Java Discussion :

JOnAS 5.1.5 et les annotations JSR-250 avec Spring 3.0.5


Sujet :

JOnAS Java

  1. #1
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Points : 2 370
    Points
    2 370
    Par défaut JOnAS 5.1.5 et les annotations JSR-250 avec Spring 3.0.5
    Bonjour,
    j'essaie d'injecter des beans managés par Spring dans des classes en utlisant l'annotation @Resource, qui fait partie
    de la JSR-250.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        @Resource
        ManageTrace manageTraceApplication;
    Dans mon fichier de configuration XML, j'ai défini le bean managé suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      <bean id="manageTraceApplication"
            class="com.aa.bb.cc.application.impl.ManageTraceImpl"
            scope="singleton" />
    J'ai alors l'erreur suivante, au déploiement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.ow2.jonas.deployment.web.WebContainerDeploymentDescException: jonas-resource missing for res-ref-name com.aa.bb.cc.presentation.server.ManageDemandeDelegate/manageTraceApplication: jonas-resource missing for res-ref-name com.aa.bb.cc.presentation.server.ManageDemandeDelegate/manageTraceApplication
    C'est comme si lors du déploiement le serveur recherche une variable d'environnement manageTraceApplication dans le registre JNDI.

    Ai-je besoin de modifier qque chose dans Jonas pour éviter ça ?
    Une idée ?

    Merci pour votre aide.

  2. #2
    Membre VIP Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    Mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 442
    Points : 568
    Points
    568
    Par défaut
    En fait, JOnAS introspecte les classes des composants Java EE (Servlets, ContextListener, ...) pour trouver les @Resource Java EE.

    La spec Java EE ne connaissant pas Spring, les seuls composants qui peuvent etre injecté dans les env-entry, resource-ref, ... ou n'importe quoi qui est enregistré dans le JNDI.

    Questions:
    1. Ton @Resource, il est dans quel classe ? une servlet, ou une classe d'un bean spring ?
    2. Tu vois un WARNING ou c'est vraiment une erreur avec une Exception que tu recois ?

  3. #3
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Points : 2 370
    Points
    2 370
    Par défaut
    Je vais essayer de refaire le test bientôt et je te tiens au courant pour l'erreur exacte (erreur ou warning, je ne sais plus).
    En tout cas je peux te dire qu'on voulait utiliser l'annotation @Resource dans une classe qui étend SpringBeanInjectionRemoteServiceServlet.

    On utilise @Autowired pour le moment.

  4. #4
    Membre VIP Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    Mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 442
    Points : 568
    Points
    568
    Par défaut
    C'est une Servlet si elle est déclarée dans ton web.xml en fait.
    Mais vu le nom, ca semble le cas.

    La solution, c'est aussi peut-etre de ne plus utiliser @Resource dans les Servlet...
    Il doit surement y avoir un autre moyen se se faire injecter ce que tu veux, mais sans se baser sur @Resource.

Discussions similaires

  1. Utiliser les Annotations pour générer un WebService
    Par tvonstebut dans le forum Services Web
    Réponses: 3
    Dernier message: 09/01/2008, 17h55
  2. Java et les annotations
    Par nanou2002 dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2007, 17h47
  3. Réponses: 1
    Dernier message: 18/05/2006, 12h17

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