Contact Us 1-800-596-4880

Mule ESB 3.1.0 CE Release Notes

The Mule team is please to announce the availability of Mule 3.1. This is a follow-up release to Mule 3.0.1, which continues MuleSoft’s commitment to making Mule the industry’s most powerful, simplest to use, and up-to-date Open Source ESB.

In previous versions of Mule, 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

Management
Console

x

New in Mule ESB Version 3.1

Mule Cloud Connect

Mule Cloud Connect enables simple integration of cloud-based applications and data without any programming. Mule 3.1 includes major improvements to Cloud Connect, including custom schemas for each connector, much simpler invocation of connectors, a new polling mechanism, message enrichment capabilities, and a simple yet powerful logging facility. Cloud connectors can also access the full range of Mule expressions allowing for very powerful integration and orchestration without any coding.

Web Services

Mule 3 dramatically simplified SOAP web services in Mule with the Simple Service configuration pattern and a new implementation of CXF leveraging the Mule 3 message processor architecture. In 3.1, Mule’s CXF support has been upgraded to use the most recent version of CXF, 2.3.0. Support for the WS-Stack was also improved. Most notably, Mule now supports WS-ReliableMessaging and asynchronous reply to endpoints for WS-Addressing. Validation of web services has also been enhanced. You can now turn on validation of incoming SOAP messages with CXF through a new validationEnabled configuration attribute.

Security Updates

In Mule 3.1, Spring Security has been upgraded from 2.0.4 to 3.0.3. This should be transparent to Mule configurations, except in two areas:

  • Schema changes

  • Java package changes

For more information on how to update your applications, refer to Configuring Security and the migration topic.

BPM Integration

Mule provides strong orchestration capabilities via the new Flow configuration in Mule 3 for short-lived transaction, where the goal is to maximize throughput and scalability. For other use cases like long running transaction, Mule has long included BPM Module Reference between Mule, commercial and open source BPM vendors (like jBPM, Activiti, BonitaSoft BPM, etc.).

In these release the Mule team has worked on the following integrations:

jBPM Integration

A jBPM business process is now a component in Mule rather than a transport, this not only enable the use case when we are connecting to an external BPM engine but also enable the use case when using jBPM "inside" Mule to process messages. Incoming messages to the component automatically advance the process, and the running process can send messages to any outbound endpoint. For more info., refer to BPM Module Reference.

Activiti Integration

The Mule team has been busy contributing to the Activiti BPM project and will be releasing support in Mule 3 for Activiti very soon. For more information about Activiti Integration

Mule ESB Management Console - Enterprise Edition

  • Deployment support: Remotely provision applications to a group of Mule servers with a few clicks. Use a single tool for deployment to enable DevOps-style collaboration between development and operations. Reduce risks by promoting smaller and more frequent change.

  • Integrated Application Repository: Store multiple Mule applications in a central repository, including version and history information.

  • Dashboards: Monitor your entire system from a single customized screen. Create dashboards at the global and individual server levels. Consolidate raised alerts, server health/metrics, and application/deployment status on a single screen.

  • Role base authorization: Segment users into groups based on role. Define role-based access capabilities. Maintain consistent view of infrastructure across development and operations, while reducing the risk of unauthorized actions

  • Versioning backward compatibility agent: The latest Mule ESB Management Console is backward compatible with Mule 2.2.x, so you can manage all your Mule Servers from a single console, regardless what version of Mule you are running.

Bug Fixes

Mule 3.1 also includes fixes for over 40 bugs. Details can be found in the release notes. As usual, several of these were patches submitted by the Mule user community and we thank you for your contributions to making Mule a great product!

Other important changes in this release:

  • Support for Spring Security v3

  • Asynchronous reply to endpoints for WS-Addressing

  • WS-ReliableMessaging support

  • You can now turn on validation of incoming SOAP messages with CXF through a new "validationEnabled" configuration attribute

Migration from Previous Versions

For instructions on migrating from a previous version, consult the Mule Migration page.

Fixed in this Release

Mule Community Edition version 3.1 builds on the features added in version 3.0 and fixes the following issues. In addition, all the fixes from previous 3.1 milestones are included.

