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 Peter Donald <pe...@apache.org> on 2002/09/01 10:42:05 UTC

New ClassLoader work

Hi,

I finally got motivated enough to do some of that ClassLoader stuff that has 
been pending for about a year. It basically an implementation of all our old 
ideas with nothing really added yet. 

You can see the start of the documentation at

http://jakarta.apache.org/avalon/excalibur/loader/

and more importantly I guess

http://jakarta.apache.org/avalon/excalibur/loader/sample.html

Once I finish this and it is unit tested up the whazoo I want to back 
integrate this into phoenix as part of environment.xml.

With these changes, people who want to easily implement spec compliant 
containers (ie servlet engine) or who want to implement proper classloader 
isolation for component (ie James + Mailets, EOB + beans etc).

Anyways - any comments. It seems technically possible at this stage. However I 
am not sure the terminology or DTD is accurate as such.

Thoughts?

-- 
Cheers,

Peter Donald
------------------------------------------------
| We shall not cease from exploration, and the |
|  end of all our exploring will be to arrive  |
|  where we started and know the place for the |
|            first time -- T.S. Eliot          |
------------------------------------------------


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


Re: New ClassLoader work

Posted by Peter Donald <pe...@apache.org>.
On Sun, 1 Sep 2002 23:26, Leo Simons wrote:
> > Once I finish this and it is unit tested up the whazoo I want to back
> > integrate this into phoenix as part of environment.xml.
>
> cool. One thought: "post-release". Anything that might impact stability
> is risky...we should feature-freeze.

It wont effect stability if integrated pre-release (will default to existing 
architecture) but it is unlikely to be integrated pre release anyway so no 
problems here. 

-- 
Cheers,

Peter Donald
--------------------------------
My opinions may have changed, 
but not the fact that I am right
-------------------------------- 


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


Re: New ClassLoader work

Posted by Leo Simons <le...@apache.org>.
On Sun, 2002-09-01 at 10:42, Peter Donald wrote:
> Hi,
> 
> I finally got motivated enough to do some of that ClassLoader stuff that has 
> been pending for about a year. It basically an implementation of all our old 
> ideas with nothing really added yet. 

cool. I don't think there is that much to add....

> Once I finish this and it is unit tested up the whazoo I want to back 
> integrate this into phoenix as part of environment.xml.

cool. One thought: "post-release". Anything that might impact stability
is risky...we should feature-freeze.

> Anyways - any comments. It seems technically possible at this stage. However I 
> am not sure the terminology or DTD is accurate as such.

looks okay to me =)

> Thoughts?

neat. It's been itching a little for some time now =)

cheers,

LSD



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


Re: New ClassLoader work

Posted by Peter Donald <pe...@apache.org>.
On Thu, 5 Sep 2002 00:34, Tomasz Skutnik wrote:
> No problem with unit testing :-). Do you have any code written already?
> I'd rather wait some time instead of writing from scratch something that
> you might have already started ;-)

I haven't started anything that has not be committed yet. So go for it.

-- 
Cheers,

Peter Donald
----------------------------------------------
Money is how people with no talent keep score.
---------------------------------------------- 


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


Re: New ClassLoader work

Posted by Tomasz Skutnik <To...@e-point.pl>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Peter Donald wrote:
| On Wed, 4 Sep 2002 18:00, Tomasz Skutnik wrote:
|
|>Looks nice.I'd like to see it in action (right now I'm looking for
|>thread-safe Forehead replacement, and it seems to be possible choice).
|>Do you need some help?
|
|
| I would LOVE some help. It currently does not do anything and is more
idea
| than fully implemented proggies. Here are my plans on what I want to
do next.
|
| 1. First I want to write unit tests to verify that the loader works

You mean by that o.a.e.l.b.ClassLoaderSetBuilder class, or meta data
clasess or both? How would you think it should look like? IMHO testing
meta data classes is not very useless, as the're only containers without
any complicated logic, and the'll be tested indirectly anyway during
unit testing of other components that use them extensively. If talking
about ClassLoaderSetBuilder, I thought about putting some sample xml
files inside test/ directory, like folks from bzip2 subproject did.
Maybe we should use some sort of external framework (e.g. JXUnit -
http://jxunit.sourceforge.net), to shield us from (or lessen the impact
of) PITA of test rewriting on specification changes?

| 2. Then I want to write unit tests to verify that the verifier works
| (basically one or two tests for each of cases checked for in verifier)
| 3. Then I want to write the actual runtime (ie the thing that takes the
| MetaData and builds the set of ClassLoaders).
| 4. Then I want to write tests that unit test (3) really really well.
| 5. Want to write a bootstap "loader" program that is capable of
starting other
| programs (I suspec this is what Forehead does - though I have not really
| looked at it properly).
|
| Other things to do:
| 6. Figure out if there is better terms than "Join" and regular
"ClassLoader"
| 7. write some more documentation (something simpler)
| 8. Add some examples
|
| You may notice that there is a lot of unit tests ;) Thats because
threading
| and ClassLoader issues have been the major cause of headaches in
Phoenix so I
| want to make sure it is done right and does not break anything ;)
|

