クラス DefaultTopicResolver

java.lang.ObjectSE
org.springframework.pulsar.core.DefaultTopicResolver
実装されたすべてのインターフェース:
AwareBeanFactoryAwareTopicResolver

public class DefaultTopicResolver extends ObjectSE implements TopicResolver, BeanFactoryAware
カスタム型からトピックへのマッピングを受け入れ、トピックの解決中にそのマッピングを使用するトピックリゾルバー。

メッセージ型とトピックのマッピングは、addCustomTopicMapping(Class, String) を使用して構成できます。

作成者:
Chris Bono, Aleksei Arsenev, Jonas Geiregat
  • コンストラクターの詳細

    • DefaultTopicResolver

      public DefaultTopicResolver(ExpressionResolver expressionResolver)
      指定された式リゾルバーを使用して新しい DefaultTopicResolver を構築します。
      パラメーター:
      expressionResolver - トピックを解決するために使用する式リゾルバー
    • DefaultTopicResolver

      public DefaultTopicResolver()
      新しい DefaultTopicResolver を構築します。
  • メソッドの詳細

    • usePulsarMessageAnnotations

      public void usePulsarMessageAnnotations(boolean usePulsarMessageAnnotations)
      トピック解決中に @PulsarMessage アノテーションのメッセージクラスをインスペクションするかどうかを設定します。
      パラメーター:
      usePulsarMessageAnnotations - アノテーションのメッセージをインスペクションするかどうか
    • addCustomTopicMapping

      @Nullable public StringSE addCustomTopicMapping(ClassSE<?> messageType, StringSE topic)
      メッセージ型からトピックへのカスタムマッピングを追加します。
      パラメーター:
      messageType - メッセージ型
      topic - 型 messageType のメッセージに使用するトピック
      戻り値:
      以前にマップされたトピック、または messageType のマッピングがなかった場合は null
    • removeCustomMapping

      @Nullable public StringSE removeCustomMapping(ClassSE<?> messageType)
      メッセージ型からトピックへのカスタムマッピングを削除します。
      パラメーター:
      messageType - メッセージ型
      戻り値:
      以前にマップされたトピック、または messageType のマッピングがなかった場合は null
    • getCustomTopicMappings

      public MapSE<ClassSE<?>,StringSE> getCustomTopicMappings()
      メッセージ型からトピックへの現在登録されているカスタムマッピングを取得します。
      戻り値:
      カスタムマッピングの変更不可能なマップ
    • resolveTopic

      public Resolved<StringSE> resolveTopic(@Nullable StringSE userSpecifiedTopic, SupplierSE<StringSE> defaultTopicSupplier)
      インターフェースからコピーされた説明: TopicResolver
      使用するトピック名を解決します。
      次で指定:
      インターフェース TopicResolverresolveTopic 
      パラメーター:
      userSpecifiedTopic - ユーザーが指定したトピック
      defaultTopicSupplier - 使用するデフォルトのトピックを提供します (デフォルトなしを通知するために null を返すサプライヤーを使用する)
      戻り値:
      使用するトピック、またはトピックを解決できなかった場合は empty 
    • resolveTopic

      public <T> Resolved<StringSE> resolveTopic(@Nullable StringSE userSpecifiedTopic, @Nullable T message, SupplierSE<StringSE> defaultTopicSupplier)
      インターフェースからコピーされた説明: TopicResolver
      指定されたメッセージに使用するトピック名を解決します。
      次で指定:
      インターフェース TopicResolverresolveTopic 
      型パラメーター:
      T - メッセージ型
      パラメーター:
      userSpecifiedTopic - ユーザーが指定したトピック
      message - 生成または消費されるメッセージインスタンス
      defaultTopicSupplier - 使用するデフォルトのトピックを提供します (デフォルトなしを通知するために null を返すサプライヤーを使用する)
      戻り値:
      使用するトピック、またはトピックを解決できなかった場合は empty 
    • resolveTopic

      public Resolved<StringSE> resolveTopic(@Nullable StringSE userSpecifiedTopic, @Nullable ClassSE<?> messageType, SupplierSE<StringSE> defaultTopicSupplier)
      インターフェースからコピーされた説明: TopicResolver
      指定されたメッセージ型に使用するトピック名を解決します。
      次で指定:
      インターフェース TopicResolverresolveTopic 
      パラメーター:
      userSpecifiedTopic - ユーザーが指定したトピック
      messageType - 生成または消費されるメッセージの型
      defaultTopicSupplier - 使用するデフォルトのトピックを提供します (デフォルトなしを通知するために null を返すサプライヤーを使用する)
      戻り値:
      使用するトピック、またはトピックを解決できなかった場合は empty 
    • doResolveTopic

      protected Resolved<StringSE> doResolveTopic(@Nullable StringSE userSpecifiedTopic, @Nullable ClassSE<?> messageType, SupplierSE<StringSE> defaultTopicSupplier)
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory) throws BeansException
      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      例外:
      BeansException