1. 程式人生 > >Spring Integration學習(一)

Spring Integration學習(一)

一開始,接觸Spring Inategration,“額,新東西”,記得在學校的時候,只學過Spring,而且學得很淺,馬丹,有點小後悔以前沒有吃透這一塊。(而且做其他專案,能用C++,表示沒用過Java,大概C++比較順手吧)

現在切入正題。

Spring Integration (後面簡稱SI)

SI就是Spring大類的一種,其實還有Spring Boot,Spring For Andoria,Spring Batch等等。。。現在發現這世界真大,原來以前只是接觸而已,並沒發現裡面的廣博,以後還要任重而道遠。

SI是一個功能強大的EIP(Enterprise Intergration Patterns,即企業整合模式)。目前截止2017年11月底,SI5.0釋出了。

介紹一些SI的實體。

1.Message

主要分成兩部分,分別是header和payload。

package org.springframework.integration;
public interface Message<T> {
MessageHeaders getHeaders();
T getPayload();
}

package org.springframework.integration;
public final class MessageHeaders
implements Map<String, Object>, Serializable {
/* implementation omitted */
}

那麼如何建立Message呢?

Message<String> helloMessage =
MessageBuilder.withPayload("Hello, world!")
.setHeader("custom.header", "Value")
.setHeaderIfAbsent("custom.header2", "Value2")
.build();

2.Message Channel

主要用於傳遞message。

那麼message如何進入channel呢?

package org.springframework.integration;
public interface MessageChannel {
boolean send(Message<?> message);
boolean send(Message<?> message, long timeout);
}

對於PublishSubscribeChannel,用於釋出訂閱

package org.springframework.integration.core;
public interface SubscribableChannel extends MessageChannel {
boolean subscribe(MessageHandler handler);
boolean unsubscribe(MessageHandler handler);
}

對於PollableChannel,用於接收message

public interface PollableChannel extends MessageChannel {

    Message<?> receive();

    Message<?> receive(long timeout);

}

3.Message Point

3.1channel adapter

用於與外部資料交換的介面卡。連線應用與訊息系統。

3.2message gateway

用於與外部資料的雙向傳輸。

3.3service activator

根據傳入的訊息呼叫服務,根據其返回值,調用出站訊息呼叫服務

相關推薦

Spring Integration學習

一開始,接觸Spring Inategration,“額,新東西”,記得在學校的時候,只學過Spring,而且學得很淺,馬丹,有點小後悔以前沒有吃透這一塊。(而且做其他專案,能用C++,表示沒用過Java,大概C++比較順手吧) 現在切入正題。 Spring Integr

Spring-Boot學習

圖片 public ram turn tps bind 實現 file clas 入門實例 - HelloWorld File > New > Spring Starter Project 項目創建完成: 這樣就完成了項目的創建,下面我們

spring 框架學習

1、spring簡介 Spring 是一個開源框架,是為了解決企業應用程式開發複雜性而建立的。框架的主要優勢之一就是其分層架構,分層架構允許您選擇使用哪一個元件,同時為 J2EE 應用程式開發提供整合的框架。Spring的一個最大的目的就是使JAVA EE開發更

spring深入學習深入理解 Spring IOC

1、IOC理論 IOC英文縮寫:Inversion of control, 另一個縮寫為DI:依賴注入(Denpency Injection) 用作控制反轉 理解:spring IOC就是負責物件生命週期和物件之間的關係 以找女朋友為例子: 一般情況下我們是如何來找女

Spring MVC學習

新建一個web project專案,專案名字為springMvc 導包 Controller類的實現 HelloMvc類實現了Controller介面 package cn.controller; import javax.servlet.http.Http

spring cloud 學習 服務註冊與發現

最近開始學習spring cloud, 跟著這個學:http://blog.didispace.com/spring-cloud-starter-dalston-1/ 以下是我抄的定義: Spring Cloud是一個基於Spring Boot實現的雲應用

