SPRING INTEGRATION CHANGELOG
============================
Changes in version 1.0.0.M3 (Apr 07, 2008)
------------------------------------------
*** CORE API ***
Handler method invocation now uses Spring's default type-conversion strategies
Message priorities are now defined in the MessagePriority enum
Added ResponseCorrelator for polling a reply channel with a correlationId
Added SynchronousChannel that invokes handlers on the sender's thread
or receives from a PollableSource on the receiver's thread
Implemented the WireTap pattern with a ChannelInterceptor that publishes to a secondary channel
Calling setErrorChannel on MessageBus no longer throws NullPointerException upon activation
ChannelPurger now accepts multiple MessageChannels (as varargs) in its constructors
RouterMessageHandlerAdapter now sets the ChannelRegistry on its target Object if it is ChannelRegistryAware
DefaultMessageEndpoint now sets the ChannelRegistry on any ChannelRegistryAware handler
MessageEndpointAnnotationPostProcessor now sets the ChannelRegistry for any annotated ChannelRegistryAware Object
*** ADAPTERS ***
Added FtpSourceAdapter
Added HttpInvokerSourceAdapter
Added HttpInvokerTargetAdapter
Added RmiSourceAdapter
Added RmiTargetAdapter
Added SimpleWebServiceTargetAdapter
Added MarshallingWebServiceTargetAdapter
Added a DefaultMailHeaderGenerator and defined constants in MailAttributeKeys
CharacterStreamSourceAdapter now requires a Reader (not InputStream)
CharacterStreamTargetAdapter now requires a Writer (not OutputStream)
The stdoutAdapter and stderrAdapter factory methods now accept a 'charsetName'
JMS source adapters now copy properties from the received JMS Message header
JMS source and target adapter parsers now consider "connectionFactory" as the default bean-name reference
*** CONFIGURATION ***
Added namespace support for PriorityChannel with the element
Added @Concurrency annotation for configuring a @MessageEndpoint's ConcurrencyPolicy
Added @Aggregator annotation for specifying aggregating handler methods
Added element for defining an aggregating handler in XML
Annotation-based BeanPostProcessors now handle proxies correctly
Annotation-based BeanPostProcessors now recognize inherited class-level annotations
even if they are not explicitly @Inherited and even if they are on an interface
Added support for and elements
Added support for and elements
Added support for the element
Added support for the element
Added support for the element
*** GENERAL ***
The Spring Web Services support is included in a new 'spring-integration-ws' module
Updated manifest properties for OSGi-compliance in "core" and "adapters"
Added manifest properties for OSGi-compliance for "ws" and "samples"
Added "Bundle-Name" to each manifest file
Changes in version 1.0.0.m2 (Feb 28, 2008)
------------------------------------------
*** CORE API ***
Defined the ChannelInterceptor strategy interface
Implemented new priority-based MessageChannel (PriorityChannel)
Created a MessageSelectingInterceptor, a ChannelInterceptor that delegates to a MessageSelector
Added clear and purge methods to MessageChannel (purge accepts a MessageSelector)
Implemented a ChannelPurger that delegates to one or more MessageSelectors
ChannelRegistry now provides 'unregister' method for runtime removal of channels
Added RequestReplyTemplate for synchronous, blocking request/reply behavior over an asynchronous channel
Added isExpired() method to Message
Added a constructor to GenericMessage that copies MessageHeader properties and attributes
Using the header-copying constructor in MessageHandler adapters to preserve header information
Undeliverable replies from endpoint are passed to its ErrorHandler
ErrorHandler is now a configurable strategy for MessageEndpoints
ReplyHandler is now a configurable strategy for MessageEndpoints
Subscription is now immutable
Errors in ConcurrentHandler are now always logged at DEBUG level, and at WARN level if no 'errorHandler' is available
Endpoints now set the 'correlationId' on reply Messages
Defined Aggregator and CompletionStrategy and implemented an AggregatingMessageHandler
SplitterMessageHandlerAdapter now sets sequenceNumber and sequenceSize header properties automatically
Added 'sendTimeout' property to SplitterMessageHandlerAdapter
*** ADAPTERS ***
Added Mail target adapter
Acknowledge modes are now configurable for JmsMessageDrivenSourceAdapter
JMS attributes are now set from the MessageHeader prior to sending via JmsTargetAdapter
The element now accepts a 'message-converter' attribute
*** CONFIGURATION ***
Added sub-element for
Added sub-element for
Added element that accepts sub-elements for creating a MessageHandlerChain
Added element to the namespace for creating AggregatingMessageHandlers
Added "dataype" attribute to the element for message payload datatype enforcement
Added 'initialDelay' and 'fixedRate' attributes to the @Polled annotation
Added 'destination-name' attribute for JmsTargetAdapter
Added 'autoStartup' property to MessageBus (and corresponding XML attribute) with a default value of 'true'
Added 'defaultConcurrencyPolicy' property to MessageBus (and corresponding XML sub-element)
Defined default error channel key as "errorChannel" (also added ERROR_CHANNEL_NAME constant in MessageBus)
*** GENERAL ***
Separated "spring-integration-core" from "spring-integration-adapters"
Added manifest properties for OSGi-compliance
Refactored package structure to remove all cycles
Using java.util.UUID for default ID generation strategy
Increased DEBUG logging throughout, especially for channel and endpoint
Components delegating to (Scheduled)ExecutorService are now configurable through standard injection