В составе
vFabric вы получаете
SpringSource Tool Suite (STS) ,
vFabric tc Server ,
Spring AMQP для включения
обмена сообщениями vFabric RabbitMQ и
проект Spring Data , упрощающий доступ к vFabric
GemFire ,
SQLFire и
Postgres.
В следующих нескольких блогах я буду обсуждать, как все части связаны друг с другом. В этом блоге я покажу, как Spring Integration и vFabric Gemfire участвуют в типичном шаблоне EIP издателя / подписчика , где данные выбираются из исходной системы и доставляются в одну или несколько целевых систем.
Для людей, которые спешат, вот код и шаги для выполнения .
Подробности: издатель, подписчик, использующий vFabric Spring Integration, Gemfire
Эта демонстрация является продолжением моего предыдущего блога по шаблону Claimcheck . Я буду реализовывать сквозной поток, как показано ниже
В демонстрационных целях на стороне издателя сообщение, которое поступает из результатов проверки заявок, напрямую соединяется с адаптером исходящего канала jms . Но в корпоративном приложении в действительности может существовать весенний поток интеграции, который может выполнить весь рабочий процесс / преобразование / отображение, прежде чем он поместит сообщение в тему.
Опять же, для демонстрации, на стороне подписчика, я просто непосредственно взял выходные данные полезной нагрузки из requestcheck и передал их активатору консольной службы. Но в корпоративном приложении это может быть отправка в целевую систему.
Технологический стек, который я использовал для этого, — это база данных hsqldb , ActiveMQ JMS, а также vFabric TC Server и vFabric Gemfire.
На стороне издателя слушатель JDBC настраивается в Spring Integration, как показано ниже:
<int-jdbc:inbound-channel-adapter query="select * from notification where status=2" channel="jdbc.inbound" data-source="dataSource" update="update notification set status=10 where id in (:id)"> <int:poller fixed-rate="1000" /> </int-jdbc:inbound-channel-adapter>
и вы соедините это с каналом проверки претензий, как показано ниже,
<!-- for convenience sake we are bridging the jdbc to directly claimcheck in reality we will be going thru a SI flow <int:bridge input-channel="jdbc.inbound" output-channel="common.claimcheck.in.inputChannel" /> <!-- Bridge the claimcheck output directly to JMS --> <int:bridge input-channel="common.claimcheck.in.outputChannel" output-channel="jms-channel.out" />
На стороне подписчика полезная нагрузка передается в vFabric Gemfire, и на стороне vFabric Gemfire создается GUID, и он передается в раздел. Компонент Subscriber получает полезную нагрузку и печатает на консоль. Этот блог объясняет это более подробно.
Вывод
Инфраструктура vFabric обеспечивает хорошую поддержку для разработки компонентов интеграции с помощью STS IDE , vFabric TC Server , vFabric Gemfire . Я четко продемонстрировал, как можно создать компоненты издателя / подписчика, которые могут интегрировать исходную систему в целевую систему.
Я надеюсь, что этот блог помог вам.