[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] ClassLoader deadlock issues


I'm reluctant to give up just yet. My issue isn't that I can't use Eclipse's advanced features, I just can't require them. Similar to Spring, I use Spring all the time, but all of the functionality is available outside of that. So I can use Extension Points and Services for application initialization and configuration, but they can't be a requirement. I'm not sure if I'm stuck because of the Serialization or because of my statement that I can't require Eclipse.

Your statement that I should use extensions got me thinking... How exactly do Views get access
to the concrete class? I just assumed it was thru the buddy loading system. After looking at the buddy loaders, that doesn't seem to be the case. I've been attempting to track down how that does work. If this is the wrong list, or there is documentation (source counts as docs if the pointer to the code to read is good enough). I might be able to use that to address my issues.

I have some pieces that are third parties libraries, and I have control over other large sections. Any help on this would be great. I've invested a great deal of effort into Eclipse, backing out now isn't really an option.


From: Pascal Rapicault <Pascal_Rapicault@xxxxxxxxxx>
Reply-To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
CC: equinox-dev@xxxxxxxxxxx, equinox-dev-bounces@xxxxxxxxxxx
Subject: Re: [equinox-dev] ClassLoader deadlock issues
Date: Fri, 13 Oct 2006 20:41:11 -0400

The extension registry == extension / extension points. The registry code
is in the org.eclipse.equinox.registry and it runs *outside* of OSGi.
Services == OSGi services, but from what you say they don't seem to be an


"Kirby Bohling" <computerslicer23@xxxxxxxxxxx> Sent by: equinox-dev-bounces@xxxxxxxxxxx 10/13/2006 08:35 PM Please respond to Equinox development mailing list <equinox-dev@xxxxxxxxxxx>

To equinox-dev@xxxxxxxxxxx cc equinox-dev-bounces@xxxxxxxxxxx Subject Re: [equinox-dev] ClassLoader deadlock issues


Any chance you can point me at documentation about the extension
registration (is that Extension points, or do you mean something at the
bundle level?) and services (that I'm pretty sure is an OSGi thing)?  I've

poked around a bit and have found myself wanting for better documentation.

Ultimately, I do have corners I'll get stuck in, like Serialization for
remote messaging.  I'll see if I can get around that.

One of the design constraints, is that I can't be tied to Eclipse.  I am
part of the tools team at my work, and the tools have to work both inside
and outside of Eclipse.  So while aspects of it support Eclipse well, I've

been working hard to ensure that they work just fine standalone in SWT


>From: Pascal Rapicault <Pascal_Rapicault@xxxxxxxxxx>
>Reply-To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
>To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
>CC: equinox-dev@xxxxxxxxxxx, equinox-dev-bounces@xxxxxxxxxxx
>Subject: Re: [equinox-dev] ClassLoader deadlock issues
>Date: Fri, 13 Oct 2006 19:58:39 -0400
>If you are the author of the main and children plug-ins, you should not
>using BuddyLoading as your pluggability mechanism and should instead use
>the extension registry or services.
>BuddyLoading has been designed to help people integrate libraries that
>reflection and context classloaders as their extension mechanism and they
>can't change the code.
>"Kirby Bohling" <computerslicer23@xxxxxxxxxxx>
>Sent by: equinox-dev-bounces@xxxxxxxxxxx
>10/13/2006 05:10 PM
>Please respond to
>Equinox development mailing list <equinox-dev@xxxxxxxxxxx>
>[equinox-dev] ClassLoader deadlock issues
>I've been working with Eclipse, and use Buddy Loaders fairly extensively
>that core plug-ins can construct objects from their child plug-ins at
>The ClassLoader segmentation is causing me lots and lots of issues w/
>BuddyLoaders and the deadlock.
>I've seen this thread:
>This pretty much exactly covers my case.  Are there any workarounds or
>mitigations?  I use object serialization for over the wire communication
>spring both of which use Global buddy loaders.  Currently my application
>deadlocks 9 times out of 10.
>I've been looking into writing my own classloader to deal with the issue.
>That hasn't gotten me very far (I've inserted my own classloader that
>all class loads to happen on a single threading context, but it's so slow
>haven't bothered to test it with my real application).  Are the any fixes
>work arounds?  Any guidelines I can follow to mitigate the problem.  A
>the time my application is completely assembled at runtime via
>     Thanks,
>         Kirby
>Add fun gadgets and colorful themes to express yourself on Windows Live
>equinox-dev mailing list

>_______________________________________________ >equinox-dev mailing list >equinox-dev@xxxxxxxxxxx >https://dev.eclipse.org/mailman/listinfo/equinox-dev

Try the new Live Search today!

_______________________________________________ equinox-dev mailing list equinox-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/equinox-dev

equinox-dev mailing list

Express yourself - download free Windows Live Messenger themes! http://clk.atdmt.com/MSN/go/msnnkwme0020000001msn/direct/01/?href=http://imagine-msn.com/themes/vibe/default.aspx?locale=en-us&source=hmtagline