Lothar,
Sorry for the slow reply; between being sick and my two day jobs, I'm being
kept very busy.
All of our jar files for Shiro are in WEB-INF/lib, as is normal for WARs, and
are part of the webapp's ClassLoader. Our seed bundles (which includes Spring
and Gemini Blueprint) are in a maera-seed-bundles zip file in WEB-INF/maera
(where Maera is progress made by Les and I on rewriting a plugin framework
initially created by Atlassian). (If you're curious, Maera is open-source and
is currently hosted on GitHub: https://github.com/katasource/maera)
At the time when we were using Equinox for this, our configuration was
different; Equinox was configured using Maven's PAX runner plugin, and our
entire application was deployed in an OSGi way. We found that didn't play well
with many things we were doing, which is when we started working on Maera. At
this point, only the Felix plugin container is implemented in Maera, so I can't
currently switch us back to Equinox. Due to some tight deadlines, I'm not
likely to have time to finish the Equinox plugin container for a while.
I'm sorry I can't provide a better answer
Bryan Turner
> From: [email protected]
> To: [email protected]
> Subject: Re: Cant access subject with Eclipse RAP
> Date: Tue, 11 Jan 2011 09:15:25 -0800
>
> On Monday, January 10, 2011, Bryan Turner wrote:
> > First off, just to make sure it's clear: I've never worked with Eclipse
> > RAP, or even the RCP. I'm not sure how some of these concepts are going to
> > translate to it. For our application, we control starting/stopping
> > Felix/Equinox ourselves, and we're able to make direct use of their
> > configuration properties to modify the FRAMEWORK_BOOTDELEGATION packages,
> > which we use to push access to Shiro's classes up into the parent
> > classloader for our bundles (and the ultimate parent classloader is our
> > webapp's loader).
> >
> > I'm assuming you're getting the Shiro jar susing Maven, or that you have
> > downloaded it yourself. The first thing I'd try would be to modify the
> > MANIFEST.MF in that and add the following OSGi directive: Fragment-Host:
> > system.bundle; extension:=framework
> > (See
> > http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Constants.html#EXTENS
> > ION_DIRECTIVE)
> >
> > This should configure the Shiro jars (shiro-core, more specifically, and
> > you may have to modify shiro-web as well it sounds like) to load as OSGi
> > fragment bundles and attach to the system bundles. This is how, from what
> > I see online, core libraries like javax.servlet are configured for RAP.
> >
> > Beyond this, I really don't know much more. Maybe somewhere in the RAP
> > documentation it details how to modify its FRAMEWORK_BOOTDELEGATION,
> > FRAMEWORK_SYSTEMPACKAGES and/or FRAMEWORK_SYSTEMPACKAGES_EXTRA properties,
> > or provides another way to augment the system bundles for the bridge.
> >
> > Best regards,
> > Bryan Turner
>
> Thanks a lot for the details. Can you please also explain where your jars and
> bundles are located inside the war structure and how you start equinox
> yourself? Even if I may not be able to use that technique myself it may help
> me understand how it works for you.
>
> Thanks,
>
> Lothar