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

CORBA Discussion :

Persistence avec JacORB


Sujet :

CORBA

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 22
    Points
    22
    Par défaut Persistence avec JacORB
    Bonjour,

    Je voudrais réaliser un serveur persistent avec JacORB. J'ai trouvé le code qu'il faut utiliser mais j'arrive pas à le faire marcher.

    Faut-il modifier jacorb.properties?
    Comment utiliser imr (je crois qu'il y en a besoin) ?
    etc...

    Peut-être que ça vient du code, donc le voilà:

    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
    package Bordeau;
    
    import java.io.*;
    import org.omg.CosNaming.*;
    import org.omg.CORBA.Policy; 
    import org.omg.PortableServer.*;
    
    public class Server
    {
        public static void main( String[] args )
        {
           //Initialisation du bus CORBA
           //Création de l'objet ORB
           org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
           try
           {
    	
             TestImpl servant = new TestImpl(orb);
    
             org.omg.PortableServer.POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); 
             
             Policy[] persistentPolicy = new Policy[1]; 
             persistentPolicy[0] = rootPOA.create_lifespan_policy( LifespanPolicyValue.PERSISTENT); 
    
             POA persistentPOA = rootPOA.create_POA("childPOA", rootPOA.the_POAManager(), persistentPolicy ); 
    
             persistentPOA.the_POAManager().activate( ); 
    
             persistentPOA.activate_object( servant ); 
    
             org.omg.CORBA.Object obj = orb.resolve_initial_references( "NameService" ); 
    
             NamingContextExt rootContext = NamingContextExtHelper.narrow( obj ); 
    	    
             NameComponent[] nc = rootContext.to_name( "test" ); 
    
             rootContext.rebind( nc, persistentPOA.servant_to_reference( servant )  ); 
    
        
             //On lance l'orb
             orb.run();
    	
         } 
         catch ( Exception e )
         {
             e.printStackTrace();
         }        
        }
    }
    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 304
    Points : 348
    Points
    348
    Par défaut
    Qu'as tu comme erreur?
    --Miss Gaëlle--

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    En fait, j'ai réussi à le faire marcher. J'utilisais le même port pour le service de nommage et l'IMR

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Bon, j'ai un nouveau problème avec la persistence.

    A quoi ça sert exactement?
    Je pensais que la persistance me permettait de récupérer mes objets exactement comme ils étaient au moment de l'arrêt du serveur, mais ça marche pas.

    De toute façon, je dois pas bien utiliser imr car le serveur ne redémarre pas lorsque j'exécute un client.
    Que dois-je faire dans le client? etc...
    Merci

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Bon, j'ai un nouveau problème avec la persistence.

    A quoi ça sert exactement?
    Je pensais que la persistance me permettait de récupérer mes objets exactement comme ils étaient au moment de l'arrêt du serveur, mais ça marche pas.

    De toute façon, je dois pas bien utiliser imr car le serveur ne redémarre pas lorsque j'exécute un client.
    Que dois-je faire dans le client? etc...
    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 304
    Points : 348
    Points
    348
    Par défaut
    Si je ne me trompe pas, la persistence permet bien de récupérer un objet et son état avant l'arrêt du programme. Ta définition me parait juste.

    Quel est le problème exactement?
    --Miss Gaëlle--

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Mon premier problème, c'est que le serveur n'est pas relancé lorsque je lance un client.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 304
    Points : 348
    Points
    348
    Par défaut
    Mais d'après ce que j'ai compris, la persistence c'est pour les objets, si tu en détruis un car il n'est pas utilisé, quand le client le rappelera, le serveur le recréra de façon identique avant que l'objet soit détruit. Si tu coupes le serveur, il ne doit pas se relancer en lancant le client.
    --Miss Gaëlle--

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Dans l'exemple du site suivant avec l'ORB du jdk, le serveur est enregistrée auprès d'un service et il se relance quand un client l'appelle.

    http://www-inf.int-evry.fr/cours/jav...lExample2.html


    Avec JacORB, on doit normalement pouvoir enregistrer un serveur dans l'IMR. Mais ça marche pas. J'utilise un truc du style imr_mg add ... (voir doc)

    Voila, je suis toujours bloqué avec la persistence.

    Si quelqu'un a des exemples à me transmettre, ça serait sympa

    Merci

Discussions similaires

  1. persistence avec jpa
    Par Jacobian dans le forum JPA
    Réponses: 11
    Dernier message: 14/05/2008, 13h59
  2. le package"javax.persistence" avec une base oracle
    Par chflb dans le forum NetBeans
    Réponses: 1
    Dernier message: 06/04/2008, 12h08
  3. Réponses: 2
    Dernier message: 25/04/2007, 13h03
  4. comment recupérer l'id du POA avec jacorb?
    Par nonaM1982 dans le forum CORBA
    Réponses: 1
    Dernier message: 15/09/2006, 14h11
  5. persistance avec JBoss et HSQLDB
    Par cybernatus dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 27/07/2006, 10h49

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