クラス ZeroMqMessageProducer

実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanSmartInitializingSingletonApplicationContextAwareLifecyclePhasedSmartLifecycleComponentSourceAwareExpressionCapableMessageProducerIntegrationPatternNamedComponentIntegrationInboundManagementIntegrationManagementManageableLifecycleManageableSmartLifecycleTrackableComponent

@ManagedResource @IntegrationManagedResource public class ZeroMqMessageProducer extends MessageProducerSupport
ZeroMq ソケットからのメッセージを消費するための MessageProducerSupport 実装。SocketType.PAIRSocketType.SUBSocketType.PULL のみがサポートされています。このコンポーネントは、ソケットをバインドまたは接続できます。

SocketType.SUB を使用すると、受信したトピックが ZeroMqHeaders.TOPIC に保存されます。

導入:
5.4
作成者:
Artem Bilan, Alessio Matricardi
  • フィールドの詳細

    • DEFAULT_CONSUME_DELAY

      public static final DurationSE DEFAULT_CONSUME_DELAY
  • コンストラクターの詳細

    • ZeroMqMessageProducer

      public ZeroMqMessageProducer(org.zeromq.ZContext context)
    • ZeroMqMessageProducer

      public ZeroMqMessageProducer(org.zeromq.ZContext context, org.zeromq.SocketType socketType)
  • メソッドの詳細

    • setConsumeDelay

      public void setConsumeDelay(DurationSE consumeDelay)
      データが受信されないときに消費を遅らせるには、DurationSE を指定します。
      パラメーター:
      consumeDelay - 空のときに消費を遅らせる DurationSE。デフォルトは DEFAULT_CONSUME_DELAY です。
    • setMessageMapper

      public void setMessageMapper(InboundMessageMapper<byte[]> messageMapper)
      消費されたデータを生成するメッセージに変換する InboundMessageMapper を提供します。setReceiveRaw(boolean) が true の場合は無視されます。
      パラメーター:
      messageMapper - 使用する InboundMessageMapper
    • setMessageConverter

      public void setMessageConverter(MessageConverter messageConverter)
      消費されたデータを生成するメッセージに変換するための MessageConvertermessageMapper の代替として)を提供します。setReceiveRaw(boolean) が true の場合は無視されます。
      パラメーター:
      messageConverter - 使用する MessageConverter
    • setReceiveRaw

      public void setReceiveRaw(boolean receiveRaw)
      生の ZMsg が生成するメッセージのペイロードとして存在するか、ZeroMqHeaders.TOPIC ヘッダー(存在する場合)を含む Message に完全に変換されるかどうか。
      パラメーター:
      receiveRaw - ZMsg から変換するかどうか。デフォルトで変換します。
    • setSocketConfigurer

      public void setSocketConfigurer(ConsumerSE<org.zeromq.ZMQ.Socket> socketConfigurer)
      ConsumerSE を提供して、セキュリティなどの任意のオプションでソケットを構成します。
      パラメーター:
      socketConfigurer - ソケットオプションのコンフィギュレーター。
    • setTopics

      public void setTopics(StringSE... topics)
      SocketType.SUB ソケットがサブスクリプションに使用するトピックを指定します。サポートされている他のすべての SocketType では無視されます。
      パラメーター:
      topics - 使用するトピック。
    • setConnectUrl

      public void setConnectUrl(@Nullable StringSE connectUrl)
      ZMQ.Socket.connect(String) の URL を構成します。setBindPort(int) と相互に排他的です。
      パラメーター:
      connectUrl - ZeroMq ソケットを接続する URL。
    • setBindPort

      public void setBindPort(int port)
      ZMQ.Socket.bind(String) を介した TCP プロトコルバインディング用のポートを構成します。setConnectUrl(String) と相互に排他的です。
      パラメーター:
      port - ZeroMq ソケットを TCP 経由でバインドするポート。
    • getBoundPort

      public int getBoundPort()
      このメッセージプロデューサーがまだ開始されていないか、ソケットが接続されている場合は、ソケットがバインドされているポートを返します。バインドされていません。
      戻り値:
      ソケットまたは 0 のポート。
    • unwrapTopic

      public void unwrapTopic(boolean unwrapTopic)
      SocketType.SUB ソケットが受信するトピックが追加の空フレームでラップされるかどうかを指定します。サポートされている他のすべての SocketType では無視されます。この属性はデフォルトで true に設定されています。
      パラメーター:
      unwrapTopic - 受信したトピックが追加の空のフレームでラップされている場合は true です。
      導入:
      6.2.6
    • getComponentType

      public StringSE getComponentType()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。
      次で指定:
      インターフェース NamedComponentgetComponentType 
      オーバーライド:
      クラス IntegrationObjectSupportgetComponentType 
    • onInit

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス MessageProducerSupportonInit 
    • subscribeToTopics

      @ManagedOperation public void subscribeToTopics(StringSE... topics)
    • unsubscribeFromTopics

      @ManagedOperation public void unsubscribeFromTopics(StringSE... topics)
    • doStart

      protected void doStart()
      クラスからコピーされた説明: MessageProducerSupport
      デフォルトでは何も実行されません。ライフサイクル管理された動作が必要な場合、サブクラスはこれをオーバーライドできます。'lifecycleLock' によって保護されています。
      オーバーライド:
      クラス MessageProducerSupportdoStart 
    • doStop

      protected void doStop()
      クラスからコピーされた説明: MessageProducerSupport
      デフォルトでは何もしません。サブクラスは、ライフサイクル管理の動作が必要な場合、これをオーバーライドできます。
      オーバーライド:
      クラス MessageProducerSupportdoStop 
    • destroy

      public void destroy()
      次で指定:
      インターフェース DisposableBeandestroy 
      次で指定:
      インターフェース IntegrationManagementdestroy 
      オーバーライド:
      クラス AbstractEndpointdestroy