クラス ZeroMqMessageHandler
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractReactiveMessageHandler
org.springframework.integration.zeromq.outbound.ZeroMqMessageHandler
- 実装されているすべてのインターフェース:
Aware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、Lifecycle、Ordered、ComponentSourceAware、ExpressionCapable、Orderable、IntegrationPattern、NamedComponent、IntegrationManagement、ManageableLifecycle、TrackableComponent、ReactiveMessageHandler
public class ZeroMqMessageHandler
extends AbstractReactiveMessageHandler
implements ManageableLifecycle
ZeroMq ソケット経由でメッセージを公開するための
AbstractReactiveMessageHandler 実装。SocketType.PAIR、SocketType.PUB、SocketType.PUSH のみがサポートされています。このコンポーネントはソケットをバインドまたは接続できます。SocketType.PUB が使用される場合、topicExpression はリクエストメッセージに対して評価され、null でない場合はトピックフレームを ZeroMq メッセージに挿入します。サブスクライバー側は、実際のデータを解析する前に、最初にトピックフレームを受信する必要があります。
リクエストメッセージのペイロードが ZMsg の場合、変換やトピックの抽出は行われません。ZMsg はそのままソケットに送信され、再利用できるように破棄されることはありません。
- 導入:
- 5.4
- 作成者:
- Artem Bilan, Alessio Matricardi
ネストされたクラスの要約
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールドのサマリー
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターコンストラクター説明ZeroMqMessageHandler(org.zeromq.ZContext context) 提供されたZContextに基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, int port) 提供されたZContextとバインディングポートに基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, int port, org.zeromq.SocketType socketType) 提供されたZContext、バインディングポート、およびSocketTypeに基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, StringSE connectUrl) 提供されたZContextと接続文字列に基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, StringSE connectUrl, org.zeromq.SocketType socketType) 提供されたZContext、接続文字列、SocketTypeに基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, SupplierSE<StringSE> connectUrl) 提供されているZContextおよび接続文字列サプライヤーに基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, SupplierSE<StringSE> connectUrl, org.zeromq.SocketType socketType) 提供されているZContext、接続文字列サプライヤー、SocketTypeに基づいてインスタンスを作成します。ZeroMqMessageHandler(org.zeromq.ZContext context, org.zeromq.SocketType socketType) 提供されたZContextとSocketTypeに基づいてインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明voiddestroy()intこのメッセージプロデューサーがまだ開始されていないか、ソケットが接続されている場合は、ソケットがバインドされているポートを返します。バインドされていません。サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected reactor.core.publisher.Mono<VoidSE> handleMessageInternal(Message<?> message) booleanprotected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidsetMessageConverter(MessageConverter messageConverter) voidsetMessageMapper(OutboundMessageMapper<byte[]> messageMapper) ZeroMq ソケットに送信するために、リクエストメッセージをbyte[]に変換するOutboundMessageMapperを提供します。voidsetSocketConfigurer(ConsumerSE<org.zeromq.ZMQ.Socket> socketConfigurer) ConsumerSE を提供して、セキュリティなどの任意のオプションでソケットを構成します。voidSocketType.PUBソケットがサブスクリプションへのメッセージの配布に使用するトピックを指定します。voidsetTopicExpression(Expression topicExpression) SpEL 式を指定して、SocketType.PUBがサブスクリプションへのメッセージの配布に使用するトピックを評価します。サポートされている他のすべてのSocketTypeでは無視されます。voidstart()voidstop()voidwrapTopic(boolean wrapTopic) SocketType.PUBソケットがサブスクリプションにメッセージを配信するために使用するトピックを追加の空のフレームでラップする必要があるかどうかを指定します。クラス org.springframework.integration.handler.AbstractReactiveMessageHandler から継承されたメソッド
handleMessageクラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAsインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
ZeroMqMessageHandler
public ZeroMqMessageHandler(org.zeromq.ZContext context) 提供されたZContextに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。- 導入:
- 6.4
ZeroMqMessageHandler
public ZeroMqMessageHandler(org.zeromq.ZContext context, org.zeromq.SocketType socketType) 提供されたZContextとSocketTypeに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。socketType- 使用するSocketType。SocketType.PAIR、SocketType.PUB、SocketType.PUSHのみがサポートされています。
ZeroMqMessageHandler
提供されたZContextと接続文字列に基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。connectUrl- ソケットを接続する URL。
ZeroMqMessageHandler
public ZeroMqMessageHandler(org.zeromq.ZContext context, int port) 提供されたZContextとバインディングポートに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。port- ZeroMq ソケットを TCP 経由でバインドするポート。- 導入:
- 6.4
ZeroMqMessageHandler
提供されているZContextおよび接続文字列サプライヤーに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。connectUrl- ソケットを接続する URL のサプライヤー。- 導入:
- 5.5.9
ZeroMqMessageHandler
public ZeroMqMessageHandler(org.zeromq.ZContext context, StringSE connectUrl, org.zeromq.SocketType socketType) 提供されたZContext、接続文字列、SocketTypeに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。connectUrl- ソケットを接続する URL。socketType- 使用するSocketType。SocketType.PAIR、SocketType.PUB、SocketType.PUSHのみがサポートされています。
ZeroMqMessageHandler
public ZeroMqMessageHandler(org.zeromq.ZContext context, int port, org.zeromq.SocketType socketType) 提供されたZContext、バインディングポート、およびSocketTypeに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。port- ZeroMq ソケットを TCP 経由でバインドするポート。socketType- 使用するSocketType。SocketType.PAIR、SocketType.PUB、SocketType.PUSHのみがサポートされています。- 導入:
- 6.4
ZeroMqMessageHandler
public ZeroMqMessageHandler(org.zeromq.ZContext context, SupplierSE<StringSE> connectUrl, org.zeromq.SocketType socketType) 提供されているZContext、接続文字列サプライヤー、SocketTypeに基づいてインスタンスを作成します。- パラメーター:
context- ソケットの作成に使用するZContext。connectUrl- ソケットを接続する URL のサプライヤー。socketType- 使用するSocketType。SocketType.PAIR、SocketType.PUB、SocketType.PUSHのみがサポートされています。- 導入:
- 5.5.9
メソッドの詳細
setMessageMapper
OutboundMessageMapperを提供して、リクエストメッセージをbyte[]に変換し、ZeroMq ソケットに送信します。Message.getPayload()がZMsgのインスタンスである場合は無視されます。- パラメーター:
messageMapper- 使用するOutboundMessageMapper。
setMessageConverter
ZeroMq ソケットに送信するためにリクエストメッセージをbyte[]に変換するためのMessageConverter(messageMapperの代替として)を提供します。Message.getPayload()がZMsgのインスタンスである場合は無視されます。- パラメーター:
messageConverter- 使用するMessageConverter。
setSocketConfigurer
ConsumerSE を提供して、セキュリティなどの任意のオプションでソケットを構成します。- パラメーター:
socketConfigurer- ソケットオプションのコンフィギュレーター。
setTopic
SocketType.PUBソケットがサブスクリプションへのメッセージの配布に使用するトピックを指定します。サポートされている他のすべてのSocketTypeでは無視されます。- パラメーター:
topic- 使用するトピック。
setTopicExpression
SpEL 式を指定して、SocketType.PUBがサブスクリプションへのメッセージの配布に使用するトピックを評価します。サポートされている他のすべてのSocketTypeでは無視されます。- パラメーター:
topicExpression- 公開するトピックを評価する式。
wrapTopic
public void wrapTopic(boolean wrapTopic) SocketType.PUBソケットがサブスクリプションにメッセージを配信するために使用するトピックが、追加の空のフレームでラップされる必要があるかどうかを指定します。サポートされている他のすべてのSocketTypeでは無視されます。この属性は、デフォルトでtrueに設定されています。- パラメーター:
wrapTopic- トピックを追加の空フレームで囲む必要がある場合は true です。- 導入:
- 6.2.6
getBoundPort
public int getBoundPort()このメッセージプロデューサーがまだ開始されていないか、ソケットが接続されている場合は、ソケットがバインドされているポートを返します。バインドされていません。- 戻り値:
- ソケットまたは 0 のポート。
- 導入:
- 6.4
getComponentType
クラスからコピーされた説明:IntegrationObjectSupportサブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponentのgetComponentType - オーバーライド:
- クラス
MessageHandlerSupportのgetComponentType
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
IntegrationObjectSupportのonInit
start
public void start()- 次で指定:
- インターフェース
Lifecycleのstart - 次で指定:
- インターフェース
ManageableLifecycleのstart
stop
public void stop()- 次で指定:
- インターフェース
Lifecycleのstop - 次で指定:
- インターフェース
ManageableLifecycleのstop
isRunning
public boolean isRunning()- 次で指定:
- インターフェース
LifecycleのisRunning - 次で指定:
- インターフェース
ManageableLifecycleのisRunning
handleMessageInternal
- 次で指定:
- クラス
AbstractReactiveMessageHandlerのhandleMessageInternal
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBeanのdestroy - 次で指定:
- インターフェース
IntegrationManagementのdestroy - オーバーライド:
- クラス
MessageHandlerSupportのdestroy