Key Component/s Summary

MULE-5304

Core: Bootstrap / Java Service Wrapper

Mule Unix startup scripts doesn’t output use of MULE_HOME if it’s already set

MULE-5299

Documentation / Website

Spring Security doc needs to be updated to reflect support for Spring Security 3.0

MULE-5298

Documentation / Website

Creating Custom Routers topic mentions inbound routers

MULE-5294

Core: Configuration

Only simple message processors can be used within <response> element

MULE-5293

Build: Distributions

mule-embedded.jar should not require all 3rd party libs to start up

MULE-5289

Build: Distributions

Build number is not displayed in splash screen

MULE-5287

Core: Endpoints

Exception thrown during stop() phase wrongly says: "Failed to start inbound endpoint"

MULE-5286

Tools: Archetypes

Locate NamespaceHandlerTestCase in config sub package

MULE-5284

Tools: Archetypes

Catalog Archetype not working in 3.1.0

MULE-5283

Core: Exception Handling

Exception listener does not receive/propagate flowConstruct/lifecycle correctly

MULE-5282

Core: Event/Message

InvokeMessageProcessor should not create a new Map when doing expression handling

MULE-5280

Core: Concurrency / Threading

org.mule.management.stats.ProcessingTime IllegalThreadStateException

MULE-5279

Tools: Archetypes

Mule transport archetype references old endpoint builder classes

MULE-5275

Examples / Tutorials

LoanBroker BPM and LoanBroker Simple use the same 11081 port, result in 'simple' version never invoked

MULE-5272

Core: Registry, Core: Transformers

No transformer caching in MuleRegistryHelper causes runtime performance issues

MULE-5271

Transport: CXF / XFire

CXF validation throwing a classcast exception

MULE-5270

Documentation / Website

Transformer Configuration Reference page is broken

MULE-5269

Core: Exception Handling

Clean up exception strategy schema elements after exception strategy work in core

MULE-5266

Core: Lifecycle

WireTap/Enricher don’t propagate lifecycle/injection to nested message processor

MULE-5265

Core: Bootstrap / Java Service Wrapper

Mule work dir must be fixed within MULE_HOME, and fallback to current dir for embedded case only

MULE-5259

Transport: AJAX

Performing an RPC call from javascript to a AJAX endpoint sometimes just echoes the inbound payload

MULE-5258

Examples / Tutorials

Scripting example doesn’t filter out favicon.ico on the http endpoint

MULE-5256

Core: Routing / Filters

FirstSuccessful router should have a failureExpression to customize the failure criteria

MULE-5255

Core: Components

Method cache in MethodHeaderPropertyEntryPointResolver fails when used for multiple component classes

MULE-5250

Core: Event/Message

<enricher> overrides the payload even when a target attribute is defined

MULE-5248

Build: Distributions

Remove the JCA packaging from CE for 3.1

MULE-5246

Core: Configuration

Local Schema resolution not working

MULE-5234

Transport: File

Problem writing parts from ZipInputStream

MULE-5228

Core: Expressions

Variable expression evaluator/enricher for temporary storage during flow.

MULE-5225

Modules: Security (Acegi, PGP, JAAS, others)

Upgrade Spring Security to 3.0.3

MULE-5224

Core: Configuration

Generate warnings for deprecated schema elements

MULE-5223

Transport: CXF / XFire

Bug in CXF 2.2.2

MULE-5222

Core: Configuration

Implement polling message source

MULE-5219

Modules: Expressions (OGNL, RegEx, others)

Json expression evaluator does not return lists and cannot be used with expression splitter

MULE-5218

Core: Expressions

ExpressionManager parse() chokes on nested expressions

MULE-5215

Core: Components

Logger processor that logs via commons logging with expression support and configurable level/category

MULE-5214

Core: Bootstrap / Java Service Wrapper

"MULE_HOME is set to " message in win startup script (no actual value displayed)

MULE-5211

Core: Bootstrap / Java Service Wrapper

mule-app.properties not loaded if mule-deploy.properties isn’t present

MULE-5209

Tools: Archetypes

