クラス 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
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラスフィールドのサマリー
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターの概要
コンストラクターコンストラクター説明ZeroMqProxy
(org.zeromq.ZContext context) ZeroMqProxy
(org.zeromq.ZContext context, ZeroMqProxy.Type type) メソッドのサマリー
修飾子と型メソッド説明void
void
destroy()
int
このプロキシがまだ開始されていない場合は、バックエンドソケットがバインドされているポートまたは null を返します。このプロキシがまだ開始されていない場合、またはcaptureAddress
が false の場合は、inproc
キャプチャーソケットがバインドされているアドレスまたは null を返します。このプロキシがまだ開始されていない場合は、inproc
制御ソケットがバインドされているアドレスまたは null を返します。int
フロントエンドソケットがバインドされているポートを返すか、このプロキシがまだ開始されていない場合は 0 を返します。int
getPhase()
getType()
boolean
boolean
void
setAutoStartup
(boolean autoStartup) void
setBackendPort
(int backendPort) プロキシのバックエンドソケットに固定ポートを指定します。void
setBackendSocketConfigurer
(ConsumerSE<org.zeromq.ZMQ.Socket> backendSocketConfigurer) Consumer
SE を提供して、セキュリティなどの任意のオプションを使用してプロキシバックエンドソケットを構成します。void
setBeanName
(StringSE beanName) void
setExposeCaptureSocket
(boolean exposeCaptureSocket) プロキシデータのキャプチャーソケットをバインドして公開するかどうか。void
setFrontendPort
(int frontendPort) プロキシのフロントエンドソケットに固定ポートを指定します。void
setFrontendSocketConfigurer
(ConsumerSE<org.zeromq.ZMQ.Socket> frontendSocketConfigurer) Consumer
SE を提供して、セキュリティなどの任意のオプションでプロキシフロントエンドソケットを構成します。void
setPhase
(int phase) void
setProxyExecutor
(ExecutorSE proxyExecutor) ZeroMQ プロキシループを実行するようにエグゼキュータを設定します。void
start()
void
stop()
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
stop
コンストラクターの詳細
ZeroMqProxy
public ZeroMqProxy(org.zeromq.ZContext context) - パラメーター:
context
- 使用するZContext
ZeroMqProxy
- パラメーター:
context
- 使用するZContext
type
- 使用するZeroMqProxy.Type
。
メソッドの詳細
setProxyExecutor
ZeroMQ プロキシループを実行するようにエグゼキュータを構成します。スレッドは、ZeroMQ プロキシループが終了するまで保持されます。デフォルトでは、内部Executors.newSingleThreadExecutor()
インスタンスが使用されます。- パラメーター:
proxyExecutor
- ZeroMQ プロキシループに使用するExecutor
SE
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) Consumer
SE を提供して、セキュリティなどの任意のオプションでプロキシフロントエンドソケットを構成します。- パラメーター:
frontendSocketConfigurer
- フロントエンドソケットのコンフィギュレータ
setBackendSocketConfigurer
public void setBackendSocketConfigurer(@Nullable ConsumerSE<org.zeromq.ZMQ.Socket> backendSocketConfigurer) Consumer
SE を提供して、セキュリティなどの任意のオプションを使用してプロキシバックエンドソケットを構成します。- パラメーター:
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
getCaptureAddress
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