Return-Path: Delivered-To: apmail-avalon-cvs-archive@avalon.apache.org Received: (qmail 53364 invoked by uid 500); 25 Mar 2003 01:36:16 -0000 Mailing-List: contact cvs-help@avalon.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon CVS List" Reply-To: "Avalon Developers List" Delivered-To: mailing list cvs@avalon.apache.org Received: (qmail 53353 invoked by uid 500); 25 Mar 2003 01:36:16 -0000 Received: (qmail 53350 invoked from network); 25 Mar 2003 01:36:16 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 25 Mar 2003 01:36:16 -0000 Received: (qmail 63969 invoked by uid 1152); 25 Mar 2003 01:36:15 -0000 Date: 25 Mar 2003 01:36:15 -0000 Message-ID: <20030325013615.63968.qmail@icarus.apache.org> From: bloritsch@apache.org To: avalon-excalibur-cvs@apache.org Subject: cvs commit: avalon-excalibur/fortress/src/xdocs features.xml X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N bloritsch 2003/03/24 17:36:15 Modified: fortress/src/java/org/apache/avalon/fortress/impl/role ServiceRoleManager.java fortress/src/tools/org/apache/avalon/fortress/tools ComponentMetaInfoCollector.java fortress/src/xdocs features.xml Log: update the meta info to the agreed upon extension Revision Changes Path 1.5 +5 -5 avalon-excalibur/fortress/src/java/org/apache/avalon/fortress/impl/role/ServiceRoleManager.java Index: ServiceRoleManager.java =================================================================== RCS file: /home/cvs/avalon-excalibur/fortress/src/java/org/apache/avalon/fortress/impl/role/ServiceRoleManager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ServiceRoleManager.java 24 Mar 2003 22:03:54 -0000 1.4 +++ ServiceRoleManager.java 25 Mar 2003 01:36:15 -0000 1.5 @@ -141,10 +141,10 @@ static { Map lifecycleMap = new HashMap(); - lifecycleMap.put( "thread-safe", ThreadSafeComponentHandler.class.getName() ); - lifecycleMap.put( "per-thread", PerThreadComponentHandler.class.getName() ); + lifecycleMap.put( "singleton", ThreadSafeComponentHandler.class.getName() ); + lifecycleMap.put( "thread", PerThreadComponentHandler.class.getName() ); lifecycleMap.put( "pooled", PoolableComponentHandler.class.getName() ); - lifecycleMap.put( "factory", FactoryComponentHandler.class.getName() ); + lifecycleMap.put( "transient", FactoryComponentHandler.class.getName() ); m_lifecycleMap = Collections.unmodifiableMap( lifecycleMap ); } @@ -273,7 +273,7 @@ return; } - String shortName = meta.getProperty( "avalon-ext.name", createShortName( implementation ) ); + String shortName = meta.getProperty( "x-avalon.name", createShortName( implementation ) ); String handler = getHandler( meta ); addRole( shortName, role, implementation, handler ); @@ -287,7 +287,7 @@ */ private String getHandler( Properties meta ) { - String lifecycle = meta.getProperty( "avalon-ext.lifecycle", null ); + String lifecycle = meta.getProperty( "x-avalon.lifecycle", null ); String handler = null; if( null != lifecycle ) 1.3 +8 -8 avalon-excalibur/fortress/src/tools/org/apache/avalon/fortress/tools/ComponentMetaInfoCollector.java Index: ComponentMetaInfoCollector.java =================================================================== RCS file: /home/cvs/avalon-excalibur/fortress/src/tools/org/apache/avalon/fortress/tools/ComponentMetaInfoCollector.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ComponentMetaInfoCollector.java 24 Mar 2003 22:03:54 -0000 1.2 +++ ComponentMetaInfoCollector.java 25 Mar 2003 01:36:15 -0000 1.3 @@ -208,12 +208,12 @@ */ private void prepareMetaInfo(Properties meta, JavaClass javaClass) { - DocletTag avalonScope = javaClass.getTagByName("avalon-ext.lifecycle"); + DocletTag avalonLifecycle = javaClass.getTagByName("x-avalon.lifecycle"); DocletTag fortressHandler = javaClass.getTagByName("fortress.handler"); - String scope = null; + String lifecycle = null; String handler = null; - if ( avalonScope == null && fortressHandler == null ) + if ( avalonLifecycle == null && fortressHandler == null ) { Type[] interfaces = javaClass.getImplements(); for (int i = 0; i < interfaces.length && handler != null; i++) @@ -234,22 +234,22 @@ } } - if (null != avalonScope) + if (null != avalonLifecycle) { - scope = avalonScope.getValue(); + lifecycle = avalonLifecycle.getValue(); } else if (handler != null) { handler = (null == fortressHandler) ? PerThreadComponentHandler.class.getName() : fortressHandler.getValue(); } - if ( null != scope ) meta.setProperty("avalon-ext.lifecycle", scope); + if ( null != lifecycle ) meta.setProperty("x-avalon.lifecycle", lifecycle); if ( null != handler ) meta.setProperty("fortress.handler", handler); - DocletTag avalonConfigName = javaClass.getTagByName("avalon-ext.name"); + DocletTag avalonConfigName = javaClass.getTagByName("x-avalon.name"); if ( null == avalonConfigName ) avalonConfigName = javaClass.getTagByName("fortress.name"); - meta.setProperty("avalon-ext.name", (avalonConfigName == null) ? ServiceRoleManager.createShortName(javaClass.getName()) : avalonConfigName.getValue() ); + meta.setProperty("x-avalon.name", (avalonConfigName == null) ? ServiceRoleManager.createShortName(javaClass.getName()) : avalonConfigName.getValue() ); } /** 1.4 +39 -26 avalon-excalibur/fortress/src/xdocs/features.xml Index: features.xml =================================================================== RCS file: /home/cvs/avalon-excalibur/fortress/src/xdocs/features.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- features.xml 7 Feb 2003 17:56:31 -0000 1.3 +++ features.xml 25 Mar 2003 01:36:15 -0000 1.4 @@ -11,45 +11,58 @@
Features

