Статьи

Spring Integration — Сессия 1 — Привет, мир!

« Hello World » в Spring Integration — рассмотрим простую программу для печати «Hello World» на консоль с помощью Spring Integration и в процессе ознакомления с несколькими концепциями Enterprise Integration Patterns

Прежде чем углубляться в саму программу, будет полезен краткий обзор концепций обмена сообщениями. Обмен сообщениями — это стиль интеграции, при котором два независимых приложения взаимодействуют друг с другом через посредника, который называется «Система обмена сообщениями».

Корпоративные шаблоны интеграции описывают общие проблемы, связанные с интеграцией с интеграцией приложений на основе сообщений, и их рекомендуемые решения.

Например, Рассмотрим один из шаблонов интеграции предприятия — Канал обмена сообщениями , приведенный в Книге шаблонов интеграции Entprise :

Проблема, которую пытается решить «Канал обмена сообщениями»:

У предприятия есть два отдельных приложения, которые должны взаимодействовать, предпочтительно с помощью обмена сообщениями.
Как одно приложение взаимодействует с другим с помощью обмена сообщениями?

Решение:

Соедините приложения, используя канал сообщений , где одно приложение записывает информацию в канал, а другое — эту информацию из канала.
Все остальные шаблоны интеграции предприятия описаны в том же ключе.

Причиной быстрого посещения шаблонов корпоративной интеграции является установка контекста — Spring Integration очень тесно согласуется с шаблонами корпоративной интеграции и представляет собой «систему обмена сообщениями», о которой упоминалось ранее.

Итак, теперь, чтобы увидеть Hello World, используя Spring Integration:

Сначала маленький джунит:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("helloworld.xml")
public class HelloWorldTest {
  
 @Autowired
 @Qualifier("messageChannel")
 MessageChannel messageChannel;
 
 @Test
 public void testHelloWorld() {
  Message<String> helloWorld = new GenericMessage<String>("Hello World");
  messageChannel.send(helloWorld);
 }
}

Здесь MessageChannel подключается к тесту, первое приложение (в данном случае Junit) отправляет сообщение (в данном случае строку «Hello World») на канал сообщений, что-то читает сообщение из «канала сообщений» и пишет сообщение в систему вышло.

Теперь давайте рассмотрим оставшуюся часть того, как «что-то» берет сообщение из Канала сообщений и записывает в систему:

Выше описан поток интеграции Spring, описываемый с использованием пространств имен Spring Custom, здесь — пространство имен интеграции. «Канал сообщений», образно называемый «messageChannel», создается, «Hello World» «Сообщение» помещается в «Канал сообщений», из которого «Адаптер канала» получает сообщение и распечатывает его в стандартном формате.

Это небольшая программа, но она использует три корпоративных шаблона интеграции — сообщение («Hello World», которое представляет собой пакет информации, отправляемой в систему обмена сообщениями, « канал сообщений », который был представлен ранее, и новый, Адаптер канала , здесь Адаптер исходящего канала, который соединяет систему обмена сообщениями с приложением (в данном случае — с системой), а также показывает, как Spring Integration очень тесно согласуется с терминологией шаблонов Enterprise Integration Patterns со своим настраиваемым пространством имен Spring.

Эта простая программа представляет Spring Integration, я буду представлять Spring Integration более подробно, используя несколько примеров в следующих нескольких сессиях.

Рекомендации:
1. Ссылка Spring Integration: http://static.springsource.org/spring-integration/reference/htmlsingle/
2. Шаблоны корпоративной интеграции: http://www.eaipatterns.com/index.html
3. Шаблоны Visio для EIP: http://www.eaipatterns.com/downloads.html

Ссылка: Spring, Spring Integration, Enterprise Development от нашего партнера JCG Биджу Кунджуммен в блоге « все и вся» .