avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen McConnell <mcconn...@apache.org>
Subject Re: Fortress and Cornerstone Components
Date Thu, 01 May 2003 15:54:55 GMT


Berin Loritsch wrote:

> Peter Royal wrote:
>
>> On Wednesday, April 30, 2003, at 04:00  PM, Stephen McConnell wrote:
>>
>>> Preamble - dealing with Phoenix components required a certain degree 
>>> of effort on behalf of a container.  I have expressed on the user 
>>> list my opinion that the Fortress container is not there yet in 
>>> terms of providing this support.  This is based on my experience in 
>>> supporting Phoenix based components in a non-Phoenix environment for 
>>> over a year.  Note that this is a transient position - the code to 
>>> support Phoenix semantics is in place within Merlin - all that is 
>>> needed to collaboration to move this into Fortress or move Fortress 
>>> functionality into Merlin/Phoenix.
>>
>>
>>
>> Assuming that the components do not use the BlockContext interface, 
>> all that is needed for fortress is:
>>  * Any requ ired context entries 
>

As a minimum Fortress will need to provide:

Either:

   - a context mapping solution
     (you could adapt the ContextBuilder class to do this
      org.apache.avalon.assembly.appliance.impl.ContextBuilder)

or more simply:

   - hard code the minimum set of keys into a supplied context entry

     "app.name"   a String corresponding to the name of the
                  Phoenix application
     "block.name" a String corresponding to the name of the Phoenix block
     "app.home"   a File corresponding to a persistent directory assigned
                  to the application

In Fortress you can use a container to isolate the set of component that
consitute a application in the Phoenix sence of the word (this is what
is done in Merlin).  This ensures that the working directory is
different across multiple applications (containers).  The app.name
context entry can be mapped from the container partition name. In Merlin
the app.name is equivalent to the partition name.

>>
>>  * A manual declaration in a roles file specifying the thread-safe 
>> component handler for the block.
>>
>> Is this not correct?
>
>
> Actually, using Fortress's ANT task, you can gather that information
> (and assume the components are ThreadSafe as is the case with meta
> info generated components).  This is already done.  We can easily
> create a test to prove it.


Here is some test data (should be easily adaptible to Fortress) - its
the James application packaged a container and supporting configuration
that uses several cornerstone components.  The James guys have a basic
test case that validates things with about a 1000 messages.

http://cvs.apache.org/viewcvs/avalon-sandbox/merlin/merlin-smp/src/repository/james/

Cheers, Steve.

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org
http://www.osm.net

Sent via James running under Merlin as an NT service.




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Mime
View raw message