mule-project-archetype generates a sample configuration file that has an invalid namespace for Mule core

MULE-5207

Core: Endpoints, Core: Routing / Filters

Race condition related to mule-5162

MULE-5206

Transport: HTTP/ HTTPS

HTTPS inbound-endpoints do not work in a flow

MULE-5205

Core: Bootstrap / Java Service Wrapper

Mule fails to startup on a ec2 64 bit ubuntu instance

MULE-5204

Build: Libraries / Dependencies

Bump Hibernate version to 3.6.0

MULE-5202

Modules: XML, XSLT, XPath

Inadequate documentation in mule-xml.xsd concerning packageNames attribute

MULE-5198

Core: Routing / Filters

<all> multicasting doesn’t seem to send the initial payload to all outbound endpoints

MULE-5188

Core: Concurrency / Threading

<flow> uses single thread even when inbound endpoint is one-way

MULE-5184

Build: Distributions

When bumping the minor version in the poms, we also need to bump the schema versions in the spring.schemas file

MULE-5180

Core: Event/Message

Addition of ExpressionEnrichers that enrich a message given an expression and value

MULE-5179

Core: Components

<invoke> element that allows quick and easy invocation of an objects method with mapping from message to method arguments using mule expressions

MULE-5178

Core: Concurrency / Threading

Exceptions stored in DefaultEntryPointResolverSet not threadsafe

MULE-5176

Core: Bootstrap / Java Service Wrapper

Regression: agents no longer registered with a startup splash screen

MULE-5175

Core: Exception Handling

Remove requirement for payload to be Serializable in ExceptionStrategy

MULE-5172

Tools: Archetypes

mule-catalog-archetype has no tests, generates broken code

MULE-5171

Transport: Email

IMAP transport inbound endpoint doesn’t work. Fails to retrieve email messages

MULE-5168

Core: Components, Core: Configuration

rest-service-component does not work in flow

MULE-5167

Core: Exception Handling

JMS retry (reconnection)

MULE-5162

Core: Endpoints, Core: Routing / Filters

Dynamic endpoints don’t work for VM and JMS transport

MULE-5156

Core: Event/Message

Interceptor stack in Mule 3.0.0 is causing wrong bean to be invoked

MULE-5152

Core: Bootstrap / Java Service Wrapper

Do not require MULE_HOME to be set for starting Mule

MULE-5150

Transport: VM

Inbound attachments for VM transport persist after a message is sent

MULE-5143

Modules: (other)

Post-processor handling of @Transformer annotation is slow

MULE-5141

Tools: Archetypes

Create a configuration pattern creation archetype

MULE-5138

Transport: Email

Impossible to use a user name containing @ in IMAP transport (probably affects all transports)

MULE-5134

Transport: HTTP/ HTTPS

When multiple connectors are specified dynamic endpoints errors.

MULE-5130

Core: (other)

Notification subsystem leaks memory

MULE-5127

Core: Bootstrap / Java Service Wrapper

mule 3.0.0 won’t start as a windows service

MULE-5125

Core: Deployment / Federation

Applications using groovy leak memory on undeployment

MULE-5124

Transport: JMS

ActiveMQ connectors fail to reconnect after JMS server restart

MULE-5118

Transport: Email

ObjectToMimeTransformer only looks at inboundattachment list for attachments

MULE-5116

Transport: TCP / UDP / SSL / Multicast

Multicast problems on AIX

MULE-5115

Core: Concurrency / Threading

Thread names can 'overwrite' each other, result in JVM not reporting actual threads

MULE-5114

Transport: BPM / BPEL

Add support for jbpm 4.4

MULE-5110

Transport: BPM / BPEL

Defining attribute "processEngine-ref" of connector "jbpm-connector" as IDREF in mule-bpm.xsd is too restrictive

MULE-5101

Transport: (other)

Servlet transport uses session ID as unique message ID which creates issues with async-reply handling

MULE-5095

Core: API

DefaultMessageCollection getPayloadAsBytes() and getPayloadAsString(enc) throw UnsupportedOperationException

MULE-5088

Transport: Email

AbstractMailConnector decoding of URI username/password results in non NULL values

