You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Stephen McConnell <mc...@apache.org> on 2003/06/22 18:54:28 UTC
[merlin] news and updates
Over the last few weeks there have been a number of updates to the
Merlin platform. This email is a summary of those changes and updates.
1. addition of <lifestyle> element into type descriptor
2. replacement of the <engine> tag with the <classloader> tag
3. move to framework 4.1.5 dev with api/impl separation
4. removal of the LifestyleService interface and
DefaultLifestyleService implementation
5. patches, bugfixes and documentation updates (credits to
Kristian Meier, David Bernard, Aaron Farr, and Laurent
Rieu, and others)
A summary of the updates is included below. Documentation on logging
category management is still pending as is documentation on the James
example. The other item on my checklist is the resolution of the
extension package in excalibur.
Summary of Updates
==================
1. addition of <lifestyle> element into type descriptor
------------------------------------------------------
Lifestyle semantics were originally declared using an attribute in the
component type descriptor info block:
<type>
<info>
<attributes>
<attribute key="urn:avalon:lifestyle" value="thread"/>
</attributes>
</info>
</type>
This has been replaced with an explicit lifestyle element:
<type>
<info>
<lifestyle>thread</lifestyle>
</info>
</type>
The implementation remains backward compatible. If a <lifestyle> tag is
not declared, the implementation will attempt to use the old method of
attribute based loookup. Meta generation tools included with Merlin
have been updated to automatically generate a <lifestyle> element.
2. replacement of the <engine> tag with the <classloader> tag
-------------------------------------------------------------
Following Leo's comments on this point, I've replaced the <engine> tag
with <classloader>. The implementation remains backward compatible. All
documentation has been updated to reflect the change.
Example:
<block>
<implementation>
<classloader>
<classpath>
<!-- your classpath content -->
</classpath>
</classloader>
<!-- your component, container and include directives -->
</implementation>
</block>
3. move to framework 4.1.5 dev with api/impl seperation
-------------------------------------------------------
Getting a clean classloader hierarchy into Merlin has been problematic
due to the requirement to include a logging implementation in the same
classloader that contains the framework classes. With the work on
separating framework API from implementation the groundwork is set to
get the overall classloading hierarchy within Merlin closer to the
actual objective of real container/component separation.
See the following message for more info on the objective:
http://marc.theaimsgroup.com/?l=avalon-users&m=105545526304417&w=2
To achieve this required some tweaking with the jar files generated by
the avalon 4.1.5 build (see
http://marc.theaimsgroup.com/?l=avalon-dev&m=105608223804011&w=2 for
details). Merlin packages have been updated to use the following jar file:
avalon-framework-api-4.1.5-dev.jar
avalon-framework-impl-4.1.5-dev.jar
4. removal of the LifestyleService service
------------------------------------------
As part of the process of improvement and simplification of the
internals of the assembly system, the lifestyle service has been
removed. The corresponding functionality has been moved into the
DefaultAppliance implementation. This change has the potential to break
custom appliance implementations. If you have a custom appliance that
extends DefaultAppliance, you should update the appliance .xinfo file
and remove the context entry for the lifestyle service.
5. patches and bugfixes
-----------------------
Lots of patches, bugfixes, and doc updates have been applied - including:
- singleton synchronization bugfix applied
- a bug related to root classloader association as
context classloader was closed
- context creation for lifecycle extensions bug closed
- pooled lifestyle handler establishment added
- meta-info generation tools (class hierarchy scanning)
- new meta-info test cases
- addition meta data documentation added
- spelling corrections applied
- new examples added
Cheers, Steve.
--
Stephen J. McConnell
mailto:mcconnell@apache.org
http://www.osm.net
Sent via James running under Merlin as an NT service.
http://avalon.apache.org/sandbox/merlin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org