Skip to main content

How to add pluggins to a Rich Client

1 reply [Last post]
Joined: 2009-04-16

Pluggins Help RequestHi guys,We have been building a Blog Writer desktop application using java and swing.You can take a look at our 1.0 version using this link -> or have reach the stage where we want add plugin functionality.My concerns are about it are the following:About Loading and Downloading

  • Should we just download them using https from our site to our temporal directory and create a custom classloader .
  • How do you recommend us to download and load the pluggins?
  • Do you know any other mecanism that we can benefit from?


  • Is it posible to isolate attached jars? How? I mean if two pluggins contain 2 separated versions of spring it could be problematic.
  • Is it posible to partially isolate downloaded pluggins? It would be great have comunication between a limited number of clases.
  • Our application uses jnlp, can we reuse something in that area?


  • Does anybody knows about an existing library for us to use?

I have no experience with custom classloaders therefore I think I can benefit from every one of your comments, thank you-- AngelPS: I leave you with some screenshots of our project.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2007-04-17

Couple of options (not sure I got them all though):
- use the default JDK ServiceLoader structure
- use Netbeans' LookUp API which is based on that (can be used separately from Netbeans)
For those two, see [url=]this article[/url].

-There is also a [url=]Java Plugin Framework[/url] project, originally based on Eclipse Equinox, but now separate.

-Make you application support OSGI so you can load bundles on the fly. Though this probably is overkill for your case, since you basically have to make everything a bundle and run it inside a OSGI container (Apache Felix, Eclipse Equinox, [url=]etc[/url]).

Also you didn't sign all your jars, so I couldn't run the webstart to see your program.