Mule ESB 3.1.2 Release Notes
The Mule team is proud to announce the availability of Mule ESB 3.1.2. This is a follow-up release to Mule ESB 3.1.1, which continues MuleSoft’s commitment to making Mule the industry’s most powerful, simplest to use, and up-to-date Open Source ESB. Over 60 issues were fixed between this release and the previous one, making this release a highly recommended download and more stable version.
In previous versions of Mule ESB, you were required to set the MULE_HOME environment variable in order for Mule to start. As of version 3.1, the MULE_HOME variable is not required. If you have an existing MULE_HOME variable pointing to a previous version of Mule, you may see inconsistent results. Therefore, if you have previously set this variable, you should unset it. |
New in Mule ESB Version 3.1.2
Per-App Log Files
Application logging has been the number one requested feature in Mule since the Mule 3 deployment model was introduced and it is now available. This feature enables you to keep more granular track of messages produced, increasing ease of development and ease of deployment.
Now you can fine-tune the logging for each application you are running in Mule. This is highly useful if you have multiple applications running and you need each one logging events at different levels to application-specific log files. You can also dynamically modify the logging configuration for each application at runtime. So if you want to track down an issue, you don’t need to restart your application or server to change the level of your logs. Just change your application log config (typically through your log4j.properties file), and it starts logging with the new settings.
You can read more details about this on Logging with Mule ESB 3.X.
RESTlets Supported by Mule ESB
RESTlets are a set of Java classes that greatly simplify the hosting of multiple applications within a single JVM. The goal is to provide a RESTful, portable, and more flexible alternative to the existing Servlet API. In addition to support for Jersey, you can create RESTlet-based services. (This is a community library and doesn’t ship with Mule.) You can download the 1.3 version from here.
This project was also supported by members of the community.
Migrating From a Previous Version
For instructions on migrating from a previous version, consult the Mule documentation page.
Known Issues in This Release
The following JIRAs are open against this release of Mule ESB:
Key | Component/s | Summary | Workaround |
---|---|---|---|
MULE-5580 |
Examples |
Some examples from the distribution do not work in old version of Explorer (older than IE 9) |
Use IE 9 or another browser |
EE-2262 |
Examples |
Missing Ant scripts for some distribution examples. |
|
EE-2271 |
Mule EE |
Default install folder in Mac OS X and linux contains spaces. |
Replace the default folder with a new one containing no spaces |
MULE-5377 |
Mule ESB |
First successful message processor is only usable with request-response endpoints. |
|
MMC-829 |
MMC/Deployments |
Inconsistencies with deploying to empty server group |
When deploying to a particular server the message may be displayed "No application was deployed to any server…". This is inconsistent since the deployment is done and successful. Please notice that even if that message appears displayed deployment status will be correct |
Fixed in This Release
Mule version 3.1.2 builds on the features added in version 3.1.1 and fixes the following issues.
Key | Component/s | Summary |
---|---|---|
EE-1948 |
Core: (other) |
Improved ThreadPoolFactory discovery mechanism. |
EE-1969 |
Core: Exception Handling |
Exception pattern in exception strategy supports class hierarchy. |
EE-2132 |
Modules: Management/JMX |
JMX starts RMI server automatically. |
EE-2148 |
Transport: (Other) |
Ported RESTlets to Mule. |
EE-2163 |
Tools: Migration |
REST service with variable number of parameters is now bound correctly when the first call has some <null> values. |
EE-2181 |
Transport: FTP |
FTP transport out-of-memory error resolved. |
EE-2197 |
Examples/Tutorials |
Widget example no longer needs MULE_HOME to be set. |
EE-2210 |
Core: Deployment/Federation |
Axis libs no longer cause a memory leak. |
EE-2218 |
Transport: CXF, Transport: File |
Mule no longer drops the returned CXF response and returns NullPayload instead of Java object to the next available endpoint. |
EE-2230 |
Transport: JMS |
Hot-restarting of apps using WebLogic JMS brings them back to life. |
EE-2234 |
Transport: HTTP/ HTTPS |
Cross-site scripting vulnerability in Mule standalone server resolved. |
EE-2236 |
Core: (other) |
Increases Mule memory application when running the ESB/MMC EE bundle. |
EE-2237 |
Core: (other) |
License Manager no longer throws an error when starting Mule a second time. |
EE-2251 |
Core: (other) |
Mule can completely undeploy applications. |
MMC-132 |
MMC |
Change log level enabled. |
MMC-594 |
Agent |
Allows setting timeout per remote call. |
MMC-601 |
MMC |
MMC able to deploy an application to an empty server group. |
MMC-776 |
Administration |
MMC keeps this exception thrown. |
MMC-781 |
Common Services |
closeMulticastSocket() Close socket exception when running MMC without a network connection. |
MMC-792 |
Generic (other) UI |
Made it easier to find example applications from MMC when using the MMC EE bundle. |
MULE-1367 |
Modules: Management / JMX |
Made JmxAuthenticator configurable for JMX remote management. |
MULE-1631 |
Core: Bootstrap / Standalone |
Mule launches with space in path. |
MULE-1891 |
Core: Routing / Filters |
Allows pattern flags in RegExFilter. |
MULE-4916 |
Core: Configuration |
Custom-security-filter should allow setting properties and referencing a bean. |
MULE-5264 |
Core: (other) |
Implemented per-app log files. |
MULE-5306 |
Core: Bootstrap / Standalone |
Improved startup console feedback. |
MULE-5377 |
Mule |
First successful message processor usable with more than request-response endpoints. |
MULE-5392 |
Core: Bootstrap / Standalone |
Single-app option (-app) works with apps in ZIP file. |
MULE-5398 |
Modules: Security (Spring Security, Acegi, PGP, WS-Security) |
Implemented generic authentication interceptor. |
MULE-5410 |
Examples / Tutorials |
Examples menu text no longer garbled. |
MULE-5424 |
Core: Configuration |
Element to allow third-party routers is now easily configured and used in a flow. |
MULE-5458 |
Modules: Jersey |
Support of exception mappers in Jersey resources. |
MULE-5459 |
Core: (other) |
Log file per application—supports log4j.xml configs. |
MULE-5460 |
Transport: Email |
Email attachments no longer lost. |
MULE-5461 |
Core: Bootstrap / Standalone, Core: Deployment |
Reloads log4j configurations on the fly. |
MULE-5462 |
Modules: Management / JMX |
No longer throws a MalformedObjectNameException when registering services with names that contain a ";" |
MULE-5467 |
Core: Routing / Filters |
Creating a config file with 8 <collection-aggregator-router>s no longer prevents Mule from completing startup sequence. |
MULE-5468 |
Transport: JDBC |
Sybase Stored procedure/queries does not correctly manage column aliases |
MULE-5470 |
Core: Exception Handling |
Service exception strategy is able to stop endpoint receivers. |
MULE-5471 |
Core: Registry |
When registering a flow, its name is now used as the key in the registry. |
MULE-5481 |
Transport: Email |
Mail inbound—AddressException. |
MULE-5483 |
Core: Configuration |
Parsing simple component elements no longer causes an NPE if they contain more than one attribute. |
MULE-5485 |
Core: Bootstrap / Standalone |
Mule no longer starts inside an OSGi container with "IllegalArgumentException: Do not understand how to handle protocol: bundleresource." |
MULE-5487 |
Core: API |
Deserialization error no longer occurs when sending messages between different Mule applications. |
MULE-5490 |
Core: (other) |
When using the Mule server (not container server), annotations now work. |
MULE-5507 |
Transport: JMS |
Problems resolved when using JMS with LDAP. |
MULE-5511 |
Modules: XML, XSLT, XPath, SXC |
xpath-node-evaluator no longer throws an exception if the input type is org.w3c.dom.Document. |
MULE-5513 |
Modules: CXF |
CXF proxy propagates root cause of an exception. |
MULE-5517 |
Examples |
Example launcher no longer requires JAVA_HOME to be set. |
MULE-5520 |
Core: API |
ws:proxy does not rewrite port addresses when wsdlLocation path differs from the outboundAddress path. |
MULE-5521 |
Core: (other) |
Easier to understand startup progres in the Mule console. |
MULE-5522 |
Transport: File |
Added FileSize to message property. |
MULE-5523 |
Core: Endpoints |
Using dynamic endpoint no longer produces error when using asynchronous response. |
MULE-5524 |
Build: Libraries / Dependencies, Modules: Jersey |
Upgraded Jersey (and client) to 1.6 |
MULE-5528 |
Core: (other) |
Per-app logging: mail Mule logger now logs when an app deployment is complete. |
MULE-5529 |
Modules: XML, XSLT, XPath, SXC |
Jaxb-xml-to-object transformer now returns the type specified as the return type. |
MULE-5530 |
Build: Libraries / Dependencies |
Upgraded Jackson to 1.8.0. |
MULE-5540 |
Core: Bootstrap / Standalone |
When using a single-app option (-app) container startup message is not printed to the system log. |
MULE-5542 |
Core: Deployment |
Invalid application ZIP files no longer detected as new application. |
MULE-5545 |
Build: Distributions |
Mule-tools-anttasks ended up in lib/opt, must be in lib/mule. |
MULE-5546 |
Core: Routing / Filters |
Added sequence router. |
MULE-5548 |
Transport: Quartz |
Quartz: If running a job that was stored in a database, the muleContext is now valid and therefore the context should not necessarily be retrieved from the Quartz connector. |
MULE-5549 |
Transport: Quartz |
Issue with Quartz storing information in a JDBC data store because of a bug in Quartz 1.6.0 that is fixed in 1.6.6. |
MULE-5554 |
Core: Exception Handling |
Exception strategies now commit JMS transactions when directed to do so. |