public class UnicastSendingMessageHandler extends AbstractInternetProtocolSendingMessageHandler implements RunnableSE
MessageHandler 実装。メッセージは、信頼性をサポートせずに基本的なものにすることができ、受信側が切り捨てを検出できるように長さをプレフィックスとして付けることができ、配信を確認するために UDP 確認応答を要求できます。IntegrationManagement.ManagementOverridesEXPRESSION_PARSER, loggerHIGHEST_PRECEDENCE, LOWEST_PRECEDENCEMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
UnicastSendingMessageHandler(Expression destinationExpression) 宛先 SpEL 式に基づいて UnicastSendingMessageHandler を構築し、実行時に requestMessage に対してターゲット宛先を決定します。 |
UnicastSendingMessageHandler(StringSE destinationExpression) 宛先 SpEL 式に基づいて UnicastSendingMessageHandler を構築し、実行時に requestMessage に対してターゲット宛先を決定します。 |
UnicastSendingMessageHandler(StringSE host, int port) 基本的なコンストラクター。信頼性なし。確認はありません。 |
UnicastSendingMessageHandler(StringSE host, int port, boolean lengthCheck) 宛先でチェックできる各パケットに長さを追加するために使用できます。 |
UnicastSendingMessageHandler(StringSE host, int port, boolean lengthCheck, boolean acknowledge, StringSE ackHost, int ackPort, int ackTimeout) 長さや確認応答リクエストをパケットに追加します。 |
UnicastSendingMessageHandler(StringSE host, int port, boolean acknowledge, StringSE ackHost, int ackPort, int ackTimeout) 確認応答リクエストをパケットに追加します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected void | convertAndSend(Message<?> message) |
void | doStart() |
protected void | doStop() |
int | getAckPort() |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
protected DatagramSocketSE | getSocket() |
int | getSoReceiveBufferSize() |
protected DatagramSocketSE | getTheSocket() |
void | handleMessageInternal(Message<?> message) |
boolean | isAcknowledge() |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
void | restartAckThread()MBean として公開されている場合、JVM をバウンスせずに、致命的な(バインド)エラーが発生した場合に ack スレッドを再起動するために使用できます。 |
void | run() リクエストされた場合は、確認応答を処理します。 |
void | setAckCounter(int ackCounter) |
void | setLengthCheck(boolean lengthCheck) |
void | setLocalAddress(StringSE localAddress) マルチホームシステムでは、通信に使用されるネットワークインターフェースの IP アドレスを指定します。 |
protected void | setReliabilityAttributes(boolean lengthCheck, boolean acknowledge, StringSE ackHost, int ackPort, int ackTimeout) |
protected void | setSocket(DatagramSocketSE socket) |
protected void | setSocketAttributes(DatagramSocketSE socket) |
void | setSocketCustomizer(SocketCustomizer socketCustomizer) 作成後にソケットをさらに構成するようにカスタマイザーを設定します。 |
void | setSocketExpression(Expression socketExpression) |
void | setSocketExpressionString(StringSE socketExpression) |
void | setSoReceiveBufferSize(int size) |
void | setTaskExecutor(ExecutorSE taskExecutor) |
void | startAckThread() |
protected void | updateAckAddress() |
getDestinationAddress, getHost, getPort, getSoSendBufferSize, getSoTimeout, isRunning, setSoSendBufferSize, setSoTimeout, start, stophandleMessage, onComplete, onError, onNext, onSubscribebuildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEgetThisAsgetBeanName, getComponentNamepublic UnicastSendingMessageHandler(StringSE host, int port)
host - 宛先ホスト。port - 宛先ポート。public UnicastSendingMessageHandler(StringSE destinationExpression)
destinationExpression - 実行時にターゲットの宛先を評価するための SpEL 式。StringSE、URISE、SocketAddressSE に評価する必要があります。public UnicastSendingMessageHandler(Expression destinationExpression)
destinationExpression - 実行時にターゲットの宛先を評価するための SpEL 式。StringSE、URISE、SocketAddressSE に評価する必要があります。public UnicastSendingMessageHandler(StringSE host, int port, boolean lengthCheck)
host - 宛先ホスト。port - 宛先ポート。lengthCheck - true の場合、パケットには長さが含まれます。public UnicastSendingMessageHandler(StringSE host, int port, boolean acknowledge, StringSE ackHost, int ackPort, int ackTimeout)
host - 宛先ホスト。port - 宛先ポート。acknowledge - true の場合、パケットは確認応答をリクエストします。ackHost - ack の送信先となるホスト。ack が true の場合に必要です。ackPort - ack の送信先のポート。ackTimeout - ack を待つ時間(ミリ秒)。public UnicastSendingMessageHandler(StringSE host, int port, boolean lengthCheck, boolean acknowledge, StringSE ackHost, int ackPort, int ackTimeout)
host - 宛先ホスト。port - 宛先ポート。lengthCheck - true の場合、パケットには長さが含まれます。acknowledge - true の場合、パケットは確認応答をリクエストします。ackHost - ack の送信先となるホスト。ack が true の場合に必要です。ackPort - ack の送信先のポート。ackTimeout - ack を待つ時間(ミリ秒)。public void setLengthCheck(boolean lengthCheck)
lengthCheck - true の場合、4 バイトのバイナリ長ヘッダーがパケットに追加され、受信者がデータの切り捨てをチェックできるようになります。public void setSocketCustomizer(SocketCustomizer socketCustomizer)
socketCustomizer - カスタマイザー。protected final void setReliabilityAttributes(boolean lengthCheck,
boolean acknowledge,
StringSE ackHost,
int ackPort,
int ackTimeout)public void doStart()
AbstractInternetProtocolSendingMessageHandler の doStart protected void doStop()
AbstractInternetProtocolSendingMessageHandler の doStop public void handleMessageInternal(Message<?> message)
AbstractMessageHandler の handleMessageInternal public void startAckThread()
protected void convertAndSend(Message<?> message) throws IOExceptionSE, URISyntaxExceptionSE
protected void setSocket(DatagramSocketSE socket)
@Nullable protected DatagramSocketSE getTheSocket()
protected DatagramSocketSE getSocket() throws IOExceptionSE
protected void updateAckAddress()
public void setSoReceiveBufferSize(int size)
CommonSocketOptions の setSoReceiveBufferSize AbstractInternetProtocolSendingMessageHandler の setSoReceiveBufferSize size - 受信バッファサイズ。Socket.setReceiveBufferSize(int)SE, DatagramSocket.setReceiveBufferSize(int)SEpublic void setLocalAddress(StringSE localAddress)
CommonSocketOptionsCommonSocketOptions の setLocalAddress localAddress - ローカルアドレス。public void setTaskExecutor(ExecutorSE taskExecutor)
public void setAckCounter(int ackCounter)
ackCounter - 設定する ackCounterpublic void setSocketExpression(Expression socketExpression)
socketExpression - 実行時にターゲットソケットを決定するためのソケット式。public void setSocketExpressionString(StringSE socketExpression)
socketExpression - 実行時にターゲットソケットを決定するためのソケット SpEL 式。public StringSE getComponentType()
IntegrationObjectSupportNamedComponent の getComponentType MessageHandlerSupport の getComponentType public boolean isAcknowledge()
public int getAckPort()
public int getSoReceiveBufferSize()
protected void onInit()
IntegrationObjectSupportIntegrationObjectSupport の onInit protected void setSocketAttributes(DatagramSocketSE socket) throws SocketExceptionSE
public void run()
RunnableSE の runSE public void restartAckThread()