No problem with unit testing :-). Do you have any code written already?
I'd rather wait some time instead of writing from scratch something that
you might have already started ;-)

| However you should feel free to do what ever you want to do with it.
You can
| avoid (or do all of) the tests if you want ;)
|
|
|>BTW. I post some fixes I've made to dosc/sources.
|
|
| Applied - thanks!
|

- --

Tomasz Skutnik, R&D Director, www.e-point.pl
tel +48 (22) 853 48 30, mob +48 501 555 705, fax +48 (22) 853 48 30
e-point S.A., ul. Filona 16, 02-658 Warsaw, Poland
PGP/GPG public key: http://scooter.ext.e-point.pl/tomasz.skutnik.gpg
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE9dhn9Ze1f4n3990IRAp6nAKCFswUVaMAY/rroO1/olrQUsyTTwACghrv3
bHQgIcyVoyPqhZ2/KuJONpI=
=MLiA
-----END PGP SIGNATURE-----


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


Re: New ClassLoader work

Posted by Peter Donald <pe...@apache.org>.
On Wed, 4 Sep 2002 18:00, Tomasz Skutnik wrote:
> Looks nice.I'd like to see it in action (right now I'm looking for
> thread-safe Forehead replacement, and it seems to be possible choice).
> Do you need some help?

I would LOVE some help. It currently does not do anything and is more idea 
than fully implemented proggies. Here are my plans on what I want to do next.

1. First I want to write unit tests to verify that the loader works 
2. Then I want to write unit tests to verify that the verifier works 
(basically one or two tests for each of cases checked for in verifier)
3. Then I want to write the actual runtime (ie the thing that takes the 
MetaData and builds the set of ClassLoaders).
4. Then I want to write tests that unit test (3) really really well.
5. Want to write a bootstap "loader" program that is capable of starting other 
programs (I suspec this is what Forehead does - though I have not really 
looked at it properly).

Other things to do:
6. Figure out if there is better terms than "Join" and regular "ClassLoader"
7. write some more documentation (something simpler)
8. Add some examples

You may notice that there is a lot of unit tests ;) Thats because threading 
and ClassLoader issues have been the major cause of headaches in Phoenix so I 
want to make sure it is done right and does not break anything ;)

However you should feel free to do what ever you want to do with it. You can 
avoid (or do all of) the tests if you want ;)

> BTW. I post some fixes I've made to dosc/sources.

Applied - thanks!

-- 
Cheers,

Peter Donald
'Most men would rather die than think. Many do.'
                             Bertrand Russell


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


Re: New ClassLoader work

Posted by Tomasz Skutnik <To...@e-point.pl>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Peter Donald wrote:
| Hi,
|
| I finally got motivated enough to do some of that ClassLoader stuff
that has
| been pending for about a year. It basically an implementation of all
our old
| ideas with nothing really added yet.
|
| You can see the start of the documentation at
|
| http://jakarta.apache.org/avalon/excalibur/loader/
|
| and more importantly I guess
|
| http://jakarta.apache.org/avalon/excalibur/loader/sample.html
|
| Once I finish this and it is unit tested up the whazoo I want to back
| integrate this into phoenix as part of environment.xml.
|
| With these changes, people who want to easily implement spec compliant
| containers (ie servlet engine) or who want to implement proper
classloader
| isolation for component (ie James + Mailets, EOB + beans etc).
|
| Anyways - any comments. It seems technically possible at this stage.
However I
| am not sure the terminology or DTD is accurate as such.
|
| Thoughts?
|

Looks nice.I'd like to see it in action (right now I'm looking for
thread-safe Forehead replacement, and it seems to be possible choice).
Do you need some help?

BTW. I post some fixes I've made to dosc/sources.

Cheers.

Scooter

- --

Tomasz Skutnik, R&D Director, www.e-point.pl
tel +48 (22) 853 48 30, mob +48 501 555 705, fax +48 (22) 853 48 30
e-point S.A., ul. Filona 16, 02-658 Warsaw, Poland
PGP/GPG public key: http://scooter.ext.e-point.pl/tomasz.skutnik.gpg
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQE9db2FZe1f4n3990IRAgnbAKCF1g49DuFuiPCPZ4lf/B1HRGNOKQCfd7zK
epnzvYVZcvS11Evacgyhz+I=
=S4Mf
-----END PGP SIGNATURE-----