MULE-5086

Core: Exception Handling

An error message is logged when an exception strategy is invoked for a flow or configuration pattern

MULE-5084

Core: API

Impossible to use more than one # in a URI anymore

MULE-5082

Core: API

MuleEndpointURI incorrectly replaces curly brackets with braces in a query

MULE-5081

Examples / Tutorials

non-blocking exception in hello example

MULE-5065

Core: Components

static component should be allowed after async

MULE-5057

Core: Routing / Filters

ExceptionBasedRouter reuses the transformed message on the next endpoint

MULE-5040

Transport: File

Possible FileNotFoundException on ONE_WAY file endpoints with auto delete enabled

MULE-5001

Core: Transformers

Byte array to String conversion without encoding in StringToObjectArray

MULE-4982

Build: Integration Tests

DynamicOutboundEndpointTestCase testDefaultOneWay fails intermittently,

MULE-4928

Core: Containers, Transport: JDBC

JDBC driver is not "visible" to Hibernate when running Loanbroker BPM example

MULE-4921

Modules: JSR-223 Scripting

NoClassDefFoundError when running the scripting example from standalone distribution

MULE-4912

Transport: HTTP/ HTTPS

HttpRequestBodyToParamMap uses java.net.URLDecoder. But URLDecoder sometimes can’t decode query string which encoded by URLCodec.

MULE-4905

Modules: RSS / ATOM

When creating an ATOM entry with the Atom entry builder transformer, the author name does not get saved

MULE-4784

Transport: Quartz

Endpoint filters not applied when invokes via the quartz:job-endpoint

MULE-4774

Core: Transports

No EndpointMessageNotification for response messages of synchronous transports

MULE-4689

Modules: Security (Acegi, PGP, JAAS, others)

The crytpix libs used by the PGP module are outdated, replace with bouncycastle

MULE-4630

Core: Exception Handling

Configured Service Exception strategy does not get called for MessageRedeliveredException

MULE-4629

Core: Configuration, Core: Endpoints, Core: Registry, Core: Transformers

endpoint.getTransformers() is returning the wrong endpoints transformer

MULE-4523

Transport: HTTP/ HTTPS

When http transport is used for both inbound and outbound endpoints and flow is sync headers returned from outbound call should not be used for inbound response

MULE-4512

Core: Routing / Filters

A response message should not be returned when a synchronous request fails due to an exception

MULE-4268

Core: Lifecycle

Retry should not stop/start connector

MULE-4235

Transport: CXF / XFire

Enable validation in a CXF endpoint

MULE-4011

Transport: CXF / XFire

CXF not sending charset information on responses

EE-2114

Examples / Tutorials

jdbc example does not work with sybase

EE-2110

Examples / Tutorials

EE widget example issues spurious error messages

EE-2108

Transport: JDBC

EE transports need to work with flows

EE-2104

Examples / Tutorials

Security example client does not work on Windows

EE-2092

Build: (other)

EclipseXmlCatalog.groovy generates invalid URL for EE core schema

EE-2091

Build: Distributions

Increase MaxPermSize in EE distribution

EE-2088

Core: Bootstrap / Java Service Wrapper

Regression: -debug switch fails to start Mule

EE-2087

Core: Bootstrap / Java Service Wrapper

0x7b wrapper error - log file not created

EE-2077

Modules: High Availability

Rework HA bootstrap integration

EE-2067

Modules: Security (Acegi, PGP, JAAS, others)

PGP encryption/decryption apparently broken in 2.x

EE-2064

Core: Bootstrap / Java Service Wrapper

Bump Java Service Wrapper to the latest stable version for 3.x

EE-2054

Transport: JDBC

NullPointer instead of ConnectionException on JdbcDispatcher when Mule Starts with DB down

EE-2041

Build: Distributions

Migrate License Manager groupId to com.mulesoft.licm

EE-2040

Transport: JDBC

Add ability to call Sybase stored procedures on JDBC outbound endpoints

EE-2038

Build: Libraries / Dependencies

MuleSource → MuleSoft migration

EE-2037

Build: Libraries / Dependencies

Upgrade mule-module-saml

