Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 4.83 KB

mule-0.9-beta1-release-notes.adoc

File metadata and controls

52 lines (34 loc) · 4.83 KB

Mule 0.9 beta1 Release Notes

Mule 0.9 sees a number of major new features, most notable being transaction management and integrated routing support. This release marks the end of major architectural additions until Mule v1.0. Changes between now an the release of 1.0 will focus on adding extensions such as providers, transformers, routers and configuration builders, and system management support.

Transaction Management The Mule framework now supports declarative transactions. Transactions can be demarcated between two or more providers with the developer having full control over when transactions are begun and committed. Transaction constaints can also be specified to control transaction scopes over multiple events.
The transaction support in this release applies to Jms providers, though the framework has been designed to manage any other transactional system resources.
There is Full XA transaction support in this release. This provides 2 phase commit over different XA complient systems such as Jms and DBMS. In testing Mule’s XA support it proved difficult to get consistent behaviour between different XA aware Jms Servers. Generally, the commercial Jms Servers tested with seemed the most reliable.

Routing Support Mule now has routing support built into its architecture. Routers control how events are dispatched around the system. Mule provides routing for inbound events and outbound events.
Inbound Routing can control which events are accepted, the order in which events are received and how many events are received at a time (aggregation).
Outbound Routers can control where events get dispatched to next. This can achieve broadcasting over http, sockets, etc, recipient list dispatching and content-based routing over any supported protocol.

New Configuration Model Mule now has an extensible configuration model, based on configuration builders. A configuration builder is a builder strategy allowing developers to plug in their own configuration implementations. Possible futere implementations will be for Groovy and BeanShell. This distribution provides a Spring Configuration Builder that allows developers to initialise Mule from a Spring Application Context and leverage Springs’s features such as it’s Aop, data access and transaction frameworks from within Mule.

Simplified Provider API The Provider api has undergone some changes with the addition of transaction support. However, the new provider support classes hide all the implementation complexities providing simple hooks for transaction management and message routing.

Improved Documentation Mule’s existing documentation has been revamped and there is a lot of new documentation. Most importantly, the Home is available as well as the Architecture Guide, Mule Overview and FAQ. All Mule documentation is currently hosted on this wiki site so that it can be more responsive to change between releases. When version 1.0 of Mule is released a stable set of pdf documentation will also be provided.

Changes to Mule Xml configuration There have been some minor changes in the Mule Xml config definition in this release. You will need to update you 0.8 config files to take into account the following -

  1. When specifying a transformer chain, the transformer names should be separated by a space not a comma. This was changed so that the DTD could validate transformer names using IDREFS.

  2. The element <connector-descriptor> has been renamed to <connector>. The -descriptor postfix in Mule is used to indicate that the object is a template object, i.e. it’s is created or defined dynamically.

  3. Support for name-spaced properties has been deprecated. All properties on Mule objects are now set as bean properties, so namespace prefixes on the properties is redundant.

Issues Fixed

MULE-2@JIRA Components are always lazy loaded
MULE-3@JIRA More flexible configuration mechanism
MULE-4@JIRA Mule sessions confusing
MULE-5@JIRA Refactor MuleSession into Component/Session
MULE-6@JIRA Spring Configuration Support
MULE-7@JIRA Integrate Spring Transaction management
MULE-11@JIRA Provider name iterators for objects stored by the Mule server
MULE-12@JIRA Make it easier to plug in custom instances of the MuleManager
MULE-14@JIRA Default exception strategy on the Model
MULE-15@JIRA Pluggable pool on Model
MULE-17@JIRA Mule Overview Guide