OVH Cloud OVH Cloud

classes java et base de données

2 réponses
Avatar
Giraudon Cyril
Bonjour à tous,

Connaissez-vous un moyen d'aller chercher le bytecode d'une classe java
dans une base de données (sous forme de blob par exemple), puis de
l'instancier et d'utiliser l'instance correspondante ?

Le but est de stocker des plugins dans une base de données et des charger
au démarrage de l'application (ressources distribuées)...

Merci beaucoup.

Cyril.

2 réponses

Avatar
Christophe M
Giraudon Cyril wrote:

Bonjour à tous,

Connaissez-vous un moyen d'aller chercher le bytecode d'une classe java
dans une base de données (sous forme de blob par exemple), puis de
l'instancier et d'utiliser l'instance correspondante ?

Le but est de stocker des plugins dans une base de données et des charger
au démarrage de l'application (ressources distribuées)...

Merci beaucoup.

Cyril.



"Suffit" de faire ton propre ClassLoader qui ira chercher les classes
non pas sur le disque dur, mais dans une DB via une requète JDBC.
Tu récupère un BLOB binaire correspondant à tes classes, et tu charge
celle-là.

Tu dois donc étendre la classe ClassLoader, et redéfinir la méthode
loadClass() qui charge une classe dans le système.

Par contre, me rappele plus comment on fait de ton classloader le
"principal", mais une recherche dans l'historique du newsgroup (voir
dans la faq) te renseignera surement, on y a déjà répondu ;-)

CHristophe

Avatar
samuel
cf JNDI,

c'est pas directement la solution mais tu trouvera de l'info

Giraudon Cyril wrote:

Bonjour à tous,

Connaissez-vous un moyen d'aller chercher le bytecode d'une classe java
dans une base de données (sous forme de blob par exemple), puis de
l'instancier et d'utiliser l'instance correspondante ?

Le but est de stocker des plugins dans une base de données et des charger
au démarrage de l'application (ressources distribuées)...

Merci beaucoup.

Cyril.