Class PersistentTopics

Direct Known Subclasses:
NonPersistentTopics

@Path("/persistent") @Produces("application/json") public class PersistentTopics extends PersistentTopicsBase
  • Constructor Details

    • PersistentTopics

      public PersistentTopics()
  • Method Details

    • getList

      @GET @Path("/{property}/{cluster}/{namespace}") public void getList(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @QueryParam("bundle") String bundle)
    • getPartitionedTopicList

      @GET @Path("/{property}/{cluster}/{namespace}/partitioned") public void getPartitionedTopicList(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace)
    • getPermissionsOnTopic

      @GET @Path("/{property}/{cluster}/{namespace}/{topic}/permissions") public void getPermissionsOnTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic)
    • grantPermissionsOnTopic

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/permissions/{role}") public void grantPermissionsOnTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("role") String role, Set<org.apache.pulsar.common.policies.data.AuthAction> actions)
    • revokePermissionsOnTopic

      @DELETE @Path("/{property}/{cluster}/{namespace}/{topic}/permissions/{role}") public void revokePermissionsOnTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("role") String role)
    • createPartitionedTopic

      @PUT @Path("/{property}/{cluster}/{namespace}/{topic}/partitions") public void createPartitionedTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, int numPartitions, @QueryParam("createLocalTopicOnly") @DefaultValue("false") boolean createLocalTopicOnly)
    • createNonPartitionedTopic

      @PUT @Path("/{tenant}/{cluster}/{namespace}/{topic}") public void createNonPartitionedTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("tenant") String tenant, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • updatePartitionedTopic

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/partitions") public void updatePartitionedTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("updateLocalTopicOnly") @DefaultValue("false") boolean updateLocalTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, @QueryParam("force") @DefaultValue("false") boolean force, int numPartitions)
      It updates number of partitions of an existing partitioned topic. It requires partitioned-topic to be already exist and number of new partitions must be greater than existing number of partitions. Decrementing number of partitions requires deletion of topic which is not supported.
    • getPartitionedMetadata

      @GET @Path("/{property}/{cluster}/{namespace}/{topic}/partitions") public void getPartitionedMetadata(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, @QueryParam("checkAllowAutoCreation") @DefaultValue("false") boolean checkAllowAutoCreation)
    • deletePartitionedTopic

      @DELETE @Path("/{property}/{cluster}/{namespace}/{topic}/partitions") public void deletePartitionedTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("force") @DefaultValue("false") boolean force, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • unloadTopic

      @PUT @Path("/{property}/{cluster}/{namespace}/{topic}/unload") public void unloadTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • deleteTopic

      @DELETE @Path("/{property}/{cluster}/{namespace}/{topic}") public void deleteTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("force") @DefaultValue("false") boolean force, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getSubscriptions

      @GET @Path("/{property}/{cluster}/{namespace}/{topic}/subscriptions") public void getSubscriptions(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getStats

      @GET @Path("{property}/{cluster}/{namespace}/{topic}/stats") public void getStats(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, @QueryParam("getPreciseBacklog") @DefaultValue("false") boolean getPreciseBacklog)
    • getInternalStats

      @GET @Path("{property}/{cluster}/{namespace}/{topic}/internalStats") public void getInternalStats(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, @QueryParam("metadata") @DefaultValue("false") boolean metadata)
    • getManagedLedgerInfo

      @GET @Path("{property}/{cluster}/{namespace}/{topic}/internal-info") public void getManagedLedgerInfo(@PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getPartitionedStats

      @GET @Path("{property}/{cluster}/{namespace}/{topic}/partitioned-stats") public void getPartitionedStats(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("perPartition") @DefaultValue("true") boolean perPartition, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getPartitionedStatsInternal

      @GET @Path("{property}/{cluster}/{namespace}/{topic}/partitioned-internalStats") public void getPartitionedStatsInternal(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • deleteSubscription

      @DELETE @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}") public void deleteSubscription(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @QueryParam("force") @DefaultValue("false") boolean force, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • skipAllMessages

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/skip_all") public void skipAllMessages(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • skipMessages

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/skip/{numMessages}") public void skipMessages(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @PathParam("numMessages") int numMessages, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • expireTopicMessages

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/expireMessages/{expireTimeInSeconds}") public void expireTopicMessages(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @PathParam("expireTimeInSeconds") int expireTimeInSeconds, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • expireTopicMessages

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/expireMessages") public void expireTopicMessages(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, ResetCursorData resetCursorData)
    • expireMessagesForAllSubscriptions

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/all_subscription/expireMessages/{expireTimeInSeconds}") public void expireMessagesForAllSubscriptions(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("expireTimeInSeconds") int expireTimeInSeconds, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • resetCursor

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/resetcursor/{timestamp}") public void resetCursor(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @PathParam("timestamp") long timestamp, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • resetCursorOnPosition

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/resetcursor") public void resetCursorOnPosition(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, ResetCursorData resetCursorData)
    • createSubscription

      @PUT @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subscriptionName}") public void createSubscription(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String topic, @PathParam("subscriptionName") String encodedSubName, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, MessageIdImpl messageId, @QueryParam("replicated") boolean replicated)
    • peekNthMessage

      @GET @Path("/{property}/{cluster}/{namespace}/{topic}/subscription/{subName}/position/{messagePosition}") public void peekNthMessage(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @PathParam("messagePosition") int messagePosition, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getMessageByID

      @GET @Path("/{property}/{cluster}/{namespace}/{topic}/ledger/{ledgerId}/entry/{entryId}") public void getMessageByID(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("ledgerId") Long ledgerId, @PathParam("entryId") Long entryId, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getBacklog

      @GET @Path("{property}/{cluster}/{namespace}/{topic}/backlog") public void getBacklog(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • terminate

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/terminate") public void terminate(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • terminatePartitionedTopic

      @POST @Path("/{property}/{cluster}/{namespace}/{topic}/terminate/partitions") public void terminatePartitionedTopic(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • compact

      @PUT @Path("/{property}/{cluster}/{namespace}/{topic}/compaction") public void compact(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • compactionStatus

      @GET @Path("/{property}/{cluster}/{namespace}/{topic}/compaction") public void compactionStatus(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • triggerOffload

      @PUT @Path("/{tenant}/{cluster}/{namespace}/{topic}/offload") public void triggerOffload(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("tenant") String tenant, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, MessageIdImpl messageId)
    • offloadStatus

      @GET @Path("/{tenant}/{cluster}/{namespace}/{topic}/offload") public void offloadStatus(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("tenant") String tenant, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • getLastMessageId

      @GET @Path("/{tenant}/{cluster}/{namespace}/{topic}/lastMessageId") public void getLastMessageId(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("tenant") String tenant, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)
    • setReplicatedSubscriptionStatus

      @POST @Path("/{tenant}/{cluster}/{namespace}/{topic}/subscription/{subName}/replicatedSubscriptionStatus") public void setReplicatedSubscriptionStatus(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("tenant") String tenant, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, boolean enabled)
    • getReplicatedSubscriptionStatus

      @GET @Path("/{tenant}/{cluster}/{namespace}/{topic}/subscription/{subName}/replicatedSubscriptionStatus") public void getReplicatedSubscriptionStatus(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("tenant") String tenant, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @PathParam("subName") String encodedSubName, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative)