Logging just got a lot easier in Mule 3.1

Reading Time: 6 minutes

Mule 3.1 introduces a very useful new <logger> element that makes it easy to inspect the content and properties of your messages in Mule while building or debugging a flow. It’s also perfect for logging errors, info messages etc.  Mule has always supported logging with the <log-component> but while working with the new orchestration capabilities of Mule 3 flows, we found a real need for fine-grained logging. With the new message processor architecture, this was a snap and we were able to put together the new functionality in an afternoon. In this blog post I’ll take you on a quick tour of what you can do with it with some examples.

Let’s start with the basics and work through some examples:

Continue reading

PGP module reloaded!

Reading Time: 2 minutes

With the release of Mule ESB 2.2.7 (and the upcoming 3.1.0), you will see a reloaded version of the PGP module. The previous version was using the Cryptix library which currently RIP and doesn’t handle large files.

The new version uses the bouncy castle library which allows handling encryption and decryption using streams. We have added some integration tests that were necessary to update the library and the code safely. Also we have some time to do some memory profiling analysis.

To validate that the current implementation handles really complex and big cases we created a small example with 2 services:

  • An encryption service that reads files from one directory and outputs the encrypted file to a different directory.
  • A decryption service that reads files from the encrypted directory and outputs the decrypted version to a different directory.

The Mule config is the following:

Continue reading

Overcoming the Eclipse XML autocomplete bug

Reading Time: 4 minutes

Mule configuration files are Spring XML files by nature. So the XML editor is an important development tool and provides a lot of benefit. When working in Eclipse, it provides:

  • Schema documentation assistance for the element you are configuring
  • Validation of your schema and context of any errors that are detected
  • Autocomplete of elements and attributes based on what is valid in the current element of configuration you are editing

However, Eclipse’s XML editor (provided as part of the WTP project) does not properly handle autocomplete with schema substitution groups. Unfortunately, we use those substitution groups a lot in Mule so we filed a bug with the Eclipse project. Half a year later someone attached patch to address the issue. Since then there was not much activity on the issue with respect to getting the fix into an Eclipse release.

As part my work on Mule IDE I sat down and created an update site that you can use to install the patch from. Our list of favorite Eclipse XML editor bugs has the update site links.

Continue reading

Announcing Mule 3.1 Release Candidate 1

Reading Time: 5 minutes

The Mule team is pleased to announce the availability of the first release candidate for Mule ESB 3.1. This is a continuing evolution of the Mule 3 architecture, first introduced in Mule 3.0 , and follows hot on the heels of our most recent release, Mule ESB 3.0.1.

The biggest enhancements in Mule 3.1 are the new features for Mule Cloud Connect. It is now very simple to, for instance:

  • Invoke a cloud service.
  • Use the data it returns to invoke other services
  • Combine the data returned by all of these services
  • Use the result to invoke yet another service (or write it to a database, or persist it as XML, or format it as a web page, or…There’s really no limit but your imagination.)

The three main innovations here are

  • invoke, which makes calling a cloud service a snap.
  • poll, which makes it easy to poll a service for incoming data.
  • enricher, which lets you combine data from many different calls into one rich message.

In addition, Mule configurations now support a simple yet powerful logging facility, which provides access to log4J levels and categories together with the full range of Mule expressions. For instance,

Continue reading

Mule 2.2.7 Enterprise Released

Reading Time: 3 minutes

I’m happy to announce the release of Mule ESB 2.2.7 Enterprise. This release represents the most stable version of Mule ESB, with over 400 bug fixes since Mule ESB 2.2.1 Community.

This release includes several important improvements to Mule ESB that were developed in close collaboration with our customers:

  • The JDBC transport in Mule is now more flexible and enhanced with additional native support for database platform-specific features (for more info). Some highlights include:
    • Extended SQL parameter definition
    • Support for Sybase stored procedure calls
    • New SqlCommandExecutors to execute simple, prepared or callable statements
    • Support for retry policy on SQL command execution
    • New SqlStatementStrategies and factories
    • Support for stored procedure calls at inbounds
  • For Mule 2.2.7, the PGP Security module has been upgraded. Improvements include:
    • The cryptography library has been replaced with a newer, more robust library
    • Better performance and memory management when encrypting/decrypting large message payloads
    • Streaming support
    • Allow checking for expiring keys
    • Message compression
Continue reading