クラス ZeroMqProxy
java.lang.ObjectSE
org.springframework.integration.zeromq.ZeroMqProxy
- 実装済みのインターフェース一覧:
Aware, BeanNameAware, DisposableBean, InitializingBean, Lifecycle, Phased, SmartLifecycle
public class ZeroMqProxy
extends ObjectSE
implements InitializingBean, SmartLifecycle, BeanNameAware, DisposableBean
このクラスは、ZeroMQ プロキシを構成および管理するためのロジックをカプセル化します。提供されたポートまたはランダムに選択されたポートのいずれかを使用して、使用可能なすべてのネットワークインターフェース上の TCP を介してフロントエンドソケットとバックエンドソケットをバインドします。
ZeroMqProxy.Type は、このプロキシとバインドする ZeroMQ ソケットのペアを指定して、ZeroMQ 中間体の可能なパターンを実装します。デフォルトは @link ZeroMqProxy.Type.PULL_PUSH です。
制御ソケットは、"inproc://" + beanName + ".control" アドレスでのスレッド間トランスポートを備えた SocketType.PAIR として公開されます。getControlAddress() から取得できます。ZMQ.PROXY_TERMINATE、ZMQ.PROXY_PAUSE、/ または ZMQ.PROXY_RESUME コマンドを送信するには、SocketType.PAIR ソケットから同じアプリケーションで使用する必要があります。
何らかの理由でプロキシを起動できない場合は、エラーメッセージが記録され、このコンポーネントは起動されていない状態のままになります。
exposeCaptureSocket オプションを使用すると、追加のキャプチャーデータソケットが SocketType.PUB としてスレッド間トランスポートにバインドされます。特定のトピックの選択はないため、このソケットのすべてのサブスクライバーは、プレーンな ZMQ.SUBSCRIPTION_ALL でサブスクライブする必要があります。このソケットのアドレスは "inproc://" + beanName + ".capture" です。
- 導入:
- 5.4
- 作成者:
- Artem Bilan, Christian Tzolov
- 関連事項:
ネストされたクラスの概要
ネストされたクラスフィールド概要
インターフェース SmartLifecycle から継承されたフィールド
DEFAULT_PHASEコンストラクター概要
コンストラクターコンストラクター説明ZeroMqProxy(org.zeromq.ZContext context) ZeroMqProxy(org.zeromq.ZContext context, ZeroMqProxy.Type type) 方法の概要
修飾子と型メソッド説明voidvoiddestroy()intこのプロキシがまだ開始されていない場合は、バックエンドソケットがバインドされているポートまたは null を返します。@Nullable StringSEこのプロキシがまだ開始されていない場合、またはcaptureAddressが false の場合は、inprocキャプチャーソケットがバインドされているアドレスまたは null を返します。@Nullable StringSEこのプロキシがまだ開始されていない場合は、inproc制御ソケットがバインドされているアドレスまたは null を返します。intフロントエンドソケットがバインドされているポートを返すか、このプロキシがまだ開始されていない場合は 0 を返します。intgetPhase()getType()booleanbooleanvoidsetAutoStartup(boolean autoStartup) voidsetBackendPort(int backendPort) プロキシのバックエンドソケットに固定ポートを指定します。voidsetBackendSocketConfigurer(@Nullable ConsumerSE<org.zeromq.ZMQ.Socket> backendSocketConfigurer) ConsumerSE を提供して、セキュリティなどの任意のオプションを使用してプロキシバックエンドソケットを構成します。voidsetBeanName(StringSE beanName) voidsetExposeCaptureSocket(boolean exposeCaptureSocket) プロキシデータのキャプチャーソケットをバインドして公開するかどうか。voidsetFrontendPort(int frontendPort) プロキシのフロントエンドソケットに固定ポートを指定します。voidsetFrontendSocketConfigurer(@Nullable ConsumerSE<org.zeromq.ZMQ.Socket> frontendSocketConfigurer) ConsumerSE を提供して、セキュリティなどの任意のオプションでプロキシフロントエンドソケットを構成します。voidsetPhase(int phase) voidsetProxyExecutor(ExecutorSE proxyExecutor) ZeroMQ プロキシループを実行するようにエグゼキュータを設定します。voidstart()voidstop()クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース SmartLifecycle から継承されたメソッド
isPauseable, stop
コンストラクターの詳細
ZeroMqProxy
public ZeroMqProxy(org.zeromq.ZContext context) - パラメーター:
context- 使用するZContext
ZeroMqProxy
- パラメーター:
context- 使用するZContexttype- 使用するZeroMqProxy.Type。
方法の詳細
setProxyExecutor
ZeroMQ プロキシループを実行するようにエグゼキュータを構成します。スレッドは、ZeroMQ プロキシループが終了するまで保持されます。デフォルトでは、内部Executors.newSingleThreadExecutor()インスタンスが使用されます。- パラメーター:
proxyExecutor- ZeroMQ プロキシループに使用するExecutorSE
setFrontendPort
public void setFrontendPort(int frontendPort) プロキシのフロントエンドソケットに固定ポートを指定します。- パラメーター:
frontendPort- 使用するポート。0 より大きくなければなりません
setBackendPort
public void setBackendPort(int backendPort) プロキシのバックエンドソケットに固定ポートを指定します。- パラメーター:
backendPort- 使用するポート。0 より大きくなければなりません
setFrontendSocketConfigurer
public void setFrontendSocketConfigurer(@Nullable ConsumerSE<org.zeromq.ZMQ.Socket> frontendSocketConfigurer) ConsumerSE を提供して、セキュリティなどの任意のオプションでプロキシフロントエンドソケットを構成します。- パラメーター:
frontendSocketConfigurer- フロントエンドソケットのコンフィギュレータ
setBackendSocketConfigurer
public void setBackendSocketConfigurer(@Nullable ConsumerSE<org.zeromq.ZMQ.Socket> backendSocketConfigurer) ConsumerSE を提供して、セキュリティなどの任意のオプションを使用してプロキシバックエンドソケットを構成します。- パラメーター:
backendSocketConfigurer- バックエンドソケットのコンフィギュレータ
setExposeCaptureSocket
public void setExposeCaptureSocket(boolean exposeCaptureSocket) プロキシデータのキャプチャーソケットをバインドして公開するかどうか。- パラメーター:
exposeCaptureSocket- プロキシのキャプチャーソケットをバインドする場合は true
setBeanName
- 次で指定:
- インターフェース
BeanNameAware内のsetBeanName
setAutoStartup
public void setAutoStartup(boolean autoStartup) setPhase
public void setPhase(int phase) getType
getFrontendPort
public int getFrontendPort()フロントエンドソケットがバインドされているポートを返すか、このプロキシがまだ開始されていない場合は 0 を返します。- 戻り値:
- フロントエンドソケットのポートまたは 0
getBackendPort
public int getBackendPort()このプロキシがまだ開始されていない場合は、バックエンドソケットがバインドされているポートまたは null を返します。- 戻り値:
- バックエンドソケットのポートまたは 0
getControlAddress
このプロキシがまだ開始されていない場合は、inproc制御ソケットがバインドされているアドレスまたは null を返します。- 戻り値:
- 制御ソケットのアドレスまたは null
getCaptureAddress
このプロキシがまだ開始されていない場合、またはcaptureAddressが false の場合は、inprocキャプチャーソケットがバインドされているアドレスまたは null を返します。- 戻り値:
- キャプチャーソケットまたは null のアドレス
isAutoStartup
public boolean isAutoStartup()- 次で指定:
- インターフェース
SmartLifecycle内のisAutoStartup
getPhase
public int getPhase()- 次で指定:
- インターフェース
Phased内のgetPhase - 次で指定:
- インターフェース
SmartLifecycle内のgetPhase
afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
InitializingBean内のafterPropertiesSet
start
stop
isRunning
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBean内のdestroy