Re: @avalon
Peter Donald <[email protected]> Sat, 22 Mar 2003 12:47:03 +1100
| Newsgroups | gmane.comp.jakarta.avalon.phoenix.devel,gmane.comp.jakarta.turbine.maven.devel |
|---|---|
| Message-ID | <200303221247.03239.peter__7624.33241257003$1048296506@realityforge.org> |
On Fri, 21 Mar 2003 01:21, Berin Loritsch wrote: > The only thing holding up consensus is you. Same with the marker interfaces we have or will be deprecating. Same with= the=20 compatability stuff that is in framework. > So what would it take to > change your mind? > > I am asking for three standard names: > > @avalon.component (in phoenix already) > @avalon.service (in phoenix already) this is used differently in phoenix from the way you proposed. I suggeste= d=20 that @avalon.role may be a better marker tag. > @avalon.lifestyle (proposed) > > I don't recall us comming to consensus on avalon.component and > avalon.service and yet you chose to use the avalon namespace. Lazy consensus. If you have a problem with them then state it. > So I want to add one more standard name, what's the problem from > your viewpoint? I think that the avalon namespace should be restricted to defining resour= ces=20 that the component requires or provides. lifestyle is not one of those=20 things.=20 Even if it was I don't think it is mature enough to be supported for all = time.=20 Besides not being able to represent all of the potential lifestyles such = as=20 "pooled during times X and y, transient other times" or "passivate under=20 condition X" Hell - I don't even think the lifecycle concept is something we should be= =20 marking up. I have described quite a few times in the past of a method vi= a=20 which lifestyle could be broken down into atomic bits of metadata=20 ie lifecycle=3Dsingle-thread :=3D ( sharable=3Dtrue, multiclient=3Dtr= ue ) lifecycle=3Dfactory/transient :=3D ( sharable=3Dfalse, multiclient=3Dfa= lse ) lifecycle=3Dpoolable :=3D ( sharable=3Dfalse, multiclient=3Dtr= ue ) etc. Then the container can read the metadata about the component and determin= e how=20 it will be handled. ie A component that is "poolable" can also be treated= as=20 "transient/factory" if the container wants without effecting the client c= ode=20 or component code. It effectively becomes a configuration decision and=20 tunable by the container. Even better it is future compatible. Anyways if you want to try an develope a set of those then we can try tha= t=20 (but then again I think they will need time to mature anyways). --=20 Cheers, Peter Donald "The ability to quote is a serviceable substitute for wit." -- Maugham=20