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 Paul Hammant <Pa...@yahoo.com> on 2002/06/01 00:12:12 UTC

Re: Classpath question

Danny,

>1st, thanks for the big reply Paul. 
>  
>
>>1) First of all you should separate interface and impl of maillets. 
>>    
>>
>
>Done already.
> 
>
Err, yes, perhaps I should have done the "sorry if these are already 
done" disclamer ;-)

>>4) James should also dynamically load maillet jars via a service api 
>>(for other Phoenix blocks)
>>    
>>
>
>Not sure what this means exactly, but understand the principle
>  
>
OK, MailServer (interface) is the principle service for James.  Smaller 
services (more internal) are UserRepository, but image you had one 
caleed MailletRepository.  Imagine it had addMaillet(File 
mailletJarFile) and addMaillet(URL mailletJarFileUrl).  Imagine you had 
a service/block called JamesStartup that used the MailletRepository 
service to add jars, one by one from a conceptual startup dir inside the 
SAR file.  See DefaultStartup inside EOB.

>>5) James should mount each mailet jar in a separate classloader (see 
>>Jesktop and EOB).  The parent of the classloader should be the system 
>>classloader (which has all the J2SE packages in it plus the those in 
>>phoenix/lib.  
>>    
>>
>
>I'll look at Jesktop/EOB
>  
>
:-)  EOB is cleaner as it is newer.  Jesktop does do the hot-install 
thing which is nice.  In time I am going to drag comps from EOB into 
Jesktop to make a bean aware desktop.

>>The impl of James is hidden from the maillet.
>>    
>>
>>It's a big task, but you'll be really pleased you did it.  You can copy 
>>as much code as you like from Jesktop and EOB 
>>    
>>
>
>'s what I like to hear :-)
>  
>
:-)

- Paul


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