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 :

[EASYBEAN] Changer le dossier par defaut de chargement des EJB3


Sujet :

JOnAS Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut [EASYBEAN] Changer le dossier par defaut de chargement des EJB3
    Bonjour
    merci d'avance pour votre lecture
    j'ai un serveur d'app jonas 4.8.6 et j'ai déployé dessus le container Easybean.
    Tout marche bien ( enfin )
    Easybean charge par défaut les EJB3 qui se trouvent dans le dossier easybeans-deploy.
    J'aimerais modifier ceci .
    J'ai eu l'impression qu'il était possible de paramétrer easybeans en rajoutant un easybean.xml dans le classpath.
    Sauf que je n'ai pas trouvé de documentation sur comment écrire un easybean.xml...
    Je serais donc intéressé par un lien vers une tel doc ou si quelqu'un a déjà résolu ce problème
    merci

  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
    Voila un exemple de easybeans.xml (celui utilisé par défaut dans le cas Rar):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <?xml version="1.0" encoding="UTF-8"?>
    <easybeans xmlns="http://org.ow2.easybeans.server">
     
        <!-- No infinite loop (daemon managed by JOnAS): wait="false"
             Enable MBeans: mbeans="true"
             Disable the naming: naming="false"
             Use JOnAS JACC provider and not EasyBeans JACC: jacc="false"
             Disable old way to use file monitoring to detect archives: scanning="false"
             (it has been replaced by the new depmonitor component)
             Using JOnAS JMX Connector: connector="false"
             Enable Deployer and J2EEServer MBeans: deployer="true" & j2eeserver="true"
        -->
        <config
            wait="false"
            mbeans="true"
            naming="false"
            jacc="false"
            scanning="false"
            connector="false"
            deployer="true"
            j2eeserver="true" />
     
        <!-- Define components that will be started at runtime -->
        <components>
            <!-- All components are launched by JOnAS -->
     
            <!-- RMI component will be used to access some of JNDI properties -->
            <!-- But as there are no protocols, no registry is launched. -->
            <rmi />
     
            <!-- Deploy files inside easybeans-deploy directory -->
            <depmonitor>
              <scanning directory="${jonas.base}/easybeans-deploy" />
            </depmonitor>
     
            <!-- Use AS transaction service -->
            <tm />
     
            <!-- Work Manager -->
            <work-manager min="5" max="50" tm="#tm"/>
     
            <!-- Start smartclient server with a link to the rmi component-->
            <smart-server port="2503" rmi="#rmi" />
     
            <!-- JNDI Resolver -->
            <jndi-resolver />
     
    		<!-- JMX component -->
            <jmx />
     
            <!-- Statistic component -->
            <statistic event="#event" jmx="#jmx" />
        </components>
    </easybeans>
    Il faut le placer dans $JONAS_BASE/conf pour qu'il soit pris en compte.

    Tu peux changer la valeur de la balise <scanning> afin de changer le répertoire de déploiement...

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    bonjour
    Merci beaucoup kalysto, tu me sauves, je vais essayer de suite

    Pourrais-tu m'indiquer où as-tu appris cette balise?
    J'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?xml version="1.0" encoding="UTF-8"?>
    <easybeans xmlns="http://org.ow2.easybeans.server">
     
        <!-- No infinite loop (daemon managed by JOnAS): wait="false"
             Enable MBeans: mbeans="true"
             Disable the naming: naming="false"
             Use JOnAS JACC provider and not EasyBeans JACC: jacc="false"
             Use EasyBeans file monitoring to detect archives: scanning="true"
             Using JOnAS JMX Connector: connector="false"
             Enable Deployer and J2EEServer MBeans: deployer="true" & j2eeserver="true"
        -->
        <config
            wait="false"
            mbeans="true"
            naming="false"
            jacc="false"
            scanning="true"
            connector="false"
            deployer="true"
            j2eeserver="true" />
     
        <!-- Define components that will be started at runtime -->
        <components>
            <!-- All components are launched by JOnAS -->
     
            <!-- RMI component will be used to access some of JNDI properties -->
            <!-- But as there are no protocols, no registry is launched. -->
            <rmi />
     
            <!-- Start smartclient server with a link to the rmi component-->
            <smart-server port="2503" rmi="#rmi" />
            <!-- Deploy files inside easybeans-deploy directory -->
            <depmonitor>
              <scanning directory="${jonas.base}/apps/autoload" />
            </depmonitor>
     
            <!-- JNDI Resolver -->
            <jndi-resolver />
     
    		<!-- JMX component -->
            <jmx />
     
            <!-- Statistic component -->
            <statistic event="#event" jmx="#jmx" />
        </components>
    </easybeans>
    Je veux déployer seulement des EAR possédant des EJB3 et des webservices.
    Penses-tu que ca va poser problème de ne pas démarrer tout les services?

  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
    Non, tout va bien, comme tu n'as fait que changer le nom du répertoire de déploiement ca devrait aller.

    Pour info, le XML que je t'avais donné c'est celui qui est lu par easybeans si il n'en trouve pas dans le repertoire JONAS_BASE/conf

    Et pour le comment je l'ai trouvé, ca aide d'etre dans le projet
    Tout ca nous indique quand meme que la doc pourrai etre completée

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    a ouai le cheat >_<'
    être dans le projet, c'est sur que du coup t'es calé
    en tout cas merci c'est un joli projet

    merci pour l'aide

    J'en profite pour rajouter pour ceux qui serait amené à récupérer mon easybeans.xml, que si je me permet de balancer mes EJB3 dans apps/autoload, c'est parce que j'ai modifié le répertoire par défaut des EJB2 dans jonas.properties.
    Sinon il y aurait un conflit

  6. #6
    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
    Juste pour info (je ne sais pas si tu es dans ce cas la):
    EasyBeans est capable de déployer aussi des EJB2 et des EARs.
    Avec les restrictions suivantes:
    * les EJB2 ne doivent pas contenir d'EJB type entité (CMP2)
    * Le deploiement des ears ne supportent pas les rars

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    Merci pour ces informations complémentaires
    Je ne me sert actuellement pas d'EJB2 (j'ai pris Easybeans, justement pour faire des EJB3 ) et je mets tjs mes EJB3 dans des EAR donc heureusement qu'Easybeans déploie les EAR, sinon j'aurais eu un soucis ^^
    (à noter : ne pas mettre de rar dedans par contre )

  8. #8
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,
    J'ai la même architecture que toi, au final ton ear (qui normalement est constitué de ton jar+war) tu le deposes dans quel repertoire? autoload ou easybeandeploy? peux tu me montrer ton easybean.xml?
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  9. #9
    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
    Il faut le mettre dans le répertoire easybeans-deploy/ avec la configuration par défaut.
    Si, comme dans les messages au dessus tu veux changer ce répertoire, tu copies/colles le fichier donné a titre d'exemple dans $JONAS_BASE/conf/easybeans.xml.

  10. #10
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    C'est bien la dedans que j'ai déposé l'ear, tout à l'air de bien se passer, il deploit bien mon war et mon jar, il fait bien le mapping des tables (puisque lorsqu'une table est absente il rale au deploiement du jar), mais seulement j'ai un souci, le war deployé se trouve dans une sous arborescence du tmp, et non dans le repertoire des contextes de jonas et du coup quand j'essaie http://my_hostname:port/mon_contexte/ il dit qu'il voit pas l'url, une idée?
    Merci d'avance
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  11. #11
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    Bonjour

    Désolé, je n'utilise pas de war, du coup je n'ai pas vu si j'avais ce problème.

    Personnellement je mets mes EAR dans apps/autoload et j'utilise le easybeans.xml que j'ai posté plus haut. J'ai du aussi modifier la conf de jonas (jonas.properties) pour éviter que jonas n'essaye de déployer mes EAR qui contiennent des EJB3.


    [EDIT]
    Après vérification il semble que je n'ai pas de soucis
    As-tu vérifié que tu avais le bon numéro de port?
    Personnellement je vois mon web service à l'adresse
    http://localhost:10000/userManagerWs

    [/EDIT]

  12. #12
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    En fait le pb est beaucoup plus important que ca, et là je seche vraiment. J'ai developpé sous jboss, les technos de l'appli c'est JSF, hibernate,EJB3 et Spring,
    J'étais en jdk6, et là sur le serveur de prod linux, c du jonas 486 en jdk5, en couplant easybean, les EJB3 sont bien déployés, c'est le war qui semble me poser un souci, en déposant mon war dans autoload , il est bien déployé dans le single de jonas, sauf que le contexte n'est pas disponible, y'a til des raisons pour lesquelles jonas ne demarrerait pas un contexte déployé?
    Je sèche vraiment là dessus .
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  13. #13
    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
    j'ai l'impression qu'il y a un peu de mélange.
    Reprenons depuis le début:
    En JOnAS 4, les répertoires autoload/ ne sont pas scannés. En clair, ils ne sont lus qu'au démarrage du serveur, bref si tu déposes ton war la dedans, il faut que tu re-démarres le serveur pour qu'il soit pris en compte.

    Par contre, le répertoire easybeans-deploy/, lui, est scanné en permanence: si tu modifies l'archive, easybeasn va re-déployer automatiquement l'archive. Si tu supprimes l'archive, easybeans enleve (undeploy) ton module.

  14. #14
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 93
    Points : 90
    Points
    90
    Par défaut
    j'adore la solution sous entendu dans ta réponse ^^
    En gros soit tu déploies dans le dossiers qu'on t'a dit, easybean-deploy, soit tu redémarres ton serveur de prod
    C'est d'un seul coup beaucoup moins sexy
    Je suis convaincu qu'il existe dans jonas un commande pour lui dire de rescanner un dossier. Mais bon le problème ne se pose pas comme, ça il a besoin d'EJB3 donc forcément il doit déployer dans le dossier chargé par easybean.
    Après il se trouve qu'il est exactement dans le bon topic pour savoir comment modifier le dossier de chargement par défaut
    Vu que c'était ma question et qu'elle a été résolue par ton intervention

  15. #15
    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 un peu ça en effet
    em même temps, cette fonction de scan n'est pas très adaptée aux serveurs de prod: c'est typiquement un besoin lors du developpement.
    Pour faire bref, ce scan n'existe pas en JOnAS 4, c'est du easybeans.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changer l'imprimante par defaut
    Par jmulans dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/04/2007, 16h52
  2. Dossier par defaut
    Par AgLS01 dans le forum C++
    Réponses: 2
    Dernier message: 11/12/2006, 23h43
  3. Changer le nom par défaut du rapport
    Par WestIndies dans le forum BIRT
    Réponses: 1
    Dernier message: 06/07/2006, 17h39
  4. Réponses: 7
    Dernier message: 11/05/2006, 14h46
  5. Changer le thème par défaut
    Par Chance666 dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 26/09/2003, 13h53

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