ChangeLog
Revision 4.0.1 (October 20, 2002)
  • Fix for backwards Logging. Some backwards compatability lost (PD)

  • MX4J JMX upgraded to 1.1.1 beta1. (PH)

  • Some work on the wrapper for Unix. (PH)

Revision 4.0 (September 16, 2002)
  • Small bug fixes. Some work on documentation. (PD)

  • MX4J JMX Documentation. (HR)

Revision 4.0b2 (August 26, 2002)
  • Started creating a Administrators guide. (DW)

  • Deprecated Manifest generation xdoclet task. It has never been used, supported or required by Phoenix and is considered a deprecated practice. (PD)

  • Moved the default location of DTDs to be based in directory http://jakarta.apache.org/avalon/dtds/phoenix/* rather than http://jakarta.apache.org/phoenix/*. Old style DTD URIs are still supported. (PD)

  • Added support for Blocks that are not proxied. (EP)

  • Added support for validation of a Blocks configuration against a schema (such as XMLSchema, Relax NG etc). (PR)

  • Added the ability for Blocks to request shutdown of their enclosing application via BlockContext.requestShutdown(). This will in turn shutdown the JVM *if* there are no more applications and the kernel has not been put in persistent mode. (PD)

  • Made sure that the i18n resources are reloaded whenever an application is redeployed. This fixed a bug where multiple re-runs of the same application would not update the i18n Resource bundles. (PD)

  • Added the ability for Blocks to request resources from the .sar file via BlockContext.getResourceAsStream(String). (PD)

  • Removed support for the JMX RI as it did not support RequiredMBean objects. We now require the MX4J implementation. (PD)

  • Addded documentation for new Management Info files. (HR)

  • Addded xdoclet support for new Management Info files. (HR)

  • Lots of work on JMX capability for Phoenix. (HR)

  • BeanShell debug tools for Kernel. (PH)

Revision 4.0b (August 11, 2002)
  • Added a monitor component that monitors the deployment directory. The monitor will deploys any .sars that are added to directory, undeploy .sars that are removed from directory and redeploy .sars that are modified. (PD)

Revision 4.0a4 (Unreleased)
  • Added start of configuration validation framework (PR)

  • Update documentation and move to Anakia for document generation. (PD)

  • Remove deprecated functionality for deploying old style .sar files or deploying from a directory. (PD)

  • Remove deprecated Service interface. (PD)

  • Remove some deprecated methods from BlockContext. (PD)

  • Warn users if their blocks Work interfaces/Services implement any lifecycle interfaces. (PD)

  • Allow name sub-element in block section of BlockInfo. (SM)

  • Add "sar:" URL protocol handling to policy section in environment.xml file. (PD)

  • Blocks no longer need to implement Block interface. Block interface is thus deprecated as is AbstractBlock. This was done to facilitate sharing of components between multiple containers. (PD)

  • Extrace Blocks to directory based on name deployed with rather than .sar name (to support multiple deployments of same .sar). Submitted By: Ulrich Mayring (ulim@denic.de) (PD)

  • Rework deployer such that jars are extracted to a temporary work directory and then deleted when application is undeployed. This is to work around the JVM locking and caching the jars and thus allowing users to redeploy applications. Submitted By: Ulrich Mayring (ulim@denic.de) (PD)

  • Updated build script so it will work when installed in a directory with spaces. Submitted By: dsmiley@mitre.org (David Smiley) (PD)

  • Use MX4J project to provide the JMX management kernel rather than RI. (PD)

  • Make phoenix use a temporary located in its hierarchy by setting the JVM system property "java.io.tmp". By default this temporary location is $PHOENIX_HOME/temp (PD)

  • Rework Embeddor so that it instantiates kernel components from a by reading the contents of conf/kernel.xml file. Submitted By: Joerg Bauer (bauer@denic.de) (PD)

  • Add XDoclet tasks to generate the manifest and BlockInfo files based on javadoc tags inserted into Blocks java file. Originally Submitted By: vinay nair (vinayc77@yahoo.com) (PD)

  • Added javadoc to more classes and added in package.html files where appropriate. (SM)

  • Added ApplicationListener objects that implement all same funcitonality as BlockListener but also provide support for Application Starting/Stopping/Failure events and provide access to SarMetaData. Consequently deprecated BlockListener interface. (PH)

  • Enhanced DefaultManager to support authenticated connecitons. Submitted By: "Jorg Bauer/Denic" (bauer@denic.de) (PD)

  • Add support for Parameterizable blocks. Submitted by: Brian Olsen (brian@mmmanager.org) (MT)

  • Allow Blocks to declare that they are able to be exported to a Management subsystem (ie JMS) by making their blocks declare (Management-access-points/) in their BlockInfo. Blocks will be exported to JMX with names like "application=Foo,name=MrBlock,role=org.apache.MyManagementInterface" (PD)

  • Validate the assembly.xml file and any BlockInfo files if they declare the DTD correctly. (PD)

  • Add native daemon support by using the daemon created in the http://wrapper.sourceforge.net/ project. Submitted By: Leif Mortenson (leif@silveregg.co.jp) (PD)

  • Fixed bug where application names were inapropriately prefixed to log categories. Submitted By Antal Attila (atech@nolimits.ro) (PD)

  • Fixed bug where application names were inapropriately prefixed to log categories. (PD)

  • Allow jars contained within the .sar file to declare dependencies on libraries using the standard JDK1.2+ Extension mechanism. For more information about optional packages, see the document Optional Package Versioning in the documentation bundle for your Java2 Standard Edition package, in the file guide/extensions/versioning.html. (PD)

