fix(pulsar-query): 修复pulsar查询topic存在没有使用admin url

This commit is contained in:
2024-01-22 16:44:33 +08:00
parent 46b6ee4dfa
commit b7bdd25bdc

View File

@@ -20,6 +20,8 @@ import org.apache.pulsar.common.policies.data.*;
import org.eclipse.collections.api.factory.Lists;
import org.eclipse.collections.api.list.ImmutableList;
import org.eclipse.collections.api.list.MutableList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration;
@@ -51,6 +53,8 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("pulsar")
public class PulsarQueryApplication {
private static final Logger logger = LoggerFactory.getLogger(PulsarQueryApplication.class);
public static void main(String[] args) {
SpringApplication.run(PulsarQueryApplication.class, args);
}
@@ -276,8 +280,11 @@ public class PulsarQueryApplication {
@Cacheable(value = "exists-topic", sync = true)
@GetMapping("exists_topic")
public Boolean existsTopic(@RequestParam("url") String url, @RequestParam("topic") String topic) throws PulsarClientException, PulsarAdminException {
String name = name(url);
logger.info("Detected name: {}", name);
PulsarInfo info = getInfo(name);
try (PulsarAdmin admin = PulsarAdmin.builder()
.serviceHttpUrl(url)
.serviceHttpUrl(adminUrl(info))
.build()) {
List<String> tenants = admin.tenants().getTenants();
for (String tenant : tenants) {