Tuesday, October 21, 2008

Mule 2.1 is out!

After a lot of sweat and beers Mule 2.1 Community and Enterprise editions have been released. Improvements on the Community version include-

  • Component Interceptors have been re-introduced. We thought folks could get by on Spring AOP alone but it wasn't the case. Interceptors allows developers to intercept events before and/or after a component

  • Expression Support. Expressions allow developers to evaluate expressions on the current message to perform transformations, content-based routing, and filters. There is now better support expressions in routers and transformers. The expression syntax has also changed in this release to play well with Spring Property Placeholders. See the migration guide for more information

  • Reconnection Strategies have been replaced with the new Retry Policy framework. the old reconnection method only worked some of the time, the new Policy framework gives us much better control over how retries are attempted

  • Routers now support returning collections of messages using the new MuleMessageCollection interface. This is useful if you want to invoke multiple endpoints, say using the Multicasting router and return more than one result

  • Endpoint configuration has been tightened up to make it easier for people to configure event flows. It's now required that all endpoints are configured with the synchronous attribute, otherwise the default for the Mule instance is used. For more information about configuring event flows, see the Messaging Styles page

  • The Message Splitter router has been simplified to make it easier build custom splitter routers

  • There have been many schema updates to make it easier or more logical to configure Mule. These are detailed in the migration guide

  • The documentation is in orders of magnitude better than in previous releases. We still have work to do, but you can find information on almost all areas of Mule at the community site

  • The Mule codebase has been made OSGi-ready. This means that Mule now ships as OSGi bundles, but we have not made the move to actually having the server run inside an OSGi container. We want to do alot more around our support for OSGi, this was the first step

  • As always there is a huge number of fixed in this release. Thanks to the Mule community and customers for reporting them

We also released Mule 2.1 Enterprise this week. This is the commercial Mule offering providing all the benefits of the Community edition plus some extra tools and features.

  • Premium JDBC Connector - support for advanced JDBC functions, such as batch and cursor mechanisms, resulting in over two orders of magnitude (150x) performance improvements for certain use cases

  • WebSphere MQ Connector - bi-directional request-response messaging between WebSphere MQ and Mule JMS using native MQ point-to-point, as well as synchronous and asynchronous request-response communications

  • Mule RESTpack - now supported as part of the core Mule 2.1 Enterprise product, allows developers to create REST-style services, which form the basis for web oriented architecture (WOA), using popular frameworks such as RESTlet and Jersey

  • Out-of-the-box retry policies - allows creation of self-healing connections, instructing Mule to attempt reconnection based on pre-defined policies, without the need for custom code
  • Mule 1.x Migration tool helps existing Mule users migrate from Mule 1.4-1.6 to Mule 2.1

  • MuleHQ is a 360-view management and monitoring tool for managing all deployed assets such as the OS, JVM , database and of course Mule.

You cab grab the Enterprise Edition here (inclides a 30-day evaluation license) or get the Community Edition here.