You are viewing a plain text version of this content. The canonical link for it is here.
Posted to phoenix-dev@avalon.apache.org by "Daniel S. Haischt" <si...@gmx.net> on 2002/11/02 01:01:33 UTC

AW: Customizable ClassLoader trees

my OpenEJB block uses a similar hirarchical
classloader system. because i did the classloader
by myself as a part of my iChilli app server
i am configuring the classloaders within the
block's config.xml file.

additionally the iChilli app server that i
am currently developing starts several servers
(a web container, an ejb container, a jms server etc.)

because a ejb container needs to now when a
content of a specific directory will change
it is possible to add a <monitored>true</monitored>
flag to a specific classloader. that enables
a server (ex.: openejb) to register itself
as a ClassLoaderListener. that way a ClassLoader
will deliver added/deleted/changed events to
the appropriate server.

allthough as i said i created this classloader
systems a couple of weeks ago and i did it within
three days, so i didn't test every possible
scenario that could occure while using the
classloaders.

if you want i can send u my configuration files
and some UML digrams that illustrate what i have
described above.

regards

daniel s. haischt
--

> -----Ursprungliche Nachricht-----
> Von: Peter Donald [mailto:peter@apache.org]
> Gesendet: Samstag, 2. November 2002 01:47
> An: avalon-phoenix-dev@jakarta.apache.org
> Cc: Daniel Krieg
> Betreff: Customizable ClassLoader trees
>
>
> Hi,
>
> I finally got around to integrating the customizable ClassLoader
> trees for
> Phoenix. I spent a bit of time verifying that it is backwards
> compatible and
> as yet I have been unable to find any case where it breaks previous apps.
> Theres a whole bunch of unit tests to verify that this is the
> case aswell...
> however if you notice any change then just drop us a line.
>
> The documentation is not done yet but you can see a slightly older set of
> documentation at
>
> http://jakarta.apache.org/avalon/excalibur/loader/
>
> and you can see an example of config file (slightly different from one
> described on website) at
>
> http://cvs.apache.org/viewcvs.cgi/jakarta-avalon-apps/simpleserver
/src/conf/simpleserver-environment.xml?rev=1.4&content-type=text/vnd.viewcvs
-markup

Once you define classloaders using this mechanism you can then later aquire
the classloaders in your blocks via something like

getBlockContext().getClassLoader( "my-classloader" );

Anyways I hope to do docs next week sometime after the long weekend.

Comments?

--
Cheers,

Peter Donald
--------------------------------
 These aren't the droids you're
 looking for. Move along.
--------------------------------


--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>





--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Customizable ClassLoader trees

Posted by Peter Donald <pe...@apache.org>.
On Sat, 2 Nov 2002 22:37, Daniel S. Haischt wrote:
> hello,
>
> the attached files are containing UML
> diagrams that are illustrating the classloader
> system i just created.

Thanks!

-- 
Cheers,

Peter Donald
-----------------------------------------------------------
 Don't take life too seriously -- 
                          you'll never get out of it alive.
-----------------------------------------------------------


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


AW: Customizable ClassLoader trees

Posted by "Daniel S. Haischt" <si...@gmx.net>.
hello,

the attached files are containing UML
diagrams that are illustrating the classloader
system i just created.

regards

daniel s. haischt
--

> -----Ursprüngliche Nachricht-----
> Von: Peter Donald [mailto:peter@apache.org]
> Gesendet: Samstag, 2. November 2002 03:43
> An: Avalon-Phoenix Developers List
> Betreff: Re: Customizable ClassLoader trees
>
>
> On Sat, 2 Nov 2002 11:01, Daniel S. Haischt wrote:
> > my OpenEJB block uses a similar hirarchical
> > classloader system. because i did the classloader
> > by myself as a part of my iChilli app server
> > i am configuring the classloaders within the
> > block's config.xml file.
> >
> > additionally the iChilli app server that i
> > am currently developing starts several servers
> > (a web container, an ejb container, a jms server etc.)
>
> sounds neat. I went and had a look at ichiili.sourceforge.net but
> it does not
> seem to have a lot in CVS that can be twiddled with at this stage.
>
> > because a ejb container needs to now when a
> > content of a specific directory will change
> > it is possible to add a <monitored>true</monitored>
> > flag to a specific classloader. that enables
> > a server (ex.: openejb) to register itself
> > as a ClassLoaderListener. that way a ClassLoader
> > will deliver added/deleted/changed events to
> > the appropriate server.
>
> cool. BTW you may want to have a look at
> jakarta-avalon-excalibur/monitor +
> jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/componen
> ts/monitor
> that does a similar thing. The excalibur classes are a generic monitoring
> toolkit while the phoenix ones monitor deploy directorys and redeploy on
> changes.
>
> > allthough as i said i created this classloader
> > systems a couple of weeks ago and i did it within
> > three days, so i didn't test every possible
> > scenario that could occure while using the
> > classloaders.
> >
> > if you want i can send u my configuration files
> > and some UML digrams that illustrate what i have
> > described above.
>
> that would be great.
>
> --
> Cheers,
>
> Peter Donald
> ---------------------------------------------------
> "Therefore it can be said that victorious warriors
> win first, and then go to battle, while defeated
> warriors go to battle first, and then seek to win."
>               - Sun Tzu, the Art Of War
> ---------------------------------------------------
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>



Re: Customizable ClassLoader trees

Posted by Peter Donald <pe...@apache.org>.
On Sat, 2 Nov 2002 11:01, Daniel S. Haischt wrote:
> my OpenEJB block uses a similar hirarchical
> classloader system. because i did the classloader
> by myself as a part of my iChilli app server
> i am configuring the classloaders within the
> block's config.xml file.
>
> additionally the iChilli app server that i
> am currently developing starts several servers
> (a web container, an ejb container, a jms server etc.)

sounds neat. I went and had a look at ichiili.sourceforge.net but it does not 
seem to have a lot in CVS that can be twiddled with at this stage.

> because a ejb container needs to now when a
> content of a specific directory will change
> it is possible to add a <monitored>true</monitored>
> flag to a specific classloader. that enables
> a server (ex.: openejb) to register itself
> as a ClassLoaderListener. that way a ClassLoader
> will deliver added/deleted/changed events to
> the appropriate server.

cool. BTW you may want to have a look at jakarta-avalon-excalibur/monitor + 
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/monitor 
that does a similar thing. The excalibur classes are a generic monitoring 
toolkit while the phoenix ones monitor deploy directorys and redeploy on 
changes.

> allthough as i said i created this classloader
> systems a couple of weeks ago and i did it within
> three days, so i didn't test every possible
> scenario that could occure while using the
> classloaders.
>
> if you want i can send u my configuration files
> and some UML digrams that illustrate what i have
> described above.

that would be great.

-- 
Cheers,

Peter Donald
---------------------------------------------------
"Therefore it can be said that victorious warriors 
win first, and then go to battle, while defeated 
warriors go to battle first, and then seek to win." 
              - Sun Tzu, the Art Of War
--------------------------------------------------- 


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>