Release Notes - Spring Integration - Version 4.2 M1 - HTML format

Sub-task

  • [INT-3174] - Consider how to get one MBean instead of two when an embedded component (handler, source) is a @ManagedResource
  • [INT-3605] - Maintain channel statistics within the channel itself rather than the JMX bean
  • [INT-3636] - JMX Improvements Phase I - Core Message Channels
  • [INT-3637] - JMX Improvements Phase II - Message Handlers
  • [INT-3638] - JMX Improvements Phase III - Default Enable Option
  • [INT-3639] - JMX Improvements Phase IV - AMQP, JMS Channels
  • [INT-3641] - JMX Improvements Phase V - Metrics Capture Performance
  • [INT-3651] - Documentation for JMX Changes
  • [INT-3653] - Switch Default Metrics to Use System.nanoTime(); Make MessageChannelMetrics and MessageHandlerMetrics Pluggable
  • [INT-3661] - Fix early BeanFactory access from BeanPostProcessors: Phase I (Core and dependents)
  • [INT-3662] - Fix early BeanFactory access from BeanPostProcessors: Phase II (JPA)
  • [INT-3663] - Fix early BeanFactory access from BeanPostProcessors: Phase III (Security)
  • [INT-3664] - Fix early BeanFactory access from BeanPostProcessors: Phase IV (JMX)

Bug

  • [INT-2230] - Top-Level <wire-tap/> Bean Override Not Working Properly, Resulting in Multiple Sends to WireTap Channel
  • [INT-3612] - Memory leak in JSch
  • [INT-3614] - extract-payload="false" is ignored by JMS inbound-channel-adapter
  • [INT-3628] - TcpNioClientConnectionFactory should implements SchedulingAwareRunnable
  • [INT-3634] - NPE in Header Channel Registry
  • [INT-3640] - Some components trigger BeanPostProcessorChecker warning "is not eligible for getting processed by all BeanPostProcessors"
  • [INT-3648] - @IdempotentReceiver Annotation Proxying Wrong Object
  • [INT-3650] - Explicitly Setting singleUse=false on the TCP CCCF Breaks the Cache
  • [INT-3652] - CachingClientConnectionFactory NPE
  • [INT-3656] - PreSend on Channel Log Missing
  • [INT-3657] - @InboundChannelAdapter Should Set MaxMessagesPerPoll to 1 by Default
  • [INT-3667] - RedisLockRegistry memory leak and redundant expire time update
  • [INT-3669] - When Using a Specific Date Release, DelayHandler.reschedulePersistentMessage() Releases Messages Too Soon
  • [INT-3670] - Handle Conversion Errors in JMS Message-Driven Endpoints
  • [INT-3672] - @IdempotentReceiver annotation does not work with @Bean if the bean is a MessageHandler
  • [INT-3680] - Cannot conditionally configure a durable subscription with Spring JMS 4.1
  • [INT-3684] - OSDelegatingFileTailingMessageProducer does not recompute command if file is changed
  • [INT-3686] - WebSocket Inbound Channel Adapter doesn't work properly from Client side with STOMP support
  • [INT-3697] - int-http:inbound-gateway do not sets content-type header
  • [INT-3698] - Memory leak in HttpRequestExecutingMessageHandler
  • [INT-3700] - FeedEntryMessageSource Improperly Calculates Proper Last Entry Processed Date
  • [INT-3712] - SyslogToMapTransformer doesn't split TAG and MESSAGE fields correctly
  • [INT-3715] - Fix Thread-Safety in the SyslogToMapTransformer
  • [INT-3717] - Fix race condition in QueueChannelTests#testSimpleSendAndReceive()
  • [INT-3722] - Spurious error “Cannot correlate response - no pending reply” using TcpOutboundGateway and CachingClientConnectionFactory

New Feature

  • [INT-3666] - Implementation of MetadataStore for MongoDB
  • [INT-3685] - Add Stomp Client Support
  • [INT-3706] - (S)FTP - Add Property to Allow Overwriting Existing Files when Fetching With Outbound Gateway
  • [INT-3714] - Add support for permitting cross origin requests (CORS)
  • [INT-3716] - Add FileListFilter that ignores Hidden files
  • [INT-3718] - Make IgnoreHiddenFileListFilter a default filter

