2017-01-18 5 views
1

Я использую Spring boot и хочу использовать стартовый pom для Spring Integration.Не удается найти org.springframework.integration.Message при использовании Spring-boot-starter-integration

В моем POM у меня есть:

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.4.3.RELEASE</version> 
    <relativePath/> 
</parent> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-integration</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

Это тянет в 4.3.6 версии Spring Integration баночек и 4.3.5 в Spring Framework банки. В одном из моих собственных классов я пытаюсь использовать сообщение:

import org.springframework.integration.Message; 

public Object doThings(Message<?> message) { 
} 

, но я не могу найти сообщение. В старой версии Spring интеграции это было в spring-integration-core.jar, но его нет в этой версии. Перемещено или что-то изменилось? Я проверил документы, и он по-прежнему ссылается, поэтому я предполагаю, что искал не то место, но ядро ​​звучит как место, в котором оно должно быть для меня! Что я делаю не так?

+2

Является ли это на самом деле __org.springframework.integration.Message__, или же она должна быть __org.springframework.messaging.Message__? См. Https://github.com/spring-projects/spring-integration/wiki/spring-integration-3.0-to-4.0-migration-guide – Tome

+0

@Tome - вы действительно правы, спасибо большое! Я должен был это заметить сам, если бы я потрудился посмотреть на любой из классов интеграции Spring, я бы это увидел. Спасибо за ссылку тоже. Если вы превратите это в ответ, а не в комментарий, я буду рад принять его. – DaveRlz

ответ

2

Несколько основных понятий интеграции Spring были объединены внутри Spring Core между версиями 3.0 и 4.0, а org.springframework.integration.Message - один из них.

В вашем примере кода, заменив

import org.springframework.integration.Message; 

public Object doThings(Message<?> message) { 
} 

по

import org.springframework.messaging.Message; 

public Object doThings(Message<?> message) { 
} 

будет делать трюк.

Для более полного списка пострадавших классов и интерфейсов, имеет вид на the 3.0 to 4.0 Spring Integration migration guide