Contact Us 1-800-596-4880

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.

Current Release Version

Enterprise Edition Community Edition

ESB

x

x

Management
Console

x

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.