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

Wildfly/JBoss Java Discussion :

wrapper C dans appli Jboss


Sujet :

Wildfly/JBoss Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste cogniticien
    Inscrit en
    Décembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Analyste cogniticien
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2004
    Messages : 7
    Points : 9
    Points
    9
    Par défaut wrapper C dans appli Jboss
    Suite à un problème d'incompatibilité de librairie il m'est impossible d'utiliser une API Java depuis une application JBoss
    Je pense donc utiliser cette même API aussi disponible en C. Pour cela j'ai lu quelques posts/tutos relatifs à l'utilisation de wrapper ou de jna.

    Je ne connais pas bien ces deux mécanismes et souhaiterais donc pouvoir les tester à partir d'exemples et surtout savoir quelle est l'approche la plus pertinente.

    Je recherche pour cela des pointeurs vers des ressources sur le sujet.

    Très concrètemement : j'ai une lib C qui met à dispo une fonction authent(). Comment puis-je appeler cette fonction depuis une classe java intégrée à une jsp / servlet ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu va galerer pour charger des librairies natives depuis une conteneur J2EE. Même si c'est faisable, au final, il te sera impossible de faire des redeploy de ton application.

    Une librarie naitve donnée, tu peux ne la charger que une seule fois par jvm, dans une classloader donné, hors jboss passe passe sont temps, lors des redeploy, à recréer des classloader. Les nouveaux, dans le meilleurs des cas, n'auront pas accès à la librairie.

    La solution la plus "propre" serait de mettre cette librairie native à disposition de toutes tes webapps, en créant un jar associé, mis dans les jar communs ou dans les librairies "endorsed".

    Pour l'accès aux librairies, je pense que JNA est le plus facile à prendre en main, même si je ne l'ai jamais fait.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste cogniticien
    Inscrit en
    Décembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Analyste cogniticien
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2004
    Messages : 7
    Points : 9
    Points
    9
    Par défaut placement de la lib
    Citation Envoyé par tchize_ Voir le message
    Tu va galerer pour charger des librairies natives depuis une conteneur J2EE. Même si c'est faisable, au final, il te sera impossible de faire des redeploy de ton application.

    Une librarie naitve donnée, tu peux ne la charger que une seule fois par jvm, dans une classloader donné, hors jboss passe passe sont temps, lors des redeploy, à recréer des classloader. Les nouveaux, dans le meilleurs des cas, n'auront pas accès à la librairie.

    La solution la plus "propre" serait de mettre cette librairie native à disposition de toutes tes webapps, en créant un jar associé, mis dans les jar communs ou dans les librairies "endorsed".

    Pour l'accès aux librairies, je pense que JNA est le plus facile à prendre en main, même si je ne l'ai jamais fait.
    merci pour ce retour. Je ne me soucie pas trop du redeploy qui en PROD est une opération exceptionnelle. Par ailleurs JBoss ne proposera qu'une webapp corporate. En revanche ton message m'interpelle sur la façon de mettre la lib à dispo du serveur J2EE. Il faut obligatoirement mettre à dispo via un jar ou bien les lib sont "naturellement dispo" via le PATH ou LD_PATH ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu aura un jar qui contiendra le code java avec notement dedans l'appel à System.load() et les différente méthode déclarées en JNA. Et le problème, c'est que le System.load(xyz), tu ne peux le faire qu'une fois dans la jvm par librairie xyz. (donc tu peux loader un fois libc, une fois libBiduleTruc, etc), parce que les symbole chargés seront globaux à la jvm.

    Tu peux mettre ça dans un jar dans le WEB-INF/lib, mais comme expliqué, ça va t'obliger à arrêter jboss pour faire les redéploiement.


    Et n'oublie pas, des redéploiement, tu va en faire des tonnes.... en DEV

Discussions similaires

  1. Wrapper c++ dans appli c#
    Par jerome_t dans le forum C++/CLI
    Réponses: 6
    Dernier message: 16/04/2009, 10h59
  2. [Analysis Services] Cube et KPI dans appli asp.net
    Par enrique44 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/08/2007, 14h16
  3. exceptions pas visible dans appli
    Par michaelbob dans le forum Langage
    Réponses: 7
    Dernier message: 20/09/2006, 09h36
  4. horloge dans appli
    Par gsmdu62 dans le forum Delphi
    Réponses: 6
    Dernier message: 29/05/2006, 09h37
  5. [VB.NET] Ouvrir fichier dans appli par double-clic dessus
    Par vynce dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/03/2005, 16h43

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