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 / Skeleton Serveur / Scope request / Pas de méthode destroy ?


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Par défaut Axis2 / Skeleton Serveur / Scope request / Pas de méthode destroy ?
    Bonjour,


    J'utilise AXIS 2 1.4.1 couplé à Tomcat.
    J'ai généré le skeleton serveur dans lequel j'ai mis l'implémentation de mon Web service.

    J'ai besoin que mon service soit initialisé à chaque appel. J'ai donc laissé le scope request par défaut pour celui-ci

    Au chargement de mon service, je l'initialise via la méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void init(ServiceContext serviceContext) {
    		System.out.println("#### JE SUIS DANS INIT");
    	}

    Enfin d'exécution, j'ai besoin de faire un traitement et logiquement j'ai essayé d'utiliser la méthode destroy.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void destroy(ServiceContext serviceContext) {
    		System.out.println("#### JE SUIS DANS destroy");
    	}
    Seulement voilà, la méthode "destroy" ne semble pas appelée en scope request... une idée ?

  2. #2
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Où et quand est censée être appelée ta méthode destroy ?
    Est-ce une opération du service web ou bien une méthode qui n'est pas exposée ?
    À quoi doit servir cette méthode destroy ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Par défaut
    cette méthode est censée appelée automatiquement par le service web.

    Elle contient du code qui va me permettre de me déconnecter de la BDD et de "vider" certaines variables

  4. #4
    Membre expérimenté
    Inscrit en
    Juin 2008
    Messages
    207
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 207
    Par défaut
    Tu veux mutualiser les codes de connexion et de déconnexion à la BDD pour toutes les opérations ou bien c'est autre chose ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Par défaut
    Citation Envoyé par Arnaud_03 Voir le message
    Tu veux mutualiser les codes de connexion et de déconnexion à la BDD pour toutes les opérations ou bien c'est autre chose ?
    oui c'est exactement celà

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 27
    Par défaut
    j'ai trouvé à l'url
    http://www.developer.com/java/web/article.php/3620661


    Axis2 context hierarchy

    It is useful to understand the types of contexts in Axis2 before discussing types of session in depth. As mentioned above, Axis2 keeps logic and states separately, so contextS are there to store the states. There are five types of contexts in Axis2:

    * ConfigurationContext: The runtime representation of THE whole system, to start Axis2 system you need to have A configuration context. The lifetime of configuration context will be the lifetime of the system, so if you store some state (a property) it will last forever (until system shutdown).
    * ServiceGroupContext: In Axis2, you can deploy multiple services together as a service group. At runtime, there will be one or more service group contexts (depending on the session scope of the group) to keep states of the group throughout the session.
    * ServiceContext: Will represent the runtime of one service; the context lifetime will be the lifetime of the session. There can be one or many service contexts in the system depending on the session scope of the corresponding service.
    * OperationContext: This context represents the lifetime of a MEP (Message Exchange Patterns). The lifetime of the operation context is usually less than the lifetime of the service context.
    * MessageContext: The lifetime of an incoming message is represented by the message context. If two handlers in a given execution chain want to share data, the best way is to store them in message context. One operation context may have many message contexts.

    Irrespective of the session scope, when the session start up and when it finishes, Axis2 will notify the service implementation class, but you have to add two additional methods to your service implementation class.

    public void init(ServiceContext serviceContext) {
    }

    public void destroy(ServiceContext serviceContext) {
    }

    In addition to that, whenever a service receives a request, it will notify by passing the corresponding OperationContext as an argument. So, if the service wants to access an incoming message's context or an incoming SOAPMessage, he can do that by just adding the following method to the service implementation class; this method will be called before the actual method is called.

    public void setOperationContext(OperationContext operationContext) {
    }

Discussions similaires

  1. [PB ODBC] Ce serveur n'existe pas ou son accès est refusé
    Par meufeu dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/12/2015, 18h02
  2. [JNI] Java ne trouve pas mes méthodes natives
    Par carotte31 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 14/06/2006, 21h47
  3. Serveur NAS (physique pas un PC configuré comme NAS ! )
    Par bster dans le forum Administration système
    Réponses: 1
    Dernier message: 17/03/2006, 11h30
  4. [JSP SERVLET]Moment d'expiration des objets du scope Request
    Par Little_Goldo dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 25/08/2005, 13h18
  5. Serveur dédié ou pas ??
    Par R3iTt0R dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 16/07/2004, 11h29

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