No suggestions?

On Wed, Apr 18, 2012 at 8:55 AM, Jochen Wiedmann
<[email protected]> wrote:
> Okay, let's try a new start:
>
> Suggest, that I am implementing a J2EE container, like Tomcat, or
> Jetty (in fact, Tomcat is the background I am asking) and would like
> to see it running as an OSGI container.
>
> This means that I have to honour the J2EE specification, which
> requires that a new ClassLoader is being created for any web
> application, with all the jar files in WEB-INF/lib
> and WEB-INF/classes. Additionally, the standard jar files (like
> servlet.jar, or jsp.jar) must
> still be present.
>
> How would I do that, if Felix were used to implement the "OSGI container" 
> part?
>
> Thanks,
>
> Jochen
>
>
> On Fri, Mar 30, 2012 at 8:04 PM, Nick Baker <[email protected]> wrote:
>> On 3/30/12 12:41 PM, "Bram de Kruijff" <[email protected]> wrote:
>>
>>>On Fri, Mar 30, 2012 at 5:54 PM, Jochen Wiedmann
>>><[email protected]> wrote:
>>>> 2012/3/30 Holger Hoffstätte <[email protected]>:
>>>>
>>>>> I don't know if that is "what you want" (or not), but it is certainly
>>>>>not
>>>>> what would happen. :) The Bundles will be installed into the framework
>>>>>as
>>>>> if installed "manually", and each will have its own classloader.
>>>>> Essentially you will play the role of a deployment agent, which means
>>>>>you
>>>>> will also be responsible for starting, stopping and eventually
>>>>> uninstalling the bundles, as necessary.
>>>>
>>>> What I want is a new ClassLoader with all those bundles and the given
>>>>parent.
>>>
>>>You can't do that. When you install a bundle it gets a
>>>BundleClassloader that gets wired to other bundle's classloaders
>>>according to it's import directives and the Parent/System classloader
>>>for boot delegation. Having one specified parent classloader kind of
>>>defies the purpose. Have a look at the OSGi specification for an
>>>explanation of the class loading architecture.
>>>
>>>What you can do is use an approach like the PAX swissbox
>>>BundleClassLoader [0] which takes a parent to consult first, but that
>>>still will not make the bundles classloader delegate back to it when
>>>it needs to load a class not physically inside the jar
>>
>> It is possible to have jars private to a bundle by way of the
>> "Bundle-ClassPath" entry. Is there a way to do this programmatically? You
>> still wouldn't be able to parent it the way you want.
>>
>> My advice, after years of this, is that every time you're going against
>> the grain of the OSGI framework, you're better off changing your behavior
>> to adapting the existing system to better confirm to the OSGI system.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>
>
>
> --
> "Bildung kommt von Bildschirm und nicht von Buch, sonst hieße es ja Buchung."
> Dieter Hildebrandt



-- 
"Bildung kommt von Bildschirm und nicht von Buch, sonst hieße es ja Buchung."
Dieter Hildebrandt

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to