SPRING INTEGRATION CHANGELOG ============================ 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