Peter Royal wrote:
> On Tuesday, September 24, 2002, at 09:47 AM, Sylvain Wallez wrote:
>
>> Carsten Ziegeler wrote:
>>
>>> Berin Loritsch wrote:
>>>
>>>> Fortress is moving toward a MetaInfo enabled component matching system,
>>>> but that is done in a separate container. You will be able to take
>>>> advantage of that when it is done. Also, Fortress has a "big jar" that
>>>> includes all the Excalibur dependencies in one JAR file.
>>>>
>>
>> IIRC (didn't follow closely Avalon for some time), this meta-info is
>> stored in a resource file near the component's class. IMHO, this will
>> certainly seem complicated to average users that simply want to add an
>> action or a generator. Also, using a doclet adds an extra step in the
>> build process that doesn't make it much less complicated.
>
>
> You are not required to have the "meta-info as separate XML documents"
> to use fortress. It is an optional feature, one that is mainly designed
> to help with component portability between Avalon containers (and a
> non-issue for actions or generators as they are cocoon-specific
> components).
>
> The meta-info issue that Cocoon will face is where to store the
> lifestyle of a sitemap component. It used to be the marker interface,
> but those are gone. Fortress currently stores that information in the
> roles file, but we don't want to require Cocoon users to add all sitemap
> component metainfo to a roles file either.
>
> I believe it will be possible to create a custom Fortress container that
> still obeys the lifestyle interfaces though.
Absolutely. Just extend the AbstractContainer like DefaultContainer
does.
>>> Argh...sorry, I don't want to question this, but I simply do not like
>>> it. What will happen if I write a "SingleThreaded" implementation and
>>> configure it as ThreadSafe...
>>>
>>
>> Same feeling : implementing a marker interface seems to me more
>> intuitive and straightforward that writing a meta-info file.
>
>
> Agreed. However I *do* find it easier to specify the lifestyle in the
> roles document for container components (I have been guilty of
> forgetting to add ThreadSafe to components and dealing with the pain of
> having it be SingleThreaded by default).
>
> As mentioned above, you won't have to deal with meta-info files for
> Cocoon. Cocoon.roles can stay with a single added parameter per
> component of what lifestyle to use.
right.
>> Last note (I know, it may be late for it now), the name of the
>> service() method of the Serviceable interface doesn't seems well
>> chosen to me. This name is more suited for a method that asks the
>> component to perform its job, like in Servlet.service() than a method
>> that gives a component the means to link itself to other components or
>> services. "compose" was good (a system is composed of services) and
>> having compose(ServiceManager) doesn't conflict with
>> compose(ComponentManager).
>
>
> Interesting suggestion :) I believe it was changed to prevent confusion
> with the old method name. I do agree that the name service() is not as
> "intuitive" to the function performed as compose() was. You aren't the
> first to bring this up since the change happened.
> -pete
Unfortunately it is not easy to change now.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]