クラス 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
に基づいてインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明void
destroy()
int
このメッセージプロデューサーがまだ開始されていないか、ソケットが接続されている場合は、ソケットがバインドされているポートを返します。バインドされていません。サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected reactor.core.publisher.Mono
<VoidSE> handleMessageInternal
(Message<?> message) boolean
protected void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。void
setMessageConverter
(MessageConverter messageConverter) void
setMessageMapper
(OutboundMessageMapper<byte[]> messageMapper) ZeroMq ソケットに送信するために、リクエストメッセージをbyte[]
に変換するOutboundMessageMapper
を提供します。void
setSocketConfigurer
(ConsumerSE<org.zeromq.ZMQ.Socket> socketConfigurer) Consumer
SE を提供して、セキュリティなどの任意のオプションでソケットを構成します。void
SocketType.PUB
ソケットがサブスクリプションへのメッセージの配布に使用するトピックを指定します。void
setTopicExpression
(Expression topicExpression) SpEL 式を指定して、SocketType.PUB
がサブスクリプションへのメッセージの配布に使用するトピックを評価します。サポートされている他のすべてのSocketType
では無視されます。void
start()
void
stop()
void
wrapTopic
(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
Consumer
SE を提供して、セキュリティなどの任意のオプションでソケットを構成します。- パラメーター:
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