EE-2035

Transport: FTP, Transport: Quartz

using quartz over ftp to read a file does not delete a file from the src directory

EE-2028

Modules: High Availability

Backup Mule Instance Not Connected to Primary in Mule HA

EE-2026

Transport: HTTP/ HTTPS

Multiple headers with the same name are not supported by Mule

EE-2024

Transport: JDBC

improved jdbc transport from espeed, I think this supports sybase

EE-2019

Core: Transports

Servlet transport consumes POST Body and therefore shows null for @FormParam parameter

EE-2018

Transport: FTP

Unable to control FTP pool settings

EE-2012

Modules: Security (Acegi, PGP, JAAS, others)

Update SAML module to use mule-module-cxf instead of mule-transport-cxf

EE-2008

Examples / Tutorials

Jdbc example not able to process CSV file for insert data into the database

EE-2007

Core: Transformers

If multiple bean-builder-transformers use beans with same property names, Mule doesn’t start

EE-2002

Core: Transports

CXF outbound router encounters a TransformerException attempting to route SOAP message to first outbound-endpoint.

EE-1991

Modules: Spring

spring:ref not supported in some cases

EE-1990

Transport: JDBC

XA transactions cause connections leak in pooled datasources

EE-1966

Transport: Email

IMAPS transport to read a message but if filters applied then mark the email un read or NOT SEEN

EE-1960

Build: (other)

EE-1861 3.x QA : Service management notification tests

EE-1958

Build: (other)

EE-1861 3.x QA : com.mulesource.qatests.examples.hello.HelloHttpExampleTestCase

EE-1952

Transport: VM

VM queues ordering

EE-1946

Build: Distributions

Move MSMQ transport & distribution into 'msmq' build profile

EE-1945

Build: (other)

EE-1861 3.x EE : JmsSingleTransactionSingleServiceBeginOrJoinConfigurationTestCase against WMQ6

EE-1944

Build: (other)

EE-1861 3.x EE : JmsSingleTransactionSingleServiceAlwaysBeginConfigurationTestCase against WMQ6

EE-1941

Transport: JMS

JmsMessageRequester not XA Transaction aware, closes JMS Session

EE-1937

Transport: JMS

NPE issue in MuleEventContext.dispatchEvent

EE-1935

Core: (other)

MULE_BASE stop does not work on solaris

EE-1933

Transport: JMS, Transport: WebsphereMQ

jms local transactions 'actions' not behaving as expected

EE-1928

Modules: (other)

Handling Spaces in Path in populate_m2_repo.groovy

EE-1927

Core: Transformers

MuleDefinitionParser sees duplicate bean-property names as service names, and does not startup

EE-1924

Core: Transformers, Modules: Expressions (OGNL, RegEx, others)

Expression transformer conflicts with other transformers in the stack

EE-1914

Transport: BPM / BPEL

Port jBPM improvements from Forrester project to Mule 3.x

EE-1909

Core: Routing / Filters

Filters are invoked twice

EE-1907

Core: Routing / Filters

outbound endpoint is not invoked when timeout happens on collection-aggregator-router and failOnTimeout=false is set

EE-1903

Build: Integration Tests

ConsoleWrapperTestCase and ConsoleWrapperLoggingTestCase fail on jdk1.5.0_22

EE-1902

Build: (other)

Maven central repo has invalid 3.0.0-M2 release

EE-1901

Transport: JMS

setting clientid on wmq connector does not work

EE-1889

Build: Distributions

remove support module from distributions

EE-1888

Build: (other)

EE-1861 3.x EE : com.mulesource.mule.transport.jms.vendors.MuleMQJmsConnectorTestCase

EE-1873

Transport: TCP / UDP / SSL / Multicast

sw tcp improvement

EE-1867

Transport: CXF

Proxying POJO with simple frontend throws NPE

EE-1852

Transport: WebsphereMQ

Please add clientID to WMQ connector attributes

EE-1845

Transport: TCP / UDP / SSL / Multicast

Please review possible TCP transport fixes and enhancements proposed by SWA

EE-1827

Core: Bootstrap / Java Service Wrapper