Spring原始碼學習

Spring 原始碼環境是基於GItHub 和Gradle。所以要先安裝GItHub 和Gradle。 1、GitHub下載地址:http://windowns.github.com/  ,下載以後雙擊進行安裝。 2、Gradle下載地址:http://services.g

spring securtty 學習spring boot 中開啟spring securtty

cep () map read authorize tro quest row global 簡單來說,spring security提供Authentication認證和Authorization授權管理,其開發復雜度、學習難度都比shiro難,我們既然鐘情與spring

spring boot 學習——在idea建立第一個spring boot專案

1.開啟idea-》點選file-》點選new-》點選project-》點選Spring Initializr-》點選default        2.這是springboot的啟動類     3.建立完成之後,在src->mai

Spring 源碼學習

pla 註入 websocket web前端 tex 異常 messaging ping 完整 設計伊始 Spring 是為解決企業級應用開發的復雜性而設計,她可以做很多事。但歸根到底支撐Spring的僅僅是少許的基本理念,而所有地這些的基本理念都能可以追溯到一個

spring學習helloworld編寫總結

cati 流程 spring學習 一個 1-1 png cat 其中 XML 配置Bean: 配置bean的方式:1.基於xml文件的方式 2.基於註解的方式。 Bean的配置方式;1.通過全類名(反射)2.通過工廠方法 IOC容器:ApplicationContext和

Spring aop學習整理(spring in action):了解AOP

進入 一起 table return 問題 匹配 核心 before cti   切面能幫助我們模塊化橫切關註點。簡而言之,橫切關註點可以被描述為影響應用多處的功能。例如,安全就是一個橫切關註點,應用中的許多方法都會涉及到安全規則。圖4.1直觀呈現了橫切關註點的概念。  

源碼學習——模擬Spring MVC

webapp lan conf 依賴 xtend .com inf pre 執行 1.準備 1.1創建項maven項目,目錄如下 1.2 導包 servlet-api: 模擬springmvc采用的是對同一個servlet進行處理 fastjson: JSONObject

spring-學習

相關 細節 mvc 客戶端和服務器 web應用 利用 例如 常見 註入 概述 Spring 是最受歡迎的企業級 Java 應用程序開發框架。主要用來在java EE平臺上開發web應用。 好處 spring可以使開發人員使用pojos開發企業級的應用程序。 spring是有

SpringBoot學習——Spring的發展

spa java類 配置文件 實踐 項目 ice bsp 配置 學習 一、Spring1.x時代   在Spring1.x時代,都是通過xml文件配置bean,隨著項目的不斷擴大,需要將xml配置分放到不同的配置文件中,需要頻繁的在Java類和xml配置文件中切換。 二

spring Boot框架學習

參見解決方案: 載入別人的專案出現,證明是版本問題, 版本和JUnuit 包不造成的。 更換版本解決。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apa

Spring-boot 官方教程學習

環境配置-基於Ubantu-16 Java環境配置 新增ppa    sudo add-apt-repository ppa:webupd8team/java sudo apt-get update Java 下載器 圖形化配置 sudo apt-get ins

Spring基礎學習,XMLnew實力物件

與mybatis和hibernate一樣先匯入架包 建立類,專案大致類和包如下 BookServiceImpl 類 public class BookServiceImpl implements BookService{ //之前開發:介面 = 實現類 (serv

建立spring-boot專案,學習

一、用IDEA建立spring-boot工程 IDEA版本:2018.1.5的Ultimate版本,非Ultimate版本可能缺少一些功能。 下面開始建立spring-boot專案 1,選擇Spring-Initializer,之後next 2,填寫專案名稱,專案

spring學習spring簡介

Spring簡介:   Spring 框架是 Java 應用最廣的框架,它的成功來源於理念,而不是技術本身,它的理念包括 IoC (Inversion of Control,控制反轉) 和 AOP(Aspect Oriented Programming,面向切面程式設計)。