-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Spring Integration 4.0 to 4.1 Migration Guide
##Spring Framework 4.1 base line
Spring Integration 4.1 is based on Spring Framework 4.1 and isn't compatible with previous versions.
Some API has been moved to the Spring Messaging module and deprecated in Spring Integration, considering to be removed in future releases:
-
Payload
,Header
andHeaders
annotations from theorg.springframework.integration.annotation
package to respective annotations in theorg.springframework.messaging.handler.annotation
package.
##Spring AMQP 1.4
Starting with version 1.4 Spring AMQP Framewrok has been improved to use Spring Messaging abstraction. Some API has been moved frm Spring Integration to Spring AMQP:
-
org.springframework.integration.amqp.AmqpHeaders
->org.springframework.amqp.support.AmqpHeaders
. The former isdeprecated
now and extends the last one for backward compatibility.
##Removal of deprecated API
- The
GatewayProxyFactoryBean
no longer provides the#method
expression evaluation variable (which contained theMethod
name) in favor of#gatewayMethod
, which provides access to the entireMethod
object. - The
spring_reply_correlation
andspring_reply_to
AMQP header aren't mapped by default any more.
##Inbound Endpoints Lifecycle Phase
The default phase
of SourcePollingChannelAdapterFactoryBean
, AbstractPollingEndpoint
, MessageProducerSupport
, JmsMessageDrivenEndpoint
has been changed to the Integer.MAX_VALUE / 2
instead of 0
before. The bigger phase
value means that component will be started later and stopped earlier, than those who has less value. Previously, the same 0
default value caused an issue when Consumer Endpoint might be stopped on application stop before Inbound Endpoint and the "Dispatcher has no subscribers"
exception has been thrown. The similar issue we might have in a case, when Inbound Endpoint has been started before a Consumer Endpoint. Hence we ended up with losing messages issue.
##JMX
- The
<int-jmx:mbean-exporter/>
no longer supports ashutdown-executor
attribute. - The
SftpPersistentAcceptOnceFileListFilter
usegetFilename
instead ofgetLongname
.
##HTTP
- The
Content-Disposition
header is now mapped as standard one usingDefaultHttpHeaderMapper
. Previously it was mapped asuser-defined
with provided prefix,X-
by default.