Upgrade to Tanuki wrapper 3.4.0 once it comes out

EE-1813

Transport: TCP / UDP / SSL / Multicast

Implement inbound client connections for TCP transport

EE-1793

Build: (other)

EE-1861 3.x distribution : echo unit test failures

EE-1791

Build: (other)

EE-1861 3.x : Linux 64bit QA : XA failures

EE-1789

Build: (other)

EE-1861 3.x : Linux 64bit QA

EE-1786

Build: (other)

EE-1861 3.x EE (3.0.0-M2-SNAPSHOT) JDK6

EE-1785

Build: (other)

EE-1861 3.x EE (3.0.0-M2-SNAPSHOT) JDK5 : ActiveMQ issues

EE-1784

Build: (other)

EE-1861 3.x EE (3.0.0-M2-SNAPSHOT) JDK5 : WMQ issues

EE-1772

Transport: JMS

Memory leak in TransactedPollingJmsMessageReceiver

EE-1758

Build: Libraries / Dependencies

Upgrade Jetty 6.x dependency

EE-1728

Transport: File

Implement workDir for file transport

EE-1717

Modules: Security (Acegi, PGP, JAAS, others)

SpringProviderAdapter forces use of UsernamePasswordAuthenticationToken

EE-1710

Modules: Management / JMX

Two endpoints with same address cause JMX error

EE-1700

Transport: HTTP/ HTTPS

HTTP transport does not support redirects

EE-1661

Modules: (other), Transport: JMS, Transport: WebsphereMQ

Multi-tx doesn’t roll back

EE-1660

Build: (other)

Update company name in license headers

EE-1659

Core: Configuration

Update EE schema URLs to www.mulesoft.org

EE-1654

Core: Transports

JMS polling receiver with no dependency on XA

EE-1641

Transport: JDBC

Please add support for JDBC Query timeouts

EE-1612

Core: Concurrency / Threading, Core: Deployment / Federation

Distributed locking for polling message receivers

EE-1604

Core: Exception Handling

Transformer exceptions should be handled by service exception strategy

EE-1589

Transport: HTTP/ HTTPS

Basic authentication on outbound endpoints is not working with HTTPS or CXF over HTTPS outbound-endpoint

EE-1545

Core: Bootstrap / Java Service Wrapper

Unable to run mule ee in standalone mode

EE-1532

Transport: File

Extend File connector to listen on subdirectories

EE-1523

Build: (other)

Create a way to disable test configs per build plan

EE-1521

Core: Bootstrap / Java Service Wrapper

EE Bootstrap modules are duplicated on every hot-reload

EE-1513

Build: (other)

mule-test-exclusions.txt is ignored for parameterized JMS tests

EE-1473

Transport: CXF

Please support HTTP 1.0 with CXF

EE-1463

Transport: WebsphereMQ

Refactor WMQ Retry tests to use same class hierarchy as EE WMQ tests

EE-1447

Transport: WebsphereMQ

WMQ Retry test failure: WMQ EE configurations

EE-1440

QA: Automation

SPIKE: Developer failover testing strategy and create stories for implementing test framework

EE-1439

Modules: (other)

Release Mule EE 3.0 EA

EE-1438

Build: Distributions

Release Mule EE 3.0 EA Alpha with demonstrable failover

EE-1437

Examples / Tutorials, Modules: (other)

Create Failover Example for Story Demos

EE-1436

Modules: (other)

Basic Warm Failover Use Case

EE-1411

Examples / Tutorials, Modules: (other)

Failover Example

EE-1126

Modules: (other)

Failover Goal Story

EE-1120

Modules: (other)

Failover Clustered Router State

EE-1117

Modules: (other)

Failover Packaging

EE-1114

Modules: (other)

Warm Failover for Async Services

EE-1113

Modules: (other)

Warm Failover for Synchronous Services

EE-877

Core: Routing / Filters, Core: Transformers

Potential Improvements on SelectiveConsumer.java

EE-728

Build: (other)

EE boot module should extend CE, not replace it

EE-210

Core: (other), Transport: VM

FilePersistenceStrategy will not work when there are at least 2 vm connectors matching protocol "vm"