From: Adrian B. <adr...@jb...> - 2005-11-21 15:42:51
|
On Sun, 2005-11-20 at 14:29, Scott M Stark wrote: > - A pojo metadata model with a loader abstraction that isolates the > source of the metadata from the pojo model. The loader needs a notion of > scope. > - A metadata resolution service that supports a hierarchical linking of > the pojo metadata model from the various scopes (thread, request, > session, app/deployment, server, cluster/domain). Aspects should be able > to interact with thread/request level metadata to introduce/override this. > - A mapping to the profile service abstraction that allows for > management tools, installers to introduce metdata via deployment level > and higher loader abstractions. Can you explain this what you mean by a loader abstraction and a mapping to the profiler service? The way I envisaged it is was that the "metadata repository" is a very simple service that would have configuration pushed to it IOC style. Each pojo/service would then be linked to a point in the repository's tree (maybe creating an empty node if it does not already exist). Any other processing would be built upon these simple primitives, mostly using decorators. e.g. This POJO needs an ENC so enhance the POJO with the ENC decorator which has a link to its instance point in the metadata repository tree, containing information about how to construct that ENC. The implementation of the ENC decorator can then choose to do what what it likes (based on native environment) including registering itself with JNDIView or whatever at "POJO start". NOTE: This is not quite the same thing as the deployment aspects but it is related. What the deployment aspect does to "load" the repository is irrelevant to the repository itself. Metadata Repository: effectively a database Deployment aspect: responsbile for populating the database and linking components to relevant points. The simplest deployment aspect is to "handcode" it using MC config alongside the bean deployment. Pseudo config: <bean name="Metadata"> <install bean="Repository" method="installApplicationMetaData"> <parameter>MyApplication</parameter> </install> <bean> <bean name="MyBean"> <annotation name="org.jboss.Application">MyApplication</annotation> </bean> NOTE: This metadata link not only provides a reference into the metadata repository but it can also be used to place the pojo/service in the jsr77 tree (if it has that decorator :-). -- xxxxxxxxxxxxxxxxxxxxxxxx Adrian Brock Chief Scientist JBoss Inc. xxxxxxxxxxxxxxxxxxxxxxxx |