Class TopicLookup
java.lang.Object
org.apache.pulsar.broker.web.PulsarWebResource
org.apache.pulsar.broker.lookup.TopicLookupBase
org.apache.pulsar.broker.lookup.v1.TopicLookup
The path for this handler is marked as "v2" even though it refers to Pulsar 1.x topic name format.
The lookup API was already
/v2/ in Pulsar 1.x. This was internally versioned at Yahoo to not clash with
an earlier API.
Since we're adding now the "Pulsar v2" we cannot rename this topic lookup into /v1. Rather the
difference here would be : lookup/v2/destination/persistent/prop/cluster/ns/topic vs
lookup/v2/topic/persistent/prop/ns/topic.-
Field Summary
Fields inherited from class org.apache.pulsar.broker.web.PulsarWebResource
httpRequest, servletContext, uri -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetNamespaceBundle(String topicDomain, String property, String cluster, String namespace, String encodedTopic) voidlookupTopicAsync(javax.ws.rs.container.AsyncResponse asyncResponse, String topicDomain, String property, String cluster, String namespace, String encodedTopic, boolean authoritative, String listenerName, String listenerNameHeader) Methods inherited from class org.apache.pulsar.broker.lookup.TopicLookupBase
getTopicName, getTopicName, internalGetNamespaceBundle, internalLookupTopicAsync, lookupTopicAsync, lookupTopicAsyncMethods inherited from class org.apache.pulsar.broker.web.PulsarWebResource
bookieResources, canUpdateCluster, checkAuthorizationAsync, checkLocalOrGetPeerReplicationCluster, checkLocalOrGetPeerReplicationCluster, clientAppId, clientAuthData, clusterResources, config, dynamicConfigurationResources, getClusterDataIfDifferentCluster, getLocalPolicies, getPulsarResources, hasActiveNamespace, hasSuperUserAccess, isBundleOwnedByAnyBroker, isClientAuthenticated, isLeaderBroker, isLeaderBroker, isRequestHttps, jsonMapper, namespaceIsolationPolicies, namespaceResources, originalPrincipal, pulsar, resourceGroupResources, resumeAsyncResponseExceptionally, setPulsar, splitPath, sync, tenantResources, topicResources, validateAdminAccessForTenant, validateAdminAccessForTenant, validateAdminAccessForTenantAsync, validateAdminAccessForTenantAsync, validateBrokerName, validateBundleOwnership, validateBundleOwnership, validateBundleOwnershipAsync, validateClusterExists, validateClusterForTenant, validateClusterForTenantAsync, validateClusterOwnership, validateClusterOwnershipAsync, validateGlobalNamespaceOwnership, validateGlobalNamespaceOwnershipAsync, validateNamespaceBundleOwnership, validateNamespaceBundleOwnershipAsync, validateNamespaceBundleRange, validateNamespaceOperation, validateNamespaceOperationAsync, validateNamespacePolicyOperation, validateNamespacePolicyOperationAsync, validatePeerClusterConflict, validatePeerClusterConflictAsync, validatePoliciesReadOnlyAccess, validatePoliciesReadOnlyAccessAsync, validateSuperUserAccess, validateSuperUserAccessAsync, validateTenantOperation, validateTenantOperationAsync, validateTopicOperation, validateTopicOperation, validateTopicOperationAsync, validateTopicOperationAsync, validateTopicOwnership, validateTopicOwnershipAsync, validateTopicPolicyOperation, validateTopicPolicyOperationAsync
-
Constructor Details
-
TopicLookup
public TopicLookup()
-
-
Method Details
-
lookupTopicAsync
@GET @Path("{topic-domain}/{property}/{cluster}/{namespace}/{topic}") @Produces("application/json") public void lookupTopicAsync(@Suspended javax.ws.rs.container.AsyncResponse asyncResponse, @PathParam("topic-domain") String topicDomain, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic, @QueryParam("authoritative") @DefaultValue("false") boolean authoritative, @QueryParam("listenerName") String listenerName, @HeaderParam("X-Pulsar-ListenerName") String listenerNameHeader) -
getNamespaceBundle
@GET @Path("{topic-domain}/{property}/{cluster}/{namespace}/{topic}/bundle") @Produces("application/json") public String getNamespaceBundle(@PathParam("topic-domain") String topicDomain, @PathParam("property") String property, @PathParam("cluster") String cluster, @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic)
-