Re: Pax-Script... looks pretty nice... unfortunately, for reasons unknown, I'm
sort of stuck on jdk1.5... It's nice to see the various scripting engines
moving to OSGi-fication...
I tried doing the
BSFManager.setClassLoader(Thread.currentThread().getContextClassLoader()); --
that didn't work either...
One thing I wanted to put out there, that's pretty funny/confusing -- if I use
the objects, and never actually declare a class, everything works... take for
example:
// Note that bundleContext is declared as a bean in my java bundle that wraps
BSF (e.g., bsfManager.declareBean() ); So, in groovy:
def logRef = bundleContext.getServiceRef("org.osgi.service.log.LogService");
def logger = logRef.getService();
logger.log(1, "Test");
The above actually works... yet, if I attempt to declare an actual class, then
it fails... I'm not sure what that is telling me... I want to content that
it's a class loader issue versus a class path issue, since it seems to be able
to work with the object instances/references, as long as I don't actually type
anything... But, maybe that is suggesting just the opposite - that the
declaration of the class is a class path issue, not a class loader issue...
OK, my brain could be getting full... I've been racking it over this stuff for
a few hours now...
For what it's worth, thought I'd throw that out there... I'd look at the source
for pax-script, but that leads back to jsr223 which is jdk6/above and
catch-22... I must say, as compared to how wieldy javax.scripting is (at least
when you marry it with OSGi), the pax-script seems to have done all the hard
work -- but I just barely scratched the surface on pax-script...
Thanks again, Craig Phillips, Praxis
________________________________
From: [EMAIL PROTECTED] on behalf of Stuart McCulloch
Sent: Wed 10/8/2008 1:26 PM
To: Equinox development mailing list
Subject: Re: [equinox-dev] BSF, Groovy, OSGi - class resolution
2008/10/9 Craig Phillips <[EMAIL PROTECTED]>
Hi,
I'm attempting to do groovy a la BSF, as embedded in an OSGi/equinox
bundle...
I get this "unable to resolve class" exception on something like the
following:
import org.osgi.service.log.* // seems to get passed this line
def logger = new LogService(); // exception is thrown here
I have been surfing for help, but the only thing I get is along the
lines of external classpath options (versus using the classes as loaded into
the bundle)...
Any ideas/suggestions? Thanks, Craig Phillips, Praxis
PS - I'm not considering javax.scripting (jsr-223 I believe) at this
time...
even though you're not considering jsr-223, you might want
to look at the OSGi scripting work done by Hendy Irawan:
http://wiki.ops4j.org/confluence/display/ops4j/Pax+Script
as that might give you some hints how to solve this issue
( afaik Groovy 1.5.7-SNAPSHOT has OSGi manifests )
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
--
Cheers, Stuart
<<winmail.dat>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