Task

  • [INT-3513] - Remove DFA from MutableMessage
  • [INT-3552] - Replace SmartLifecycle with Lifecycle on DefaultHeaderChannelRegistry
  • [INT-3558] - Remove Deprecations
  • [INT-3577] - Remove flush() from Serializers
  • [INT-3589] - Migrate to Reactor 2.0
  • [INT-3629] - Fix Sonar Build
  • [INT-3631] - Fix Package Tangles (ScatterGatherer)
  • [INT-3632] - Fix Sonar Violations
  • [INT-3644] - Un"@Ignore" QueueChannelTests.testReactorPersistentQueue() when Reactor fixes PersistentQueue
  • [INT-3687] - Upgrade to Spring Platform 2.0
  • [INT-3689] - Upgrade to Spring Data Fowler
  • [INT-3702] - Test with/Support Spring Security 4.0
  • [INT-3711] - Incorrect Aggregator Interface Name in Reference Documentation

Improvement

  • [INT-510] - Allow configuration of javax.xml.transform.Transformer used by XPathMessageSplitter to convert String payloads post splitting
  • [INT-610] - Investigate DITA for documentation
  • [INT-611] - unify callouts in documentation
  • [INT-2042] - Expose OutputProperties in XPathSplitter
  • [INT-3197] - Migrate from Docbook to Asciidoctor
  • [INT-3571] - SPCA - Invoke Lifecycle.start(), stop() if the MessageSource implements Lifecycle
  • [INT-3581] - Add selector-expression to wire-tap
  • [INT-3582] - Support Publisher Confirms on the AMQP Outbound Gateway
  • [INT-3599] - Add iterator ability to the XPathMessageSplitter
  • [INT-3601] - Use ChannelResolvers Instead of BeanFactory
  • [INT-3606] - Implement Closeable/Flushable on PropertiesPersistingMetadataStore
  • [INT-3620] - Add setShouldAppendNewLine(boolean shouldAppendNewLine) method to FileWritingMessageHandler
  • [INT-3621] - Add XML namespace support to new method setShouldAppendNewLine(boolean shouldAppendNewLine) on FileWritingMessageHandler
  • [INT-3624] - IntegrationRegistrar should support newer version of JsonPath
  • [INT-3626] - Copy Arrays Passed in as Properties + Other Sonar Violations
  • [INT-3627] - Build In Channel/Handler Metrics Instead of Proxy for JMX
  • [INT-3633] - Introduce a MessageSourceAdvice and callback hooks to that class within AbstractPollingEndpoint
  • [INT-3635] - Using one channel in different gateways
  • [INT-3645] - Upgrade to Paho MQTT Client 1.0.x when the Artifactory mirror will be fixed
  • [INT-3646] - Publish aTcpServerConnectionExceptionEvent From Server Socket Errors
  • [INT-3668] - Provide "late-binding" logic for channels to the GatewayProxyFactoryBean
  • [INT-3677] - JMS: Support Properties/SpEL in container-class
  • [INT-3690] - DefaultAmqpHeaderMapper should accept contentType headers containing org.springframework.util.MimeType
  • [INT-3692] - TcpOutboundGateway annotation based configuration
  • [INT-3696] - FtpFileInfo class uses StringBuffer.
  • [INT-3699] - Improve Javadocs for the RemoteFileTemplate Public Methods
  • [INT-3701] - Add ServiceInterface to GatewayProxyBean BeanDefinition Metadata
  • [INT-3704] - Make SimpleMetadataStore configurable for the ConcurrentMap, e.g. IMap from Hazelcast
  • [INT-3705] - Improve Messaging Annotations handling for the AbstractReplyProducingMessageHandler in case of @Bean config
  • [INT-3709] - Rework IntegrationRequestMappingHandlerMapping according to the latest Spring Framework changes
  • [INT-3719] - AbstractMessageChannel Optimizations
  • [INT-3721] - AbstractPersistentAcceptOnceFileListFilter - Add Option to call flush() if MetadataStore Implements Flushable

Support

  • [INT-3647] - Problem with different Request and Response Object at Json Transform

Defect

  • [INT-3580] - Fix StompIntegrationTests#handleExceptionAndSendToUser() sporadic failures

Refactoring

  • [INT-496] - Design success/failure notifications for source adapters
  • [INT-3623] - Make MailSendingMessageHandler based on just more generic MailSender
  • [INT-3655] - Remove Direct Usage of Reactor Classes (e.g. reactor.fn.Function)
  • [INT-3713] - Fix RequestMapping logic according latest Spring MVC changes

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.