Giới thiệu về Spring Integration
Giới thiệu
Spring Integration là một framework cho phép việc cấu hình động các tầng của hệ thống.
Nó giúp cho việc cấu hình linh động, dàn xếp các module trở nên độc lập, dễ dàng thay đổi phù hợp mục đích nâng cấp (xem hình 1 )
Hình - 1
Spring Integration cho phép nhắn tin giữa các module dựa trên Spring-based applications và nó hỗ trợ tích hợp với các hệ thông bên ngoài thông qua bộ khai báo. Mục đích chính của Spring Integration là cung cấp một mô hình đơn giản để xây dựng các giải pháp tích hợp doanh nghiệp trong khi vẫn duy trì cac mối liên kết cần thiết để có thể kiểm tra, bảo trì.
Nó đưa khái niệm về POJO lên thêm một bước nữa, nơi mà POJO được kết nối với nhau bằng cách sử dụng một mô hình nhắn tin và các thành phần riêng lẻ không thể nhận biết được các thành phần khác trong ứng dụng. Một ứng dụng được xây dựng bằng cách lắp ráp các thành phần, có thể tái sử dụng, tạo thành các chức năng mới.
Channel trong Spring integration đơn giản giống như một đường ống trong tổng thể kiến trúc của hệ thống, là thứ sẽ chuyển tiếp từ một hệ thống sang những hệ thống khác.
Một trong những nền tảng mẫu của spring integration là thư viện Messaging.
public
interface
Message<T> {
T getPayload();
MessageHeaders getHeaders();
}
Interface org.springframework.integration.Message định nghĩa spring message: đơn vị truyền dữ liệu trong Spring Integration context. Message channel được tách riêng ra thành các components và cung cấp điểm thuận lợi cho cơ chế đánh chặn Interception và giám sát các message.
@Bean
public
MessageChannel pubSubFileChannel() {
return
new
PublishSubscribeChannel();
}
@Bean
@InboundChannelAdapter
(value =
"pubSubFileChannel"
, poller =
@Poller
(fixedDelay =
"1000"
))
public
MessageSource<File> fileReadingMessageSource() {
FileReadingMessageSource sourceReader =
new
FileReadingMessageSource();
sourceReader.setDirectory(
new
File(INPUT_DIR));
sourceReader.setFilter(
new
SimplePatternFileListFilter(FILE_PATTERN));
return
sourceReader;
}
Bridge trong Spring Integration được sử dụng để kết nối giữa 2 message channels hoặc cho bộ điều khiển nếu trong trường hợp chúng không thể kết nối.
@Bean
@BridgeFrom
(value =
"pubSubFileChannel"
)
public
MessageChannel fileChannel1() {
return
new
DirectChannel();
}
@Bean
@BridgeFrom
(value =
"pubSubFileChannel"
)
public
MessageChannel fileChannel2() {
return
new
DirectChannel();
}
@Bean
@BridgeFrom
(value =
"pubSubFileChannel"
)
public
MessageChannel fileChannel3() {
return
new
DirectChannel();
}
Service Activator là bất kỳ POJO nào định nghĩa @ServiceActivator annotain trong một method . Nó cho phép chúng ta chạy bất kỳ method nào trong POJO khi một message được nhận từ vố số channel, và chúng cho phép chúng ta viết message để kết nối với một channel bên ngoài.
Adapter là một thành phần dựa trên một mẫu thành phần cơ bản nó cho phép một thành phần "cắm" vào hệ thống hoặc vào nguồn dữ liệu. Nó giống như một bộ chuyển đổi, cho phép kết nối tái sử dụng với các hệ thống "black-box" khác như cơ sở dữ liệu, máy chủ FTP và hệ thống nhắn tin như JMS, AMQP, và các mạng xã hội như Twitter. Adapter được chia thành hai loại inbound và outbound.
|
Nhận xét
Đăng nhận xét