You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by bl...@apache.org on 2003/03/25 02:36:15 UTC
cvs commit: avalon-excalibur/fortress/src/xdocs features.xml
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 @@
<body>
<section><title>Features</title>
<p>
- 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.
</p>
<section><title>Asynchronous Component Management</title>
- <p>
+ <p>
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.
</p>
- <p>
+ <p>
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.
</p>
</section>
<section><title>Extensible Lifecycle</title>
- <p>
+ <p>
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.
</p>
</section>
<section><title>Instrumentation</title>
<p>
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.
+ </p>
+ </section>
+ <section><title>Attribute Enabled Meta Information</title>
+ <p>
+ 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.
</p>
</section>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org