- Fortress provides a framework for you to easily create your - own application specific containers. We strive to make it - easy for you to do without sacrificing any power. Fortress - allows you to focus on the core issues in your system, without - worrying about the component management getting in your way. + Fortress provides a framework for you to easily create your + own application specific containers. We strive to make it + easy for you to do without sacrificing any power. Fortress + allows you to focus on the core issues in your system, without + worrying about the component management getting in your way.

Asynchronous Component Management -

+

Most component management functions don't take that long to - perform, but the time they do take can directly affect how - many requests your system can process at the same time. For - that reason, we use the CommandManager from the Event package - to manage our components. By moving all the management - functions to a limited number of background threads, we are - able to save you time in the critical processing path. + perform, but the time they do take can directly affect how + many requests your system can process at the same time. For + that reason, we use the CommandManager from the Event package + to manage our components. By moving all the management + functions to a limited number of background threads, we are + able to save you time in the critical processing path.

-

+

The CommandManager can be extended to your components as well. - That way, your components can perform management tasks in the - background as well. Fortress will likely be your choice of - containers if you have strict performance constraints. + That way, your components can perform management tasks in the + background as well. Fortress will likely be your choice of + containers if you have strict performance constraints.

Extensible Lifecycle -

+

Fortress has support for an experimental feature that allows - you to extend your component lifecycle in an application - specific manner. If it proves to be a truly useful feature, - other Avalon containers will adopt it. + you to extend your component lifecycle in an application + specific manner. If it proves to be a truly useful feature, + other Avalon containers will adopt it.

Instrumentation

Fortress is integrated with the Instrumentation package so - you can get a graphical view of the health of your system - at runtime. We integrate sampling points for each of the - component handlers so that you can see how many component - instances each handler is responsible for. Using that - information, you can tune your container more intelligently. + you can get a graphical view of the health of your system + at runtime. We integrate sampling points for each of the + component handlers so that you can see how many component + instances each handler is responsible for. Using that + information, you can tune your container more intelligently. +

+
+
Attribute Enabled Meta Information +

+ Instead of using a "roles" file to keep track of the component + configuration name, and what kind of lifestyle the component + has, Fortress provides some tools so that you can keep track + of that information with your java source code. You have to + use the ANT tasks that are defined in the Fortress tools jar. + It collects all the attributes defined as JavaDoc doc tags + and generates the meta info files which are then read at + runtime. It makes it a whole lot easier to manage critical + aspects like lifestyle and which classes represent components.

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