Access Keys:
Skip to content (Access Key - 0)
Cancel    
Cancel   
 

Contents

Mule 2.2.0 Release Notes

Mule 2.2.0 Community Edition is now available. This release includes several new features that make Mule more powerful and easier to use than ever before.

Enhanced Expression Support

Expressions allow you to extract information from the current message or determine how to handle the message. Expressions are very useful with routers and filters for defining routing logic and for filtering out unwanted messages. In Mule 2.2, you can now use the powerful new Mule expression language, which provides a unified language for querying message properties, attachments payload, Mule context information such as the current service or endpoint, and access to the registry. Additionally, you can now declare a namespace globally so that it can be used by XPath expressions across Mule.
For example, the following Jaxen filter declares a namespace with the prefix "e", which is then used in the filter expression:

For more information, see Using Expressions in the Mule User Guide (login required).

Support for Spring Security 2.0

You can now use Spring Security 2.0 as a Security Manager inside of Mule. Spring Security is the next version of Acegi and provides a number of authentication and authorization providers such as JAAS, LDAP, CAS (Yale Central Authenication service), and DAO. You can use any of the library's security providers with Mule. For more information, see Configuring Security in the Mule User Guide (login required).

Support for Spring-first Deployments for Mule Embedded in a Webapp

Submitted as a patch by a Mule community user, this feature lets Mule use your existing application context (WebApplicationContext), if it has already been created by Spring, as the parent application context for the Mule configuration builder. This gives Mule easy access to all the beans you've configured in your Spring application context. For more information, see Spring Application Contexts in the Mule User Guide (login required).

Simplified Message Styles

The synchronous messaging style now inherently supports remote synchronous mode, so you no longer have to set the remoteSync attribute on endpoints. Additionally, you specify the synchronous attribute explicitly on each synchronous endpoint (default is false, creating asynchronous endpoints), which makes your configuration easier to interpret and control. For more information, see Mule Messaging Styles in the Mule User Guide (login required).

Additional Improvements

  • New XPath extractor transformer, BeanBuilderTransformer transformer, XPath filter, and schema validation filter
  • Fixes for the examples and an overhaul of the Bookstore example to use web services
  • Support for extensible SQL strategies
  • CXF web service proxying now supports attachments
  • CXF clients now pass custom Mule message properties correctly to the server
  • Native JMS redelivery counters if supported by a JMS server (with fallback to the old-style manual counts)
  • Improved JMS topic subscriptions support for SunMQ/OpenMQ
  • Improved JNDI lookup of JMS destinations having slashes in their names
  • Explicit control over JMS temporary reply destinations creation on a connector/endpoint level
  • Every inbound aggregator router now supports timeout and failOnTimeout for partial aggregations
  • Every connector now has a validateConnections configuration attribute, acting as a performance optimization hint
  • Fixed failures with some IBM J9 and JRockit versions when proprietary JVM optimizations were enabled
  • Clarified and cleaned up message property scopes and precedence
  • Clean up of the use of OSGi rebundled dependencies
  • Improved and expanded documentation
  • Many bug fixes and increased test coverage

For more details and for information on migrating from Mule 2.1 to Mule 2.2, click here.

Issues Resolved for 2.2.0

