As always, recently spring provided Enterprise Integration Pattern solution with the introduction of Spring Integration. It extends the Spring programming model into the messaging domain and builds upon Spring's existing enterprise integration support to provide an even higher level of abstraction. It supports message-driven architectures where inversion of control applies to runtime concerns, such as when certain business logic should execute and where the response should be sent. It supports routing and transformation of messages so that different transports and different data formats can be integrated without impacting testability. In other words, the messaging and integration concerns are handled by the framework, so business components are further isolated from the infrastructure and developers are relieved of complex integration responsibilities.
Spring Integration provides functionality with diffrent types of adapters, router, filter, spiltter and transformer as described in Enterprise integration Pattern. I think the real compatitor for Spring Integration is apache Camel project, Which provides similar functionality. if you are ready to use ESB, In my view these two are great option out of the box for enterprise integration pattern. which can solve lots of non complex scenrio. But if an app needed more complex routing and some advanced ESB features then an open source ESB like WSO2 or Mule might be right choice.