クラス 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>
Bean をファクトリ化して RabbitMQ ConnectionFactory を作成し、ほとんどの setter メソッドを委譲し、オプションで証明書検証の有無にかかわらず SSL を有効にします。sslPropertiesLocation が null でない場合、デフォルトの実装は、提供されたプロパティを使用して PKCS12 キーストアと JKS トラストストアをロードし、デフォルトでアルゴリズム SunX509 を使用してキーとトラストマネージャーファクトリを初期化します。次に、これらは、sslAlgorithm (デフォルトは TLSv1.2、1.2 が使用できない場合は TLSv1.1 にフォールバック) を使用して SSLContextSE を初期化するために使用されます。

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

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

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

    • connectionFactory

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

    • RabbitConnectionFactoryBean

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

    • isSkipServerCertificateValidation

      public boolean isSkipServerCertificateValidation()
      サーバー側の証明書を検証する必要があるかどうか。
      戻り値:
      サーバー側の証明書をスキップする必要がある場合は true
      導入:
      1.6.6
    • setSkipServerCertificateValidation

      public void setSkipServerCertificateValidation(boolean skipServerCertificateValidation)
      サーバー側の証明書を検証する必要があるかどうか。これは、useSSL が true に設定されている場合に使用され、dev または Qa リージョンでのみ使用する必要があります。
      パラメーター:
      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(Resource sslPropertiesLocation)
      setUseSSL(boolean) が true の場合、使用する SSL プロパティ (オプション)。次のプロパティを持つプロパティファイルを参照するリソース:
      • keyStore= ファイル:/secret/keycert.p12
      • trustStore= ファイル:/secret/trustStore
      • keyStore.passPhrase= シークレット
      • trustStore.passPhrase= シークレット

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

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

      protected Resource getSslPropertiesLocation()
      戻り値:
      プロパティの場所。
      導入:
      1.4.4
    • getKeyStore

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

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

      protected Resource getKeyStoreResource()
    • setKeyStoreResource

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

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

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

      protected Resource getTrustStoreResource()
    • setTrustStoreResource

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

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

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

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

      public void setTrustStorePassphrase(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(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(StringSE trustStoreType)
      トラストストア型を設定します - setSslPropertiesLocation(Resource) のプロパティを上書きします。
      パラメーター:
      trustStoreType - トラストストアの型。
      導入:
      1.6.2
      関連事項:
    • getSecureRandom

      protected 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

      public void setUseNio(boolean useNio)
      Java NIO を使用するようにファクトリを構成する必要があるかどうか。
      パラメーター:
      useNio - Java NIO を使用する場合は true、ブロッキング IO を使用する場合は false
      関連事項:
      • ConnectionFactory.useNio()
    • setNioParams

      public void setNioParams(com.rabbitmq.client.impl.nio.NioParams nioParams)
      パラメーター:
      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)
      amqp-client 自動リカバリを有効にするには、true に設定します。注: Spring AMQP は独自の接続回復を実装しており、これは通常は必要ありません。
      パラメーター:
      automaticRecoveryEnabled - 有効にする場合は true。
      導入:
      1.7.1
    • setTopologyRecoveryEnabled

      public void setTopologyRecoveryEnabled(boolean topologyRecoveryEnabled)
      amqp-client トポロジーのリカバリを有効にするには、true に設定します。注: アプリケーションコンテキストに Rabbit 管理者が存在する場合、Spring AMQP は独自の回復を実装しますが、これは通常は必要ありません。
      パラメーター:
      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

      例外:
      KeyStoreExceptionSE
      IOExceptionSE
      NoSuchAlgorithmExceptionSE
      CertificateExceptionSE
      UnrecoverableKeyExceptionSE
    • configureTrustManagers

      例外:
      KeyStoreExceptionSE
      IOExceptionSE
      NoSuchAlgorithmExceptionSE
      CertificateExceptionSE
    • createSSLContext

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