This page last changed on Oct 03, 2006 by tcarlson.
Mule 1.3 is out! And there are quite a few changes from the last major release and over 200 issues closed!
Key Changes/Fixes/Features
MuleSource Public License
- Mule is now distributed under the MuleSource Public License, which consists of the Mozilla Public License Version 1.1, modified to be specific to MuleSource.
Maven 2.0
- Mule is now built by Maven 2.0, which is great news for Maven users. All Mule components are available for download from the public Maven repositories and can be added as dependencies to your application's POM.
Java Service Wrapper
- Mule now uses the Java Service Wrapper for controlling Mule from your native Operating System. This allows you to run Mule as a Windows Service or UNIX Daemon, automatically restart Mule when the JVM crashes or hangs, conveniently start, stop, restart Mule from the command line, and more.
XFire STaX-based SOAP support
- XFire is a next generation soap stack using a stream based service model for efficiency and low memory usage. Mule now supports Xfire soap endpoints that are interchangable with the existing Glue and Axis endpoints.
JavaSpaces
- Mule now has specific support for JavaSpaces, and ships with integration of the GigaSpaces implementation of the JavaSpaces spec. Mule can work with Local or remote spaces and manage JavaSpace transactions.
Spring Remoting
- Mule services can now invoke Spring Remoting services or be invoked using spring remoting.
HiveMind Support
- The new HiveMind container context allows you to obtain objects from a HiveMind registry to use as your UMO components or to wire other Mule objects such as connectors, transformers, agents, etc.
Transaction Managers
- Mule now supports a lot more transaction managers including Weblogic, Websphere, JRun, JBoss, Resin and Generic Jndi-based support.
Performance
- The Http transport has been rewritten to handle requests more efficiently and now supports message chunking as well.
- Jms improvements have been introduced to manage receiver threads and session caching.
Encoding
- Message encoding can now be controlled on the event, endpoint or Mule instance level. All default encoding operations have been removed ensuring that Mule can be configured to run on non-european operating systems.
Session Handling
- Session information can now be managed by Mule. Transports can plug in their own Session handler so that Http Cookies or ServletSessions can be used transparently. Mule also defines its own session header that can be used by transports that support headers but have no notion of a session in its protocol.
Bug Fixes
- We've closed off over 200 issues in this release! See below for more information.
New in the Sandbox
Were getting new submissions all the time. Recent additions to the Sandbox include -
- jBPM Transport
- Specialised Tibco Transport
- Specialised MQ Series transport
- SAP module
- Maven Architypes for building template projects
API Changes
There were a couple of minor API changes made in this release that were necessary. These should not have a big impact on your code.
- *# It is no longer possible to obtain a properties map directly from a MuleMessage (interface: UMOMessage). Users must obtain a PropertyNames Set from the message.
- MuleMessage (interface: UMOMessage) does not expose a PropertyNames Iterator. Now a set is returned.
- MuleMessage (interface: UMOMessage) does not expose a AttachmentNames Iterator. Now a set is returned.
- UMOMessageDispatcher.receive(UMOEndpoint endpoint, long timeout) has been added. This is so that transaction and filtering information can be passed when doing a receive.
- UMOMessageDispatcher.receive(UMOEndpointURI endpointUri, long timeout) has been deprecated.
- All property accessor and mutator methods on UMOEvent and UMOEventContext have been deprecated. Instead you should obtain the UMOMessage from the UMOEvent or UMOEventContext and access the properties through the message.
Big thanks to the Mule community for providing all their feedback, patches and bug reports!
Issues resolved since 1.3-rc5
Bug
- [MULE-371] - JmsConnector doesn't support XAConnectionFactories
- [MULE-468] - Rmi and axis endpoint conflict
- [MULE-497] - Unexpected error: "no SOAPAction header!"
- [MULE-514] - Axis provider behaviour regression
- [MULE-536] - Inbound Transformers do NOT get invoked if anUMO component implements Callable.
- [MULE-541] - MailUtils incorrectly handles single/multiple addresses conversion
- [MULE-545] - Http provider does not correctly handle UTF-8 encoded String payloads
- [MULE-556] - Binding multiple services under the same port fails for HttpsConnector
- [MULE-592] - Oracle AQ support broken in 1.3 snapshot + documentation issue
- [MULE-593] - HttpsMessageReceiver throws UnsupportedOperationException when disposing of SSLSocket.
- [MULE-600] - ThreadingProfile docs need updating
- [MULE-604] - The Axis Client config settin does not get picked up by Axis
- [MULE-606] - LoanBroker exposes bug in new Axis provider
- [MULE-607] - LoanBroker exposes bug in new XFire provider
- [MULE-620] - Bug in copy constructor of org.mule.config.ThreadingProfile
- [MULE-621] - The onEvent() of UMOServerEventListener pass in a mutable UMOMessage (i.e. data by reference) instead of a snapshot of the original UMOMessage
- [MULE-625] - HttpClientMessageDispatcher ignores proxy configuration
- [MULE-626] - Objects that implement more than one ServerNotification inteface only get evets for the first interface matched
- [MULE-632] - Source snapshot is missing some files
- [MULE-633] - Source files for any modules that use the M2 directory structure do not get included in the distribution
- [MULE-634] - Dependency on sun.misc.Base64*coder
- [MULE-690] - JavaDoc not generated for modules with M2 structure
- [MULE-695] - XmlMessageProtocol has a memory leak
- [MULE-810] - Conflicting transaction state in Websphere MQ
- [MULE-820] - Random NPE in XFire (probably multithreading-related)
- [MULE-824] - clean / multiproject:clean dooes not really clean all artifacts
- [MULE-835] - CommonsPoolProxyPool.onRemove() needs to dispose component
- [MULE-836] - Serializable classes do not declare SerialVersionUID
- [MULE-843] - Refactor EventGroup to not expose the internal List of events
- [MULE-862] - SSL provider does not compile/run under IBM JDK/WebSphere
- [MULE-869] - AbstractReceiverServlet throws an 'java.lang.IllegalStateException: ERROR: Cannot set header. Response already committed.' on IBM WebSphere
- [MULE-876] - propertyExtractor config is not working correctly
- [MULE-877] - Possible ClassCast exception in SedaComponent.handleWorkException()
- [MULE-879] - Mule 1.3 rc4 JCA Resource Adapter rar misses activation.jar
- [MULE-951] - Unable to control the SOAPException sent back to the client in Axis exposed webserivces, client get ClassCastException or UndeclaredThrowableException
- [MULE-1058] - UniveralSender doesn't re-throw Exceptions
- [MULE-1059] - Problems with the webapp example
- [MULE-1064] - The version information in the Mule jars is not being picked up by the Mule server
- [MULE-1067] - Improve scripting example
- [MULE-1070] - Random file lockup when building Mule buildtools project
Improvement
- [MULE-418] - Custom Type Mappings for Axis
- [MULE-422] - Axis Client configuration
- [MULE-430] - Add MimeMessageToObject transformer
- [MULE-546] - Receive/send SMTP flows from/to an MTA
- [MULE-609] - Support for cookies
- [MULE-613] - Add Xfire WSDL client dispatcher so that non-xfire services can be invoked
- [MULE-614] - Add Axis WDSL Client dispatcher. So that WSDL services can be invoked in a more intuitive way
- [MULE-618] - Remove reliance on the SoapAction header
- [MULE-619] - Query parameter execution in JDBC provider
- [MULE-638] - Upgrade XFire provider to 1.0 final release version
- [MULE-685] - FileMessageReceiver relies on rename() for copying files
- [MULE-691] - FileMessageAdapter is inefficient
- [MULE-762] - The distribution needs to be cleaned up. Currenly 10mb larger than it should be
- [MULE-797] - Mx4jAdaptor enhancements
- [MULE-809] - HTTPS provider does not compile/run under IBM JDK/WebSphere
- [MULE-813] - Add the <properties> element to the <entry-point-resolver> element so that properties can be configured on EntryPointResolvers
- [MULE-822] - src directory in distribution should be zipped
- [MULE-864] - Mx4j + SSL does not work under IBM JDK
- [MULE-867] - Set HTTP Status in org.mule.providers.http.servlet.AbstractReceiverServlet
- [MULE-1031] - Apply the workaround filter which patched LoanBroker-ESB to LoanBroker as well
- [MULE-1033] - Mule core should not depend on javax.activation
- [MULE-1063] - Add a 'patch' directory to lib where users can drop jars that appear on the classpath before the mule jars
New Feature
- [MULE-617] - Add Servlet Http Session support
Patch submission
- [MULE-751] - JdbcUtils.getParams returns null when root is a Map, even if there is a property with the correct name on endpoint
- [MULE-875] - Expose xfire services using interfaces, rather than the implementation.
|
Issues resolved for 1.3-rc5
Issues resolved for 1.3-rc4
Issues resolved for 1.3-rc3
Issues resolved for 1.3-rc2
Issues Resolved for 1.3-rc1
|