2010-03-18 7 views
0

Quelqu'un at-il essayé d'utiliser un chargeur de classe personnalisé avec BlazeDS?Comment utiliser Blazeds avec un classloader personnalisé?

Nous avons une application Web utilisant BlazeDS et nous pouvons convertir des objets Java en objet ActionScript et revenir sans problème dans l'application principale. Cependant, nous avons également un mécanisme de plug-in basé sur un chargeur de classe personnalisé. BlazeDS ne peut pas mapper les types contenus dans les fichiers jar de ce classloader personnalisé, car je ne sais pas comment le dire à BlazeDS. Est-ce que quelqu'un l'a déjà fait?

Les LiveDocs TypeMarshallingcontext montrent une méthode setClassloader(), mais étant donné que le contexte semble être un singleton, je suppose que cela ne fonctionnera pas si vous avez plusieurs classloaders personnalisés (nous avons 1 pour chaque plug-in qui est déployé)

salutations,

Wim

+0

Appelez-vous des méthodes distantes à partir des classes chargées via le mécanisme de plug-in? –

+0

Oui, nous avons tout compris, mais tous les paramètres et le type de retour doivent provenir de types «intégrés», ils ne peuvent pas provenir d'un type connu uniquement dans le plugin. –

+0

Notez que le contexte n'est pas un singleton comme je le mentionne dans ma question, mais un ThreadLocal. –

Répondre

0

Je n'ai jamais, mais je pense que vous pouvez construire un classloader personnalisé qui déléguera la méthode FindClass aux enfants cloassloaders (et vérifier si elles sont à trouver ou non), et définissez ce classloader dans TypeMarshallingContext.

+0

Voir http://forum.springsource.org/showthread.php?p=298599 pour aller si loin. J'ai une preuve de concept qui fonctionne, mais pas encore complètement. –

+0

Juste pour confirmer que je l'ai pleinement fonctionné maintenant. Merci pour l'aide! –

Questions connexes