jeudi 20 novembre 2008

Flex: using multiple remoting-config.xml file with BlaseDS

Recently, I worked on a Java / Flex project using BlaseDS and I was quite surprised to discover It was not easy to split remote object definitions on separate configuration files. Every remoting object has to be listed in a single configuration file located in "/WEB-INF/flex/remoting-config.xml".

This is really not convenient in cases where remote objects come from different dev teams or third party librairies. I would expect BlaseDS to discover at runtime its remoting configuration.

So I wrote a simple BlaseDS service that discover any "META-INF/remoting-confg.xml" file in the classpath and register any declared remote object with the remoting service. I basically created a new Flex service that inherits from 'flex.messaging.services.AbstractBootstrapService'.

The simplified procedure is :
  1. look up remoting service from broker.
  2. list any existing 'META-INF/remoting-config.xml' file.
  3. parse config files and create destinations (using 'flex.messaging.services.Service.createDestination(String)').
  4. register created destination with flex remoting service (using 'flex.messaging.services.Service.addDestination(String)').
Unfortunately I had to write my own SAXHandler to parse configuration file. I would have preffered to reuse code but I was unable to find a simple way to parse only a subset of configuration files.

You can download implementation.

jeudi 6 novembre 2008

Graver un CD audio sous Linux

Récemment, j'ai voulu graver une compilation de plusieurs chansons sur un CD audio avec Linux. Résulat pas moins de 2 CD perdus.
Voici les difficultés rencontrées :
  1. Il faut extraire les pistes en 44 kHz sinon il faut réencoder les pistes avant de les graver...
  2. Il faut bien préciser Wodim de graver en mode audio sinon...ça ne marche pas très bien. 1er CD de perdu.
  3. Grip à tendance à compresser les pistes extraites. Dans mon cas il les compresse sans perte en FLAC, et graver des fichier encodés en FLAC...ça ne marche pas très bien. 2ème CD de perdu.
Donc au final le plus simple est :
  • d'extraire les pistes souhaitées avec Grip en FLAC.
  • décoder les pistes FLAC pour les repasser en WAV.
flac -d *.flac
  • Graver avec les bon paramètres pour Wodim (RTFM)
wodim -v dev=/dev/scd1 -audio -pad *.wav