hivemind-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike D Pilsbury <>
Subject Re: HiveMind application inside Eclipse
Date Thu, 10 Mar 2005 20:17:39 GMT
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<body bgcolor="#ffffff" text="#000000">
I tried to use HiveMind in an Eclipse plugin about 10 days ago, and ran
in to the classloader issues that you mention. I spent several hours
trying to understand Eclipse's classloaders, and how best to get
HiveMind to be able to find the modules with ClassLoader.getResources.
I failed miserably, and gave feeling very frustrated.<br>
The root of the problem appeared to be that the hivemind.jar and
myplugin.jar were not even using the same ClassLoader, even though they
were in the one plugin. But I was so confused in the end that I could
well be mis-remembering.<br>
You approach sounds ideal, and I would be extremely grateful if you
were to share the plugin.<br>
Knut Wannheden wrote:
<blockquote cite=""
  <pre wrap="">Harish,

If this plugin is useful to others I can certainly share it. Would it
maybe even make sense to make it available as a separate download
under the HiveMind project hood?

As I mentioned there are a few classloader issues with the plugin. The
problem is basically that every plugin gets loaded by a separate

One of the problems is related to the HiveMind MessageFormatter class
and maybe this is something we should address in the HiveMind
framwork. 3 of the 4 MessageFormatter constructors will implicitly
load the ResourceBundle using the classloader which loaded the
MessageFormatter class (i.e. the classloader of the HiveMind plugin).
For other plugins than the HiveMind plugin itself this will of course
not work. I wonder if we thus should change MessageFormatter to always
load the ResourceBundle using an explicit ClassLoader instance and
deprecate the MessageFormatter(Log, String) constructor. What do you


On Tue, 8 Mar 2005 11:59:56 -0500, Harish Krishnaswamy
<a class="moz-txt-link-rfc2396E" href="">&lt;;</a>
  <blockquote type="cite">
    <pre wrap="">Cool, any plans of open sourcing the Eclipse HiveMind plugin?


On Tue, 8 Mar 2005 17:38:57 +0100, Knut Wannheden
<a class="moz-txt-link-rfc2396E" href="">&lt;;</a>
    <blockquote type="cite">
      <pre wrap="">Harish,

On Tue, 8 Mar 2005 11:03:23 -0500, Harish Krishnaswamy
<a class="moz-txt-link-rfc2396E" href="">&lt;;</a>
      <blockquote type="cite">
        <pre wrap="">I did a similar thing for work here, but did not use Eclipse; a
of applications hosted by a very light-weight platform that provides a
single extension point for adding applications. The platform discovers
applications (a la plugins) in the classpath and adds it to the

I suppose you are trying to use eclipse's discovery mechanism and
HiveMind's injection and interception features? Do you want to share
components between plugins? That may be a problem. What is your motive
in using eclipse? SWT?

      <pre wrap="">My motive for running the application in Eclipse is that it's an
application we're developing, which we want to move to Eclipse. At the
same time I'd like to continue using HiveMind to structure the
application as services and configurations.

In my mind all of my HiveMind modules correspond quite well to
individual Eclipse plugins. So I'd like to wrap every module with a
plugin and have the HiveMind registry span all plugins.

I just created a simple Eclipse HiveMind plugin which lets other
plugins register HiveMind modules using an extension point. The plugin
implementation is really just a wrapper around the RegistryBuilder.  I
had a few class loader issues to deal with, but overall HiveMind and
Eclipse seem to get along quite nicely.


  <pre wrap=""><!---->
To unsubscribe, e-mail: <a class="moz-txt-link-abbreviated" href=""></a>
For additional commands, e-mail: <a class="moz-txt-link-abbreviated" href=""></a>

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message