JIRA Issues (149 issues)
Priority Type Key component Summary
Blocker Improvement MULE-4122 Core: Routing / Filters Eventually dispatchers and requesters will leak memory
Blocker Bug MULE-4178 Examples / Tutorials Errorhandler maven build fails to fetch all dependencies
Blocker Bug MULE-4082 Examples / Tutorials loanbroker bpm example fails on hpux
Blocker Bug MULE-4128 Transport: JMS JMS replyTo refactoring introduced regressions
Blocker Bug MULE-4170 Build: Distributions 2.2 tar.gz download is broken
Blocker Bug MULE-4162 Transport: JMS JMS Redelivery Handler tries to deliver a message in an endless loop
Blocker Bug MULE-4025 Core: API, Core: Exception Handling RetryNotifier interface method "sucess" shoud be "success"
Blocker Bug MULE-4020 Modules: CXF CXF HTTP GET support does not work over servlets
Blocker Bug MULE-4121 Transport: VM configuring xa-transaction on vm:inbound-endpoint with queueEvents="true" results in error
Blocker Improvement MULE-4173 Modules: CXF Support all CXF routing and transformation use cases
Blocker Bug MULE-4107 Modules: Management / JMX Enabling JMX Management in Mule causes application to run extremely slow and appear to hang
Critical Improvement MULE-3882 Core: API, Core: Configuration remoteSync attribute on endpoints can be removed
Critical Bug MULE-4153 Core: Transports Transports are initialized multiple times
Critical Bug MULE-3927 Core: Registry, Modules: Spring SpringRegistry lookups swallow BeanCreationException, must bubble it up
Critical Bug MULE-4161 Core: API Property removal does not work if it there are properties in multiple scopes
Critical Sub-task MULE-4037 Transport: HTTP(S) / Jetty No endpoint path available for HTTP endpoints
Critical Improvement MULE-3960 Modules: Security (Spring Security, Acegi, PGP, WS-Security) User migration to Spring Security 2.0
Critical Bug MULE-4092 Modules: CXF Unable to "serve up" WSDL when using proxy='true' with CXF inbound endpoint
Critical Improvement MULE-4036 Transport: HTTP(S) / Jetty Make all HTTP transports behave identically so bugs don't arise
Critical Improvement MULE-3766 Core: Transports Review all transport dispatchers to have consistent return behaviour when calling send and dispatch
Critical Sub-task MULE-4033 Modules: (other) Create Spring Security Documentation
Critical Bug MULE-4117 Core: Encoding / I18N, Transport: HTTP(S) / Jetty Unable to override some message properties because outbound scope does not have priority over inbound scope.
Critical Improvement MULE-3250 Transport: JMS Rename 'numberOfConcurrentTransactedReceivers' property for JmsConnector
Critical Sub-task MULE-3620 Transport: HTTP(S) / Jetty HTTP servlet path mapping ignores part of the path before the last slash
Critical Bug MULE-4174 Modules: CXF Auto transform payloads when using proxies
Critical Task MULE-3901 Documentation / Website Start the Mule 2.2 migration guide
Critical Improvement MULE-3910 Core: Expressions, Modules: XML, XSLT, XPath, SXC The XPathExpression Evaluator does not handle situations where a Node needs to be returned
Critical Improvement MULE-3961 Modules: Security (Spring Security, Acegi, PGP, WS-Security) User uses Spring Security 2.0 for security
Critical Bug MULE-3948 Core: Components LogComponent returns null instead of passing along the original message.
Critical Bug MULE-3940 Core: API, Transport: JMS Unable to configure a durable subscription clientId for SunMQ/OpenMQ
Critical Bug MULE-3941 Core: Routing / Filters pass-through-router still processes message when Component with String return type returns null
Critical Bug MULE-4047 Transport: (other) Default Content-Type setting on Mule Servlet gets ignored
Critical Bug MULE-4049 Build: Maven Bookstore example breaks snapshot deployments
Critical Bug MULE-3902 Core: Expressions, Modules: XML, XSLT, XPath, SXC ExpressionSplitter does not work with XPATH due to an issue in the expression handling
Critical Bug MULE-3930 Modules: CXF WS Addressing causes NPE
Critical Bug MULE-3623 Core: Routing / Filters Collection aggregation router IMMEDIATE timeout exception
Critical Bug MULE-3192 Transport: FTP / SFTP Ftp connector in mule 2.0 fails with ParserInitializationException
Critical Bug MULE-3858 Transport: JMS Topic destinations with slashes in the name can't be looked up in JNDI
Critical Bug MULE-3849 Examples / Tutorials errorhandler does not build in maven on a clean system
Major Bug MULE-3899 Core: Registry MuleContextAware is not honoured if objects are registered in the Transientregistry
Major Bug MULE-3696 Transport: JMS ReplytoChainIntegration2TestCase fails
Major New Feature MULE-3957 Core: Expressions Create a Registry ExpressionEvaluator
Major Bug MULE-3919 Core: Routing / Filters The expression-splitter-router does not have the round robin attributes available
Major Improvement MULE-3936 Modules: XML, XSLT, XPath, SXC Integrate schema validation and JAXP XPath filters from Intel XML project
Major Improvement MULE-4166 Transport: JMS Mule should automatically detect when JMSXDeliveryCount is supported by the provider and select the RedeliveryHandler implementation to use
Major Bug MULE-4136 Core: Expressions #[map-payload:key*] expression evaluator does not return any values.
Major Bug MULE-4094 Modules: XML, XSLT, XPath, SXC Sxc filter schema allows an expectedType attribute but it can't be used
Major Bug MULE-4179 Examples / Tutorials Webapp example has broken link to the MX4J console
Major Bug MULE-4183 Examples / Tutorials Some examples still use JDK 1.4 target in their Ant builds
Major Bug MULE-4186 Examples / Tutorials Bookstore admin Add Book doesn't have any validation, fails with 'File not found error'
Major Sub-task MULE-3959 Documentation / Website Document the MUle Expression evaluator
Major Improvement MULE-3958 Transport: JMS Allow the disabling of TemporaryReplyTo destinations on the endpoint and connector
Major Improvement MULE-3962 Modules: CXF, Modules: Security (Spring Security, Acegi, PGP, WS-Security) WS-Security & Spring Security integration
Major Improvement MULE-3955 Core: Expressions Add support for grabbing all headers and attachments using expression
Major Improvement MULE-3956 Core: Expressions Add support for optional parameters in the header/attachments expressions
Major Improvement MULE-3996 Transport: HTTP(S) / Jetty Http outbound headers should use "outbound-scoped" properties rather than a custom header map "http.custom.headers"
Major Improvement MULE-4000 Core: API MuleEvent.getProperty() method does not behave as expected
Major Improvement MULE-3275 Core: Configuration Review Routers for usage of Expression evaluators
Major Sub-task MULE-3908 Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the JXPathExpressionEvaluator
Major Sub-task MULE-3904 Modules: XML, XSLT, XPath, SXC Add support for these namespaces in the JXPathFilter
Major Bug MULE-3850 Transport: JMS Add back support for connectionFactoryProperties for JmsConnector
Major Sub-task MULE-3909 Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the JXPathExtractor
Major New Feature MULE-3303 Modules: XML, XSLT, XPath, SXC Add the ability to configure global namespaces for XML features
Major Sub-task MULE-4140 Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the XmlMessageSplitter
Major Bug MULE-4147 Core: API Current contract for Connectable.validateConnection() is wrong
Major Bug MULE-4149 Build: Distributions NoClassDefFoundError: org/codehaus/groovy/tools/GroovyStarter
Major Bug MULE-4180 Examples / Tutorials Webapp example REST support is broken on embedded Tomcat
Major Bug MULE-4185 Examples / Tutorials Bookstore admin example Add Book returns data as form/urlencoded
Major Bug MULE-4210 Documentation / Website Many references to remoteSync attribute in documentation but it is removed in 2.2
Major Bug MULE-4261 Documentation / Website Error in WS Proxy documentation
Major Sub-task MULE-3905 Core: Expressions, Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the XPathExpressionEvaluator
Major Sub-task MULE-3907 Core: Expressions, Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the XPathExpressionEvaluator
Major Bug MULE-3864 Modules: Management / JMX JmxAgent throws an exception when mule context is restarted
Major Bug MULE-3997 Core: API MessageAdapter API has no method for getting a property from a given scope
Major Sub-task MULE-3914 Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the SXC filter
Major Sub-task MULE-4038 Transport: HTTP(S) / Jetty Jetty http transport uses non standard wildcard pattern match
Major Bug MULE-4041 Tools The Maven module archetype does not work unless you specify -DarchetypeArtifactId=mule-module-archetype
Major Bug MULE-4031 Examples / Tutorials, Transport: (other) Content-Type of "text/xml" is getting propagated from previous message
Major Bug MULE-4029 Build: Maven project archetype presents individual email transports for selection
Major Bug MULE-3411 Transport: HTTP(S) / Jetty Http endpoint contentType element value gets ignored and overwritten with default value
Major Sub-task MULE-3906 Modules: XML, XSLT, XPath, SXC Add support for global namespaces in the JaxenFilter
Major Improvement MULE-3802 Core: Expressions, Modules: XML, XSLT, XPath, SXC Xml expression evaluators need to support configurable namespaces
Major Improvement MULE-3893 Core: API, Core: Configuration Improve Expression Evaluation framework to support multiple nested expressions in literal strings
Major Bug MULE-2299 Core: Routing / Filters Oversynchronization in MulticastingRouter.route()
Major Improvement MULE-3897 Modules: XML, XSLT, XPath, SXC XPathExpressionEvaluator should support XML String payload
Major Improvement MULE-3896 Build: (other), Transport: JDBC Add ability to register specifc SQL strategies in SQLStrategyFactory
Major Bug MULE-3071 Transport: JMS JMSConnector keeps reestablishing connection
Major Bug MULE-3578 Modules: CXF, Modules: XML, XSLT, XPath, SXC XMLStreamRedaer in CXF Proxy for REST Service Component
Major Bug MULE-2282 Transport: JMS Unnecessary JMS Temp queue creation for no reply situation
Major Bug MULE-2889 Core: Transports JMS Connector for MQ does not reestablish connection.
Major Improvement MULE-4103 Core: Streaming, Modules: CXF Missing attachment using mtom proxy
Minor Improvement MULE-3842 Core: API Refactor the ExpressionEvaluator API
Minor Improvement MULE-3917 Modules: XML, XSLT, XPath, SXC ObjectToXml transformer should rename its parameter "acceptUMOMessage" to "acceptMuleMessage"
Minor Improvement MULE-4118 Transport: JMS Allow pollingFrequency to be configured on XaTransactedJmsMessageReceiver
Minor Bug MULE-4177 Examples / Tutorials Echo example prompt on Win has errors
Minor Patch submission MULE-4172 Modules: Security (Spring Security, Acegi, PGP, WS-Security) PGPSecurityProvider assumes all messages are signed
Minor Task MULE-4212 Documentation / Website Clarify the <file:expression-filename-parser/> requirement for file connector's dynamic endpoints
Minor Bug MULE-4184 Examples / Tutorials Bookstore admin example Get Stats return data as text/plain instead of text/html
Minor Improvement MULE-4130 Core: (other) Create a flag for disabling the validateConnection() "blip" for performance reasons
Minor Bug MULE-4211 Documentation / Website Tutorial Lesson 3 config results in output as text/plain instead of html
Minor Improvement MULE-4060 Build: Libraries / Dependencies Bump ActiveMQ version to 4.1.2
Minor Task MULE-3847 Build: Distributions Upgrade YourKit integration to v8.0.1
Minor Bug MULE-4145 Core: Expressions org.mule.util.TemplateParser chokes for patterns of the form: #[function:dateStamp(dd-MM-yyyy)]
Minor Task MULE-2554 Core: Components Consider deleting the MessageBuilder component
Minor Bug MULE-3782 Examples / Tutorials Stockquote unit tests log a ton of warnings
Minor Improvement MULE-1378 Core: Routing / Filters Improve MessageSplitter behaviour with invalid message parts
Minor Task MULE-3965 Build: (other) Merge tests/integration-jdk5 back into tests/integration
Minor Improvement MULE-3843 Core: Expressions Consider unifying mule expression evaluators such as header, attachments, payload, mule into a mule expression language .
Minor Bug MULE-3891 Tools Project archetype does not handle artifact names with "-" in them
Minor Bug MULE-4101 Transport: HTTP(S) / Jetty Servlet Transport does not send URI as payload body for HTTP Get requests
Minor Improvement MULE-4039 Tools Add registry bootstrap option to the Transport Archetype
Minor Bug MULE-2759 Core: (other) BuildDate uses SVN revision number instead of an actual build date
Minor Improvement MULE-2636 Modules: Expressions Add OGNLTransformer to OGNL module
Minor Improvement MULE-2933 Tools Transport Archetype should not produce MessageAdapter class by default
Minor Improvement MULE-451 Transport: JMS Jms Topic definition
Minor Improvement MULE-841 Core: API Inconsistent/duplicate class hierarchy with Correlation/ResponseCorrelationAggregators
Minor Improvement MULE-4111 Core: (other) Limit amount of characters to log for an exception
Minor Improvement MULE-4119 Transport: JMS Make JmsMessageRequester support expressions in selector
Minor Improvement MULE-4181 Examples / Tutorials Update Bookstore Example docs with instructions for running the app
Minor New Feature MULE-3499 Transport: JMS Allow disabling the replyTo handling
Minor Task MULE-3830 Documentation / Website Document use of Registry for storing User data in 2.x
Minor Improvement MULE-4004 Core: (other) Introduce a customizable testcase watchdog timeout
Minor New Feature MULE-3980 Core: Transformers Add a "bean builder" transformer
Minor Improvement MULE-3950 Core: Routing / Filters Filtering Router improvements
Minor Bug MULE-4132 Core: Bootstrap / Standalone Support Fujitsu Sparc/Solaris platform in the startup script
Minor Improvement MULE-4100 Core: Configuration, Core: Routing / Filters Support failOnTimeout option for all inbound aggregator routers
Minor Patch submission MULE-4035 Modules: Spring Support Spring-first style configuration for Mule embedded in a webapp
Minor Bug MULE-3804 Build: Libraries / Dependencies, Build: Maven OSGi-fied libraries don't have sources deployed
Minor New Feature MULE-502 Core: (other) Connection strategies to work on inbound and outbound endpoints (asynchronic scenario)
Minor Bug MULE-3612 Build: JDK Compatibility Fatal exception with IBM J9VM with WebpShere and Axis Connector
Minor Patch submission MULE-4155 Transport: FTP / SFTP missing call to client.completePendingCommand in postProcess
Trivial Improvement MULE-3903 Modules: (other) Add support for the TestServiceComponent in the test namespace
Trivial Improvement MULE-3840 Core: API Move the Expression interfaces to the API module: org.mule.api.expressions
Trivial Improvement MULE-4086 Core: (other) Improve a warning message for 'no resource bound'
Trivial Improvement MULE-3439 Transport: HTTP(S) / Jetty http-client-response-to-object-transformer should be renamed to http-response-to-message-transformer
Trivial Improvement MULE-3440 Transport: HTTP(S) / Jetty object-to-http-client-request-transformer should be renamed to object-to-http-request-transformer for consistency
Trivial Bug MULE-4120 Core: Configuration, Transport: JMS <jms:selector/> doesn't make sense when empty, switch expression attribute to be a mandatory one
Trivial Improvement MULE-4133 Modules: XA Transactions Provide auto-defaults for transaction manager XA node id
Trivial Bug MULE-4165 Core: Concurrency / Threading Insufficient synchronization in EventCorrelator
Trivial Improvement MULE-3971 Core: Expressions Add an expression to return the number of headers or attachments
Trivial New Feature MULE-3970 Core: Expressions Add a String Expression evaluator
Trivial Improvement MULE-3924 Core: API The NestedRouter class and supporting classes should be renamed to BindingRouter
Trivial Improvement MULE-3985 Core: Configuration Service Provider configs should use the org.mule.transport package
Trivial New Feature MULE-2682 Modules: Expressions Create an OGNL PropertyExtractor
Trivial Bug MULE-4124 Core: Configuration Transaction declarations in config must always have an 'action' attribute specified.
Trivial Bug MULE-4176 Core: Bootstrap / Standalone Disambiguate Encoding line in startup splash
Trivial Improvement MULE-3841 Core: API Move the expression implementations to: org.mule.expressions.*
Trivial Improvement MULE-3972 Core: Expressions Fixed arguments in Mule expressions such as 'all' or 'count' need to be wrapped
Trivial Improvement MULE-3923 Core: API CorrelationAggregator should be renamed to AbstractCorrelationAggregator