2006-03-29

Eclipse Bundles vs. BEA SDO Classloaders

I had a set of Eclipse plug-ins, one of which contained BEA's SDO implementation and another that used it.  Most of the time, SDO objects could be loaded and manipulated without problems.  But when I tried this snippet:

String graphXml = originalObject.getDataGraph().toString();
DataGraph newGraph = new DataGraphImpl(graphXml);

I got the exception:

SDO generated classes for: {http://www.mm.com/xmlns/2006/esi.manage/api/}DataModelis not in the classpath

The fix was to adjust the manifest for the SDO plug-in so that it would look in dependent plug-ins when trying to load classes.  The relevant entry in MANIFEST.MF was:

Eclipse-BuddyPolicy: dependent