Revision 4.0a3 (November 13, 2001)
  • Add documentation describing BlockListener. (PD)

  • Fixed bug that allowed binary distributions to be built without copying xerces.jar into correct place. (PD)

Revision 4.0a2 (November 12, 2001)
  • Update Phoenix to use the new Avalon Framework Logger interface rather than directly using LogKits Logger class. This required a backwards incompatible change in BlockContext. The getLogger() methods now return the Logger interface rather than LogKits Logger class. If a Block implements Loggable then it will be passed LogKits Logger, this is required for backwards compatability. If the Block implements LogEnabled it will receive the new style Logger. (PD)

  • Add support for undeploying and unistalling applications. Add support for separating out install phase from deployment phase and persisting information about application installations. (MT)

  • Rework the application deployment format (ie .sar format) to be more in line with other specifications. See docs/creating-a-server-application.html in distribution for current format description. The old format is deprecated but will still work. (PD)

  • Created the start of a Phoenix Developers Kit (PDK) that will enable developers to rapidly become accustom to developing Phoenix applications. (PH)

  • Started to incorporate the JMX code more fully into Phoenix kernel. Started doing this by refactoring the base MBeans and testing using the RIs agent. (PD)

  • Separated code that validated assembly of application into separate classes. The validation is now much stricter and requires that Blocks conform to established patterns. The validation phase should give more reasonable explanations for violations. Extra validation checks include verifying that services offered by a Block are actually interfaces, that there is no circular dependencies, that declared Blocks and BlockListeners actually implement Block or BlockListener interface, that the names of Blocks are valid etc. (PD)

Revision 4.0a1 (September 25, 2001)
  • Too many things to enumerate here. This is the first public release, and the code is still considered alpha. In future releases, we will be much more careful to record the changes to Phoenix. (BL)

Revision 3.1a2 (Unreleased)
  • Added stylesheet to convert Stylebook markup to DocBook markup. (BL)

  • Changed the documentation build process to use Cocoon to build the site. (BL)

  • Legacy support for nested configuration elements in assembly file removed. (PD)

  • Simplified Loader and made it set ContextClassLoader before executing Main method. It will also use the System property phoenix.home if set rather than always trying to dynamically determine home directory. (PD)

  • Added SingleAppEmbeddor to launch a kernel to load a single Application. Patch supplied by "Eung-ju Park" (colus@isoft.co.kr). This is useful if you need to reuse the blocks in other contexts (such as in a Servlet). (PD)

  • Made default SystemManager a NoopSystemManager. Patch supplied by "Eung-ju Park" (colus@isoft.co.kr). To re-enable RMI manager a new command line switch "--remote-manager" was added. (PD)

  • Reworked SecurityManager setup. Instead of starting a security Manager inside the code it has been re-architectured so that the SecurityManager is set on the command line. This was to avoid a number of issues related to creating a URLClassLoader in an unprotected context before setting SecurityManager. ie As AccessControllerContext was null it is impossible to use ClassLoader.getResource(AsStream)(). This means that defining phoenix.insecure will no longer disable the SecurityManager. The replacement method is to set the native OS environment variable 'PHOENIX_SECURE=false'. (PD)

  • Separate Parsing of CLI arguements into separate class (CLISetup). This is to facilitate launching Phoenix as a native daemon using Tomcats Services API. (PD)

  • Started Localizing text strings throughout Phoenix. This is done using ResourceManager and Resources from Avalon/Excalibur project. (PD)