RE: [eclipse-dev] HOT LOADING of JARS
Thanks for your interest.
Please notice the word microkernel. The word "server" scares a lot of
people, put please don't think of it as a beast -- it isn't. The
JBoss microkernel is, AFAIK, the JMX server implementation and that's it.
Some client-side products have success with embedded web-servers for help
systems and the like. A JMX server is a lot smaller than
If you try to write this feature from scratch, you are going to discover that
Classloading is a major pain. Lots of things that seem simple on the
surface end up being very complicated (the Java equivalent of dll hell).
The JBoss microkernel has road-tested and overcome the issues for you -- why not
reuse instead of rewrite (It's the Open Source way)?
Do you know how it works?
I know more than some, less than others ;) . I'm working on the
persistence engine for the server configuration (JMX) right now... I also
know enough to think that Eclipse's plugin architecture and the JBoss
microkernel are strikingly similar in functional requirements / intent.
They really should be borrowing from each other.
Could just that piece be incorporated?
Everything in JBoss is a module (like Eclipse), so you can break off and use
what you want. The JMX server is the glue that binds it all
together. Above and beyond that, it's open source -- take the code that
you want, or don't...
The bottom line is that there is a clear functional overlap between these two
projects. The common ground is the loading and configuration of
application components (plugins, modules, whatever you want to call them).
JBoss is a "server-side" application container. Eclipse can be seen as a
"client-side" application container. In the middle, you have just an
application container, which, IMHO, should be shared by both
seems like overkill just for hot loading of plugins. Do you know how it
works? Could just that piece be incorporated?
I don't know of a workaround, but, as I have mentioned on this
list before, the JBoss microkernel supports this behavior for server-side
plugins/modules. If this (Open Source) application was integrated with
Eclipse, your problem would be solved. As a bonus, Eclipse could
become JMX-enabled, allowing for all sorts of other interesting