History of Changes

RSS

Version 4.1alpha (unreleased)

  • add Fix redeploying when only a single application is deployed. A lock was added to the kernel to prevent it from shutting down during redeployment. (PR)
  • add Add support for the excalibur-instrument project. An InstrumentManager is now part of the Phoenix kernel (a Noop version by default). Applications can have blocks that are Instrumentable as well as InstrumentManageable. (PR)
  • add PUnit added. See http://avalon.apache.org/phoenix/guide-punit.html (PH)
  • add Move to metagenerate (QDox using) instead of xdoclet for generating .xinfo and .mxinfo files. (PH)
  • remove Remove several jars from the lib directory in Phoenix. They were causing version conflicts with hosted applications which may want to use different versions of libraries. Many of these libraries were not used by Phoenix at all or could be moved to the container specific classloader. The libraries that are no longer visible to the client applications include; excalibur-thread, excalibur-threadcontext, excalibur-pool, excalibur-collections, excalibur-i18n, excalibur-logger, excalibur-util, excalibur-extension, excalibur-concurrent, qdox (PD)
  • update Schema types should now be the URI (ie "http://relaxng.org/ns/structure/1.0") rather than a shorthand (ie "relax-ng"). The old form is still supported but you will need to add mapping for any custom schema handlers previously implemented. See the kernel.xml for example mapping. Components that use old shorthand type will cause warnings to logs and System.err (PD)
  • update Configuration Validation is now enabled by default. So if the BlockInfo specifies a schema type and a schema exists the configuration for each Block will be validated. To disable validation the user can modify the kernel.xml so that the component in role "org.apache.avalon.phoenix.interfaces.ConfigurationValidator" uses the "org.apache.avalon.phoenix.components.validator.NoopConfigurationValidator" component. (PD)
  • update The default configuration for the JMX SystemManager now does not automatically start the HTTP Adaptor (ie the web interface). Users will need to explicitly enable the Http Adaptor via <enable-http-adaptor>false</enable-http-adaptor> in the MX4JSystemManager component section of the kernel.xml. See the kernel.xml for further details. (PD)
  • update Add support for property expansion in Log4J configuration files. You can now use propertys such as ${app.dir} and ${app.name} in the log4j logging configuration. See src/test/org/apache/avalon/phoenix/components/logger/test/config3.xml for a sample log4j config that uses property expansion. (PD)
  • update Move website to be based at http://avalon.apache.org/phoenix (PD)
  • update Move to Forrest http://xml.apache.org/forrest/ for document generation. (NKB)

Version 4.0.4 (April 18, 2003)

  • change Excalibur-Thread upgraded to 1.1 (PH)
  • change Improved way to specify JNDI naming handler in the kernel. (PD)

Version 4.0.3 (December 12, 2002)

  • change MX4J can be bound to something other than localhost now. (PH)

Version 4.0.2 (October 28, 2002)

  • change MX4J JMX upgraded to 1.1.1 (PH)

Version 4.0.2 (October 28, 2002)

  • change MX4J JMX upgraded to 1.1.1 (PH)

Version 4.0.1 (October 20, 2002)

  • change Fix for Logging. Some backwards compatability was formerly lost. (PD)
  • change MX4J JMX upgraded to 1.1.1 beta1. (PH)
  • change Some work on the wrapper for Unix. (PH)

Version 4.0 (September 16, 2002)

  • add Small bug fixes. Some work on documentation. (PD)
  • add MX4J JMX Documentation. (HR)

Version 4.0b2 (August 26, 2002)

  • add Added support for Blocks that are not proxied. (EP)
  • add Added support for validation of a Blocks configuration against a schema (such as XMLSchema, Relax NG etc). (PR)
  • add 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)
  • add Added the ability for Blocks to request resources from the .sar file via BlockContext.getResourceAsStream(String). (PD)
  • add Addded documentation for new Management Info files. (HR)
  • add Addded xdoclet support for new Management Info files. (HR)
  • add Lots of work on JMX capability for Phoenix. (HR)
  • add BeanShell debug tools for Kernel. (PH)
  • remove Removed support for the JMX RI as it did not support RequiredMBean objects. We now require the MX4J implementation. (PD)
  • fix 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)
  • change Started creating a Administrators guide. (DW)
  • change Deprecated Manifest generation xdoclet task. It has never been used, supported or required by Phoenix and is considered a deprecated practice. (PD)
  • change 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)

Version 4.0b (August 11, 2002)

  • add 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)

Version 4.0a4 (Unreleased)

  • add Added start of configuration validation framework (PR)
  • add Update documentation and move to Anakia for document generation. (PD)
  • add Remove deprecated functionality for deploying old style .sar files or deploying from a directory. (PD)
  • add Remove deprecated Service interface. (PD)
  • add Remove some deprecated methods from BlockContext. (PD)
  • add Warn users if their blocks Work interfaces/Services implement any lifecycle interfaces. (PD)
  • add Allow name sub-element in block section of BlockInfo. (SM)
  • add Add "sar:" URL protocol handling to policy section in environment.xml file. (PD)
  • add Blocks no longre 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)
  • add 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)
  • add 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)
  • add Updated build script so it will work when installed in a directory with spaces. Submitted By: dsmiley@mitre.org (David Smiley) (PD)
  • add Use MX4J project to provide the JMX management kernel rather than RI. (PD)
  • add 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)
  • add 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 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)
  • add Added javadoc to more classes and added in package.html files where appropriate. (SM)
  • add 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)
  • add Enhanced DefaultManager to support authenticated connecitons. Submitted By: "Jorg Bauer/Denic" (bauer@denic.de) (PD)
  • add 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)
  • fix Fixed bug where application names were inapropriately prefixed to log categories. Submitted By Antal Attila (atech@nolimits.ro) (PD)
  • fix Fixed bug where application names were inapropriately prefixed to log categories. (PD)
  • change Add support for Parameterizable blocks. Submitted by: Brian Olsen (brian@mmmanager.org) (MT)
  • change Validate the assembly.xml file and any BlockInfo files if they declare the DTD correctly. (PD)
  • change Add native daemon support by using the daemon created in the http://wrapper.tanukisoftware.org/ project. Submitted By: Leif Mortenson (leif@apache.org) (PD)
  • change 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)

Version 4.0a3 (November 13, 2001)

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

Version 4.0a2 (November 12, 2001)

  • add Add support for undeploying and unistalling applications. Add support for separating out install phase from deployment phase and persisting information about application installations. (MT)
  • add Created the start of a Phoenix Developers Kit (PDK) that will enable developers to rapidly become accustom to developing Phoenix applications. (PH)
  • add 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)
  • change 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)
  • change 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)
  • change 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)

Version 4.0a1 (September 25, 2001)

  • change 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)

Version 3.1a2 (Unreleased)

  • add Added stylesheet to convert Stylebook markup to DocBook markup. (BL)
  • add 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)
  • add 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)
  • add Started Localizing text strings throughout Phoenix. This is done using ResourceManager and Resources from Avalon/Excalibur project. (PD)
  • remove Legacy support for nested configuration elements in assembly file removed. (PD)
  • update 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)
  • update 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)
  • update Separate Parsing of CLI arguements into separate class (CLISetup). This is to facilitate launching Phoenix as a native daemon using Tomcats Services API. (PD)
  • change Changed the documentation build process to use Cocoon to build the site. (BL)