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:[EMAIL PROTECTED] http://www.osm.net
Sent via James running under Merlin as an NT service. http://avalon.apache.org/sandbox/merlin
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
