Blog - Pierre-Yves Gibello

Aller au contenu | Aller au menu | Aller à la recherche

Trucs & astuces techniques

Fil des billets - Fil des commentaires

mardi, octobre 7 2008

Déploiement d'une librairie externe dans JOnAS 5.x (JavaEE)

Le déploiement d'une librairie externe (généralement un fichier .jar) se fait désormais via OSGi : la librairie doit donc être packagée dans un "bundle" OSGi avant d'être déployée.
L'ancienne méthode (copie de la librairie dans JONAS_ROOT/lib/common) ne fonctionne plus, contrairement à ce que mentionne la documentation JOnAS 5 à la date de ce post...

Principe :

  1. Packager le fichier .jar sous forme de bundle OSGi
  2. Copier le bundle OSGi dans le répertoire "deploy" de JONAS_BASE (déploiement à chaud)

Le packaging peut être fait avec l'outil "bnd", téléchargeable ici : cliquer sur "download" puis "Stable bnd.jar" dans "Releases". Enregistrez le jar téléchargé sous le nom "bnd.jar".

Ensuite, pour générer le bundle à partir de votre librairie :
java -jar bnd.jar -failok wrap -output mybundle.jar mylibrary.jar
puis copier "mybundle.jar" dans JONAS_BASE/deploy .

Exemple pour le driver JDBC de MySQL :
java -jar bnd.jar -failok wrap -output mysqlDriverBundle.jar mysql-connector-java-5.1.6-bin.jar
puis copier mysqlDriverBundle.jar dans JONAS_BASE/deploy .

A partir de là, les classes présentes dans la librairie seront accessibles depuis les applications déployées sous JOnAS (dans l'exemple ci-dessus, le driver JDBC de MySQL pourra être utilisé, par exemple pour configurer un datasource).

A propos de JOnAS 5 : JOnAS est le serveur d'application JavaEE open-source fourni par la communauté OW2; voir jonas.ow2.org pour plus d'informations.

mercredi, janvier 11 2006

Montage clé USB sur Linux Fedora

Après connexion de la clé USB (commande tapée sous root; le répertoire /mnt/usbkey doit être créé au préalable) :

  1. mount -t vfat /dev/sda1 /mnt/usbkey

Ensuite, un simple "ls /mnt/usbkey" donne accès au contenu de la clé.

Pour info, à la connexion de la clé USB, les lignes suivantes ont été loggées dans /var/log/messages :

Jan 11 18:01:21 localhost kernel: hub.c: new USB device 00:07.2-2.1, assigned address 3
Jan 11 18:01:21 localhost kernel: Device not ready. Make sure there is a disc in the drive.
Jan 11 18:01:21 localhost kernel: usb.c: USB device 3 (vend/prod 0xea0/0x2168) is not claimed by any active driver.
Jan 11 18:01:22 localhost kernel: Device not ready. Make sure there is a disc in the drive.
Jan 11 18:01:24 localhost last message repeated 5 times
Jan 11 18:01:25 localhost kernel: Initializing USB Mass Storage driver...
Jan 11 18:01:25 localhost kernel: usb.c: registered new driver usb-storage
Jan 11 18:01:25 localhost kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Jan 11 18:01:25 localhost kernel: Vendor: KINGMAX Model: USB Flash Disk Rev: 2.00
Jan 11 18:01:25 localhost kernel: Type: Direct-Access ANSI SCSI revision: 02
Jan 11 18:01:25 localhost kernel: Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
Jan 11 18:01:25 localhost kernel: sda: Unit Not Ready, sense:
Jan 11 18:01:25 localhost kernel: Current 00:00: sense key Unit Attention
Jan 11 18:01:25 localhost kernel: Additional sense indicates Not ready to ready change,medium may have changed
Jan 11 18:01:25 localhost kernel: SCSI device sda: 1024000 512-byte hdwr sectors (524 MB)
Jan 11 18:01:25 localhost kernel: sda: Write Protect is off
Jan 11 18:01:25 localhost kernel: sda: sda1
Jan 11 18:01:25 localhost kernel: USB Mass Storage support registered.
Jan 11 18:01:25 localhost kernel: Device not ready. Make sure there is a disc in the drive.

lundi, décembre 5 2005

Erreur Oracle ORA-27101: shared memory realm does not exist

En ce qui me concerne, l'erreur se produit (épisodiquement) sur un portable Windows XP un peu trop surchargé pour tourner Oracle 10g. De fait, la base de données ne démarre pas à tous les coups au boot ! Solution :

set ORACLE_SID=<votre oracle SID> (exemple : set ORACLE_SID=orcl)

sqlplus /nolog

Une fois sous sqlplus, compte-rendu de ma session ci-dessous :

SQL> connect / as sysdba
Connecté à une instance inactive.
SQL> startup
Instance ORACLE lancée.

Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 83887460 bytes
Database Buffers 79691776 bytes
Redo Buffers 2945024 bytes
Base de données montée.
Base de données ouverte.
SQL> quit

A partir de là, la base fonctionne à nouveau !