Package io.dapr

# Annotation Interface Topic

@Documented @Target(METHOD) @Retention(RUNTIME) public @interface Topic

- ## Required Element Summary

  Required Elements
  Modifier and Type
  Required Element
  Description
  `String`
  `name`
  Name of topic to be subscribed to.
  `String`
  `pubsubName`
  Name of the pubsub bus to be subscribed to.

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `String`
  `deadLetterTopic`
  Name of dead letter topic to forward undeliverable messages.
  `String`
  `metadata`
  Metadata in the form of a json object.
  `Rule`
  `rule`
  The rules used to match the incoming cloud event.

- ## Element Details

  - ### name

    String name
    Name of topic to be subscribed to.
    Returns:
      Topic's name.

  - ### pubsubName

    String pubsubName
    Name of the pubsub bus to be subscribed to.
    Returns:
      pubsub bus's name.

- - ### rule

    Rule rule
    The rules used to match the incoming cloud event.
    Returns:
      the CEL expression.
    Default:
      @io.dapr.Rule(match="", priority=0)

  - ### metadata

    String metadata
    Metadata in the form of a json object. { "mykey": "myvalue" }
    Returns:
      metadata object
    Default:
      "{}"

  - ### deadLetterTopic

    String deadLetterTopic
    Name of dead letter topic to forward undeliverable messages.
    Returns:
      dead letter topic's name.
    Default:
      ""