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.
@Beanpublic 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