MessageChannel 介面

Spring Integration 的頂層 MessageChannel 介面定義如下:

public interface MessageChannel {

    boolean send(Message message);

    boolean send(Message message, long timeout);
}

傳送訊息時,如果訊息成功傳送,返回值為 true。如果傳送呼叫超時或被中斷,則返回 false

PollableChannel

由於訊息通道可能緩衝訊息,也可能不緩衝訊息(如 Spring Integration 概覽 中所述),兩個子介面定義了緩衝(可輪詢)和非緩衝(可訂閱)通道行為。以下列表顯示了 PollableChannel 介面的定義:

public interface PollableChannel extends MessageChannel {

    Message<?> receive();

    Message<?> receive(long timeout);

}

與傳送方法類似,在接收訊息時,如果發生超時或中斷,返回值為 null。

SubscribableChannel

SubscribableChannel 基本介面由直接向其訂閱的 MessageHandler 例項傳送訊息的通道實現。因此,它們不提供用於輪詢的接收方法。相反,它們定義了用於管理這些訂閱者的方法。以下列表顯示了 SubscribableChannel 介面的定義:

public interface SubscribableChannel extends MessageChannel {

    boolean subscribe(MessageHandler handler);

    boolean unsubscribe(MessageHandler handler);

}
© . This site is unofficial and not affiliated with VMware.