クラス RabbitConnectionFactoryBean

java.lang.ObjectSE
org.springframework.beans.factory.config.AbstractFactoryBean<com.rabbitmq.client.ConnectionFactory>
org.springframework.amqp.rabbit.connection.RabbitConnectionFactoryBean
実装されているすべてのインターフェース:
AwareBeanClassLoaderAwareBeanFactoryAwareDisposableBeanFactoryBean<com.rabbitmq.client.ConnectionFactory>InitializingBean

public class RabbitConnectionFactoryBean extends AbstractFactoryBean<com.rabbitmq.client.ConnectionFactory>
The factory bean to create a RabbitMQ ConnectionFactory, delegating most setter methods and optionally enabling SSL, with or without certificate validation. When sslPropertiesLocation is not null, the default implementation loads a PKCS12 keystore and a JKS truststore using the supplied properties and initializes key and trust manager factories, using algorithm SunX509 by default. These are then used to initialize an SSLContextSE using the sslAlgorithm (default TLSv1.2, falling back to TLSv1.1, if 1.2 is not available).

createSSLContext() をオーバーライドして、コンテキストを作成および / またはさらに変更します。

setUpSSL() をオーバーライドして、SSL の設定を完全に制御します。

導入:
1.4
作成者:
Gary Russell, Heath Abelson, Arnaud Cogolu è gnes, Hareendran, Dominique Villard, Zachary DeLuca, Ngoc Nhan, Artem Bilan
  • フィールドの詳細

    • connectionFactory

      protected final com.rabbitmq.client.ConnectionFactory connectionFactory
  • コンストラクターの詳細

    • RabbitConnectionFactoryBean

      public RabbitConnectionFactoryBean()
  • メソッドの詳細

    • isSkipServerCertificateValidation

      public boolean isSkipServerCertificateValidation()
      Whether a Server Side certificate has to be validated or not.
      戻り値:
      true if the Server Side certificate has to be skipped
      導入:
      1.6.6
    • setSkipServerCertificateValidation

      public void setSkipServerCertificateValidation(boolean skipServerCertificateValidation)
      Whether a Server Side certificate has to be validated or not. This would be used if useSSL is set to true and should only be used on dev or Qa regions skipServerCertificateValidation should never be set to true in production
      パラメーター:
      skipServerCertificateValidation - サーバー側の証明書チェックを上書きするフラグ。true に設定すると、TrustEverythingTrustManager が使用されます。
      導入:
      1.6.6
      関連事項:
      • TrustEverythingTrustManager
    • setUseSSL

      public void setUseSSL(boolean useSSL)
      SSL を使用するようにファクトリを構成する必要があるかどうか。
      パラメーター:
      useSSL - SSL を使用する場合は true。
    • isUseSSL

      protected boolean isUseSSL()
      戻り値:
      SSL を使用する場合は true。
      導入:
      1.4.4.
    • setSslAlgorithm

      public void setSslAlgorithm(StringSE sslAlgorithm)
      使用するアルゴリズムを設定します。デフォルトの TLSv1.1。
      パラメーター:
      sslAlgorithm - アルゴリズム。
    • getSslAlgorithm

      protected StringSE getSslAlgorithm()
      戻り値:
      SSL アルゴリズム。
      導入:
      1.4.4
    • setSslPropertiesLocation

      public void setSslPropertiesLocation(@Nullable Resource sslPropertiesLocation)
      setUseSSL(boolean) が true の場合、使用する SSL プロパティ (オプション)。次のプロパティを持つプロパティファイルを参照するリソース:
      • keyStore= ファイル:/secret/keycert.p12
      • trustStore= ファイル:/secret/trustStore
      • keyStore.passPhrase= 秘密
      • trustStore.passPhrase= 秘密

      これが提供される場合、そのプロパティ (存在する場合) は、この Bean で明示的に設定されたプロパティをオーバーライドします。

      パラメーター:
      sslPropertiesLocation - Resource を ssl プロパティに
    • getSslPropertiesLocation

      protected @Nullable Resource getSslPropertiesLocation()
      戻り値:
      プロパティファイルの場所。
      導入:
      1.4.4
    • getKeyStore

      protected StringSE getKeyStore()
      戻り値:
      キーストアリソース。
      導入:
      1.5
    • setKeyStore

      public void setKeyStore(@Nullable StringSE keyStore)
      キーストアリソースを設定します (例: file:/foo/keystore) - setSslPropertiesLocation(Resource) のプロパティをオーバーライドします。リソースで setTrustStoreResource(Resource) が呼び出された場合は無視されます。
      パラメーター:
      keyStore - キーストアリソース。
      導入:
      1.5
    • getKeyStoreResource

      protected @Nullable Resource getKeyStoreResource()
    • setKeyStoreResource

      public void setKeyStoreResource(Resource keyStoreResource)
      キーストアを指す Resource を設定します。
      パラメーター:
      keyStoreResource - リソース。
      導入:
      1.6.4
    • getTrustStore

      protected StringSE getTrustStore()
      戻り値:
      トラストストアリソース。
      導入:
      1.5
    • setTrustStore

      public void setTrustStore(@Nullable StringSE trustStore)
      キーストアリソースを設定します (例: file:/foo/truststore) - setSslPropertiesLocation(Resource) のプロパティをオーバーライドします。リソースで setTrustStoreResource(Resource) が呼び出された場合は無視されます。
      パラメーター:
      trustStore - トラストストアリソース。
      導入:
      1.5
    • getTrustStoreResource

      protected @Nullable Resource getTrustStoreResource()
    • setTrustStoreResource

      public void setTrustStoreResource(Resource trustStoreResource)
      トラストストアを指す Resource を設定します。
      パラメーター:
      trustStoreResource - リソース。
      導入:
      1.6.4
    • getKeyStorePassphrase

      protected @Nullable StringSE getKeyStorePassphrase()
      戻り値:
      キーストアのパスフレーズ。
      導入:
      1.5
    • setKeyStorePassphrase

      public void setKeyStorePassphrase(@Nullable StringSE keyStorePassphrase)
      キーストアのパスフレーズを設定します - setSslPropertiesLocation(Resource) のプロパティを上書きします。
      パラメーター:
      keyStorePassphrase - キーストアのパスフレーズ。
      導入:
      1.5
    • getTrustStorePassphrase

      protected @Nullable StringSE getTrustStorePassphrase()
      戻り値:
      トラストストアのパスフレーズ。
      導入:
      1.5
    • setTrustStorePassphrase

      public void setTrustStorePassphrase(@Nullable StringSE trustStorePassphrase)
      トラストストアのパスフレーズを設定します - setSslPropertiesLocation(Resource) のプロパティを上書きします。
      パラメーター:
      trustStorePassphrase - トラストストアのパスフレーズ。
      導入:
      1.5
    • getKeyStoreType

      protected StringSE getKeyStoreType()
      キーストア型を取得します。これは、setSslPropertiesLocation(Resource) または setKeyStoreType(java.lang.String) によってオーバーライドされない場合、デフォルトで PKCS12 になります。
      戻り値:
      キーストア型。
      導入:
      1.6.2
    • setKeyStoreType

      public void setKeyStoreType(@Nullable StringSE keyStoreType)
      キーストア型を設定します - setSslPropertiesLocation(Resource) のプロパティをオーバーライドします。
      パラメーター:
      keyStoreType - キーストア型。
      導入:
      1.6.2
      関連事項:
    • getTrustStoreType

      protected StringSE getTrustStoreType()
      トラストストア型を取得します。これは、setSslPropertiesLocation(Resource) または setTrustStoreType(java.lang.String) によってオーバーライドされない場合、デフォルトで JKS になります。
      戻り値:
      トラストストアの型。
      導入:
      1.6.2
    • setTrustStoreType

      public void setTrustStoreType(@Nullable StringSE trustStoreType)
      トラストストア型を設定します - setSslPropertiesLocation(Resource) のプロパティを上書きします。
      パラメーター:
      trustStoreType - トラストストアの型。
      導入:
      1.6.2
      関連事項:
    • getSecureRandom

      protected @Nullable SecureRandomSE getSecureRandom()
    • setSecureRandom

      public void setSecureRandom(SecureRandomSE secureRandom)
      SSLContextSE の初期化時に使用するセキュアランダムを設定します。デフォルトは null です。この場合、デフォルトの実装が使用されます。
      パラメーター:
      secureRandom - 安全なランダム。
      導入:
      1.6.4
      関連事項:
    • setHost

      public void setHost(StringSE host)
      パラメーター:
      host - ザホスト。
      関連事項:
      • ConnectionFactory.setHost(java.lang.String)
    • setPort

      public void setPort(int port)
      パラメーター:
      port - ポート。
      関連事項:
      • ConnectionFactory.setPort(int)
    • setUsername

      public void setUsername(StringSE username)
      パラメーター:
      username - ユーザー名。
      関連事項:
      • ConnectionFactory.setUsername(java.lang.String)
    • setPassword

      public void setPassword(StringSE password)
      パラメーター:
      password - パスワード。
      関連事項:
      • ConnectionFactory.setPassword(java.lang.String)
    • setCredentialsProvider

      public void setCredentialsProvider(com.rabbitmq.client.impl.CredentialsProvider provider)
      認証情報プロバイダーを設定します (例: OAUTH2)。
      パラメーター:
      provider - プロバイダー。
      導入:
      2.3
    • setCredentialsRefreshService

      public void setCredentialsRefreshService(com.rabbitmq.client.impl.CredentialsRefreshService service)
      リフレッシュサービスを設定します。
      パラメーター:
      service - サービス。
      導入:
      2.3
    • setVirtualHost

      public void setVirtualHost(StringSE virtualHost)
      パラメーター:
      virtualHost - 仮想ホスト。
      関連事項:
      • ConnectionFactory.setVirtualHost(java.lang.String)
    • setUri

      public void setUri(URISE uri)
      パラメーター:
      uri - uri。
      関連事項:
      • ConnectionFactory.setUri(java.net.URI)
    • setUri

      public void setUri(StringSE uriString)
      パラメーター:
      uriString - uri。
      関連事項:
      • ConnectionFactory.setUri(java.lang.String)
    • setRequestedChannelMax

      public void setRequestedChannelMax(int requestedChannelMax)
      パラメーター:
      requestedChannelMax - リクエストされた最大チャネル。
      関連事項:
      • ConnectionFactory.setRequestedChannelMax(int)
    • setRequestedFrameMax

      public void setRequestedFrameMax(int requestedFrameMax)
      パラメーター:
      requestedFrameMax - リクエストされた最大フレーム。
      関連事項:
      • ConnectionFactory.setRequestedFrameMax(int)
    • setConnectionTimeout

      public void setConnectionTimeout(int connectionTimeout)
      パラメーター:
      connectionTimeout - 接続タイムアウト。
      関連事項:
      • ConnectionFactory.setConnectionTimeout(int)
    • setRequestedHeartbeat

      public void setRequestedHeartbeat(int requestedHeartbeat)
      パラメーター:
      requestedHeartbeat - リクエストされたハートビート。
      関連事項:
      • ConnectionFactory.setRequestedHeartbeat(int)
    • setClientProperties

      public void setClientProperties(MapSE<StringSE,ObjectSE> clientProperties)
      カスタムクライアントプロパティを追加します。
      パラメーター:
      clientProperties - クライアントプロパティ。
      関連事項:
      • ConnectionFactory.setClientProperties(java.util.Map)
    • setSaslConfig

      public void setSaslConfig(com.rabbitmq.client.SaslConfig saslConfig)
      パラメーター:
      saslConfig - sasl 設定。
      関連事項:
      • ConnectionFactory.setSaslConfig(com.rabbitmq.client.SaslConfig)
    • setSocketFactory

      public void setSocketFactory(SocketFactorySE factory)
      パラメーター:
      factory - ソケットファクトリ。
      関連事項:
      • ConnectionFactory.setSocketFactory(javax.net.SocketFactory)
    • setSocketConfigurator

      public void setSocketConfigurator(com.rabbitmq.client.SocketConfigurator socketConfigurator)
      パラメーター:
      socketConfigurator - ソケットコンフィギュレータ。
      関連事項:
      • ConnectionFactory.setSocketConfigurator(com.rabbitmq.client.SocketConfigurator)
    • setSharedExecutor

      public void setSharedExecutor(ExecutorServiceSE executor)
      パラメーター:
      executor - エグゼキュータサービス
      関連事項:
      • ConnectionFactory.setSharedExecutor(java.util.concurrent.ExecutorService)
    • setThreadFactory

      public void setThreadFactory(ThreadFactorySE threadFactory)
      パラメーター:
      threadFactory - スレッドファクトリ。
      関連事項:
      • ConnectionFactory.setThreadFactory(java.util.concurrent.ThreadFactory)
    • setExceptionHandler

      public void setExceptionHandler(com.rabbitmq.client.ExceptionHandler exceptionHandler)
      パラメーター:
      exceptionHandler - 例外ハンドラー。
      関連事項:
      • ConnectionFactory.setExceptionHandler(com.rabbitmq.client.ExceptionHandler)
    • setUseNio

      @DeprecatedSE(since="4.0", forRemoval=true) public void setUseNio(boolean useNio)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      4.0 以降、setUseNetty(boolean) を推奨
      ファクトリを Java NIO を使用するように構成するかどうか。
      パラメーター:
      useNio - Java NIO を使用する場合は true、ブロッキング IO を使用する場合は false
      関連事項:
      • ConnectionFactory.useNio()
    • setUseNetty

      public void setUseNetty(boolean useNetty)
      Whether the factory should be configured to use Netty.
      パラメーター:
      useNetty - true to use Netty, false to use blocking IO
      関連事項:
      • ConnectionFactory.netty()
    • setNioParams

      @DeprecatedSE(since="4.0", forRemoval=true) public void setNioParams(com.rabbitmq.client.impl.nio.NioParams nioParams)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      4.0 以降、setUseNetty(boolean) を推奨
      パラメーター:
      nioParams - NIO パラメーター
      関連事項:
      • ConnectionFactory.setNioParams(com.rabbitmq.client.impl.nio.NioParams)
    • setMetricsCollector

      public void setMetricsCollector(com.rabbitmq.client.MetricsCollector metricsCollector)
      パラメーター:
      metricsCollector - メトリクスコレクターインスタンス
      関連事項:
      • ConnectionFactory.setMetricsCollector(MetricsCollector)
    • setAutomaticRecoveryEnabled

      public void setAutomaticRecoveryEnabled(boolean automaticRecoveryEnabled)
      Set to true to enable amqp-client automatic recovery. Note: Spring AMQP implements its own connection recovery, and this is generally not needed.
      パラメーター:
      automaticRecoveryEnabled - 有効にする場合は true。
      導入:
      1.7.1
    • setTopologyRecoveryEnabled

      public void setTopologyRecoveryEnabled(boolean topologyRecoveryEnabled)
      Set to true to enable amqp-client topology recovery. Note: if there is a Rabbit admin in the application context, Spring AMQP implements its own recovery, and this is generally not needed.
      パラメーター:
      topologyRecoveryEnabled - 有効にする場合は true。
      導入:
      1.7.1
    • setChannelRpcTimeout

      public void setChannelRpcTimeout(int channelRpcTimeout)
      パラメーター:
      channelRpcTimeout - チャネルでの RPC 呼び出しの継続タイムアウト
      導入:
      2.0
      関連事項:
      • ConnectionFactory.setChannelRpcTimeout(int)
    • setEnableHostnameVerification

      public void setEnableHostnameVerification(boolean enable)
      TLS 接続のサーバーホスト名検証を有効にします。

      これにより、使用される IO モード (ブロッキングまたはノンブロッキング IO) に関係なく、ホスト名の検証が可能になります。

      これは通常、useSslProtocol メソッドの 1 つを使用して SSLContextSE を設定した後に呼び出すことができます。amqp-client 5.4.0 以降が必要です。

      パラメーター:
      enable - 無効にする場合は false。
      導入:
      2.0.6
      関連事項:
      • ConnectionFactory.enableHostnameVerification()
    • setMaxInboundMessageBodySize

      public void setMaxInboundMessageBodySize(int maxInboundMessageBodySize)
      受信 (受信) メッセージの最大本文サイズをバイト単位で設定します。
      パラメーター:
      maxInboundMessageBodySize - 最大サイズ。
      導入:
      2.4.15
      関連事項:
      • ConnectionFactory.setMaxInboundMessageBodySize(int)
    • getKeyStoreAlgorithm

      protected StringSE getKeyStoreAlgorithm()
    • setKeyStoreAlgorithm

      public void setKeyStoreAlgorithm(StringSE keyStoreAlgorithm)
      キーストアの作成時に使用するアルゴリズムを設定します。デフォルトは SunX509 です。
      パラメーター:
      keyStoreAlgorithm - アルゴリズム。
      導入:
      2.1.6
    • getTrustStoreAlgorithm

      protected StringSE getTrustStoreAlgorithm()
    • setTrustStoreAlgorithm

      public void setTrustStoreAlgorithm(StringSE trustStoreAlgorithm)
      トラストストアの作成時に使用するアルゴリズムを設定します。デフォルトは SunX509 です。
      パラメーター:
      trustStoreAlgorithm - アルゴリズム。
      導入:
      2.1.6
    • getResourceLoader

      protected ResourceLoader getResourceLoader()
      リソースローダーを取得します。キーストアとトラストストア Resource を入力ストリームに解決するために使用されます。
      戻り値:
      リソースローダー。
      導入:
      2.3
    • setResourceLoader

      public void setResourceLoader(ResourceLoader resourceLoader)
      リソースローダーを設定します。キーストアとトラストストア Resource を入力ストリームに解決するために使用されます。
      パラメーター:
      resourceLoader - リソースローダー。
      導入:
      2.3
    • getRabbitConnectionFactory

      public com.rabbitmq.client.ConnectionFactory getRabbitConnectionFactory()
      接続ファクトリにアクセスして、このファクトリ Bean でサポートされていないその他のプロパティを設定します。
      戻り値:
      接続ファクトリ。
      導入:
      1.7.14
    • afterPropertiesSet

      public void afterPropertiesSet()
      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
      オーバーライド:
      クラス AbstractFactoryBean<com.rabbitmq.client.ConnectionFactory>afterPropertiesSet 
    • getObjectType

      public ClassSE<?> getObjectType()
      次で指定:
      インターフェース FactoryBean<com.rabbitmq.client.ConnectionFactory>getObjectType 
      次で指定:
      クラス AbstractFactoryBean<com.rabbitmq.client.ConnectionFactory>getObjectType 
    • createInstance

      protected com.rabbitmq.client.ConnectionFactory createInstance()
      次で指定:
      クラス AbstractFactoryBean<com.rabbitmq.client.ConnectionFactory>createInstance 
    • setUpSSL

      protected void setUpSSL()
      このメソッドをオーバーライドして、SSL セットアップを完全に制御します。
      導入:
      1.4.4
    • configureKeyManagers

    • configureTrustManagers

    • createSSLContext

      protected SSLContextSE createSSLContext() throws NoSuchAlgorithmExceptionSE
      このメソッドをオーバーライドして、ConnectionFactory で使用される SSLContextSE を作成および / または構成します。
      戻り値:
      SSLContextSE
      例外:
      NoSuchAlgorithmExceptionSE - アルゴリズムが利用できない場合。
      導入:
      1.4.4