diff --git a/pom.xml b/pom.xml
index 25038d1..fed27fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,11 +24,13 @@
2.17.2
5.11.0
2.20.0
+ 1.18.34
3.10.1
3.2.0
3.4.1
- 1.18.34
+ 1.18.20.0
+ 3.2.4
1.6.13
10.18.0
3.0.0-M6
@@ -243,7 +245,7 @@
- ShootHzj
+ shootHzj
shoothzj@gmail.com
@@ -280,7 +282,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 3.0.1
+ ${maven-gpg-plugin.version}
sign-artifacts
@@ -311,12 +313,12 @@
org.projectlombok
lombok-maven-plugin
- 1.18.20.0
+ ${lombok-maven-plugin.version}
org.projectlombok
lombok
- 1.18.24
+ ${lombok.version}
diff --git a/pulsar-admin-jdk/pom.xml b/pulsar-admin-jdk/pom.xml
index ddf8593..351ccfa 100644
--- a/pulsar-admin-jdk/pom.xml
+++ b/pulsar-admin-jdk/pom.xml
@@ -11,4 +11,15 @@
pulsar-admin-jdk
+
+
+
+ src/test/resources
+
+ **.jks
+
+
+
+
+
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/NonPersistentTopicsImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/NonPersistentTopicsImpl.java
deleted file mode 100644
index 7d13d7a..0000000
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/NonPersistentTopicsImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package io.github.protocol.pulsar;
-
-public class NonPersistentTopicsImpl extends PersistentTopicsImpl {
-
- private static final String BASE_URL_NON_PERSISTENT_DOMAIN = "/admin/v2" + "/non-persistent";
-
- public NonPersistentTopicsImpl(InnerHttpClient httpClient) {
- super(httpClient);
- }
-
- @Override
- public String getDomainBaseUrl() {
- return BASE_URL_NON_PERSISTENT_DOMAIN;
- }
-
- @Override
- public MessageIdImpl getLastMessageId(String tenant, String namespace, String encodedTopic, boolean authoritative)
- throws PulsarAdminException {
- throw new PulsarAdminException(new UnsupportedOperationException(
- "get last message id on non-persistent topic is not allowed"));
- }
-}
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BacklogQuota.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BacklogQuota.java
similarity index 92%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BacklogQuota.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BacklogQuota.java
index b14fb10..ae8e843 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BacklogQuota.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BacklogQuota.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BacklogQuotaType.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BacklogQuotaType.java
similarity index 63%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BacklogQuotaType.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BacklogQuotaType.java
index a4ce84b..d9b6179 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BacklogQuotaType.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BacklogQuotaType.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public enum BacklogQuotaType {
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PersistentTopicsImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BaseTopicsImpl.java
similarity index 87%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PersistentTopicsImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BaseTopicsImpl.java
index d2c146f..f26eee5 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PersistentTopicsImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BaseTopicsImpl.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -7,25 +7,20 @@
import java.util.List;
import java.util.Map;
-public class PersistentTopicsImpl implements Topics {
+public abstract class BaseTopicsImpl implements Topics {
protected final InnerHttpClient httpClient;
- private static final String BASE_URL_PERSISTENT_DOMAIN = "/admin/v2" + "/persistent";
-
- public PersistentTopicsImpl(InnerHttpClient httpClient) {
+ public BaseTopicsImpl(InnerHttpClient httpClient) {
this.httpClient = httpClient;
}
- public String getDomainBaseUrl() {
- return "/admin/v2" + "/persistent";
- }
+ protected abstract String getDomainBaseUrl();
@Override
public void createPartitionedTopic(String tenant, String namespace, String encodedTopic, int numPartitions,
boolean createLocalTopicOnly) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
- "/partitions");
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic, "/partitions");
try {
HttpResponse response = httpClient.put(url, numPartitions, "createLocalTopicOnly",
String.valueOf(createLocalTopicOnly));
@@ -42,8 +37,7 @@ public void createPartitionedTopic(String tenant, String namespace, String encod
@Override
public void deletePartitionedTopic(String tenant, String namespace, String encodedTopic, boolean force,
boolean authoritative) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
- "/partitions");
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic, "/partitions");
try {
HttpResponse response = httpClient.delete(url, "force", String.valueOf(force),
"authoritative", String.valueOf(authoritative));
@@ -61,8 +55,7 @@ public void deletePartitionedTopic(String tenant, String namespace, String encod
public void updatePartitionedTopic(String tenant, String namespace, String encodedTopic,
boolean updateLocalTopicOnly, boolean authoritative,
boolean force, int numPartitions) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
- "/partitions");
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic, "/partitions");
try {
HttpResponse response = httpClient.post(url, numPartitions, "updateLocalTopicOnly",
String.valueOf(updateLocalTopicOnly),
@@ -82,8 +75,7 @@ public void updatePartitionedTopic(String tenant, String namespace, String encod
public PartitionedTopicMetadata getPartitionedMetadata(String tenant, String namespace, String encodedTopic,
boolean checkAllowAutoCreation, boolean authoritative)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent",
- tenant, namespace, encodedTopic, "/partitions");
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic, "/partitions");
try {
HttpResponse response = httpClient.get(url,
"checkAllowAutoCreation", String.valueOf(checkAllowAutoCreation),
@@ -102,7 +94,7 @@ public PartitionedTopicMetadata getPartitionedMetadata(String tenant, String nam
@Override
public void createNonPartitionedTopic(String tenant, String namespace, String encodedTopic, boolean authoritative,
Map properties) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic);
+ String url = String.format("%s/%s/%s/%s", getDomainBaseUrl(), tenant, namespace, encodedTopic);
try {
HttpResponse response = httpClient.put(url, properties,
"authoritative", String.valueOf(authoritative));
@@ -119,7 +111,7 @@ public void createNonPartitionedTopic(String tenant, String namespace, String en
@Override
public void deleteTopic(String tenant, String namespace, String encodedTopic, boolean force, boolean authoritative)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic);
+ String url = String.format("%s/%s/%s/%s", getDomainBaseUrl(), tenant, namespace, encodedTopic);
try {
HttpResponse response = httpClient.delete(url,
"force", String.valueOf(force),
@@ -137,7 +129,7 @@ public void deleteTopic(String tenant, String namespace, String encodedTopic, bo
@Override
public List getList(String tenant, String namespace, String bundle, boolean includeSystemTopic)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s", "/admin/v2" + "/persistent", tenant, namespace);
+ String url = String.format("%s/%s/%s", getDomainBaseUrl(), tenant, namespace);
try {
HttpResponse response;
if (bundle != null) {
@@ -164,7 +156,7 @@ public List getList(String tenant, String namespace, String bundle, bool
@Override
public List getPartitionedTopicList(String tenant, String namespace, boolean includeSystemTopic)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, UrlConst.PARTITIONED);
+ String url = String.format("%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, UrlConst.PARTITIONED);
try {
HttpResponse response = httpClient.get(url, "includeSystemTopic",
String.valueOf(includeSystemTopic));
@@ -184,7 +176,7 @@ public List getPartitionedTopicList(String tenant, String namespace, boo
@Override
public void createMissedPartitions(String tenant, String namespace, String encodedTopic)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.CREATE_MISSED_PARTITIONS);
try {
HttpResponse response = httpClient.post(url);
@@ -202,7 +194,7 @@ public void createMissedPartitions(String tenant, String namespace, String encod
@Override
public MessageIdImpl getLastMessageId(String tenant, String namespace, String encodedTopic, boolean authoritative)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.LAST_MESSAGE_ID);
try {
HttpResponse response = httpClient.get(url, "authoritative", String.valueOf(authoritative));
@@ -220,7 +212,7 @@ public MessageIdImpl getLastMessageId(String tenant, String namespace, String en
@Override
public RetentionPolicies getRetention(String tenant, String namespace, String encodedTopic, boolean isGlobal,
boolean applied, boolean authoritative) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.RETENTION);
try {
HttpResponse response = httpClient.get(url,
@@ -241,7 +233,7 @@ public RetentionPolicies getRetention(String tenant, String namespace, String en
@Override
public void setRetention(String tenant, String namespace, String encodedTopic, boolean authoritative,
boolean isGlobal, RetentionPolicies retention) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.RETENTION);
try {
HttpResponse response = httpClient.post(url, retention,
@@ -260,7 +252,7 @@ public void setRetention(String tenant, String namespace, String encodedTopic, b
@Override
public void removeRetention(String tenant, String namespace, String encodedTopic, boolean authoritative)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.RETENTION);
try {
HttpResponse response = httpClient.delete(url, "authoritative", String.valueOf(authoritative));
@@ -279,7 +271,7 @@ public Map getBacklogQuotaMap(String tenant, Str
String encodedTopic, boolean applied,
boolean authoritative, boolean isGlobal)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.BACKLOG_QUOTA_MAP);
try {
HttpResponse response = httpClient.get(url,
@@ -302,7 +294,7 @@ public Map getBacklogQuotaMap(String tenant, Str
public void setBacklogQuota(String tenant, String namespace, String encodedTopic, boolean authoritative,
boolean isGlobal, BacklogQuotaType backlogQuotaType, BacklogQuota backlogQuota)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.BACKLOG_QUOTA);
try {
HttpResponse response = httpClient.post(url, backlogQuota,
@@ -323,7 +315,7 @@ public void setBacklogQuota(String tenant, String namespace, String encodedTopic
public void removeBacklogQuota(String tenant, String namespace, String encodedTopic,
BacklogQuotaType backlogQuotaType, boolean authoritative, boolean isGlobal)
throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.BACKLOG_QUOTA);
try {
HttpResponse response = httpClient.delete(url,
@@ -343,7 +335,7 @@ public void removeBacklogQuota(String tenant, String namespace, String encodedTo
@Override
public PersistentOfflineTopicStats getBacklog(String tenant, String namespace, String encodedTopic,
boolean authoritative) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.BACKLOG);
try {
HttpResponse response = httpClient.get(url, "authoritative", String.valueOf(authoritative));
@@ -361,7 +353,7 @@ public PersistentOfflineTopicStats getBacklog(String tenant, String namespace, S
@Override
public long getBacklogSizeByMessageId(String tenant, String namespace, String encodedTopic, boolean authoritative,
MessageIdImpl messageId) throws PulsarAdminException {
- String url = String.format("%s/%s/%s/%s%s", "/admin/v2" + "/persistent", tenant, namespace, encodedTopic,
+ String url = String.format("%s/%s/%s/%s%s", getDomainBaseUrl(), tenant, namespace, encodedTopic,
UrlConst.BACKLOG_SIZE);
try {
HttpResponse response = httpClient.put(url, messageId, "authoritative",
@@ -376,5 +368,4 @@ public long getBacklogSizeByMessageId(String tenant, String namespace, String en
throw new PulsarAdminException(e);
}
}
-
}
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Brokers.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Brokers.java
similarity index 95%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Brokers.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Brokers.java
index 88f3245..c17c87b 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Brokers.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Brokers.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public interface Brokers {
void healthcheck(TopicVersion topicVersion) throws PulsarAdminException;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BrokersImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BrokersImpl.java
similarity index 97%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BrokersImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BrokersImpl.java
index 6b9fb96..bdc86bf 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/BrokersImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/BrokersImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.net.http.HttpResponse;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Clusters.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Clusters.java
similarity index 72%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Clusters.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Clusters.java
index 21ecfcf..9434bd4 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Clusters.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Clusters.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.util.List;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/ClustersImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/ClustersImpl.java
similarity index 95%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/ClustersImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/ClustersImpl.java
index f884659..c782762 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/ClustersImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/ClustersImpl.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Configuration.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Configuration.java
similarity index 96%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Configuration.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Configuration.java
index a96c480..78452b1 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Configuration.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Configuration.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.Getter;
import lombok.Setter;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/InnerHttpClient.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java
similarity index 99%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/InnerHttpClient.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java
index f4a828d..c758523 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/InnerHttpClient.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClient.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import com.fasterxml.jackson.core.JsonProcessingException;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/InsecureTrustManager.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/InsecureTrustManager.java
similarity index 96%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/InsecureTrustManager.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/InsecureTrustManager.java
index 45a9d68..5a2dfa1 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/InsecureTrustManager.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/InsecureTrustManager.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/JacksonService.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/JacksonService.java
similarity index 98%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/JacksonService.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/JacksonService.java
index 4e85317..1c22805 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/JacksonService.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/JacksonService.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/MessageIdImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/MessageIdImpl.java
similarity index 93%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/MessageIdImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/MessageIdImpl.java
index 9193b30..47c4adf 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/MessageIdImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/MessageIdImpl.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Mode.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Mode.java
similarity index 59%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Mode.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Mode.java
index c492054..acf592c 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Mode.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Mode.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public enum Mode {
PERSISTENT,
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Namespaces.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Namespaces.java
similarity index 98%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Namespaces.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Namespaces.java
index d97d772..5baf0dd 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Namespaces.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Namespaces.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.util.List;
import java.util.Map;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/NamespacesImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/NamespacesImpl.java
similarity index 99%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/NamespacesImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/NamespacesImpl.java
index c29965c..6f7a169 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/NamespacesImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/NamespacesImpl.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsImpl.java
new file mode 100644
index 0000000..830732d
--- /dev/null
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsImpl.java
@@ -0,0 +1,16 @@
+package io.github.protocol.pulsar.admin.jdk;
+
+public class NonPersistentTopicsImpl extends BaseTopicsImpl {
+
+ private static final String BASE_URL_NON_PERSISTENT_DOMAIN = "/admin/v2" + "/non-persistent";
+
+ public NonPersistentTopicsImpl(InnerHttpClient httpClient) {
+ super(httpClient);
+ }
+
+ @Override
+ public String getDomainBaseUrl() {
+ return BASE_URL_NON_PERSISTENT_DOMAIN;
+ }
+
+}
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PAdmin.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PAdmin.java
similarity index 84%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PAdmin.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PAdmin.java
index 8accb40..d723d09 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PAdmin.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PAdmin.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public class PAdmin {
public static void main(String[] args) {
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PartitionedTopicMetadata.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PartitionedTopicMetadata.java
similarity index 90%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PartitionedTopicMetadata.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PartitionedTopicMetadata.java
index b4ddfbc..4401d55 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PartitionedTopicMetadata.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PartitionedTopicMetadata.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PersistentOfflineTopicStats.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PersistentOfflineTopicStats.java
similarity index 96%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PersistentOfflineTopicStats.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PersistentOfflineTopicStats.java
index 386d7b8..28330bf 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PersistentOfflineTopicStats.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PersistentOfflineTopicStats.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsImpl.java
new file mode 100644
index 0000000..5541c35
--- /dev/null
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsImpl.java
@@ -0,0 +1,14 @@
+package io.github.protocol.pulsar.admin.jdk;
+
+public class PersistentTopicsImpl extends BaseTopicsImpl {
+
+ private static final String BASE_URL_PERSISTENT_DOMAIN = "/admin/v2" + "/persistent";
+
+ public PersistentTopicsImpl(InnerHttpClient httpClient) {
+ super(httpClient);
+ }
+
+ public String getDomainBaseUrl() {
+ return BASE_URL_PERSISTENT_DOMAIN;
+ }
+}
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdmin.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdmin.java
similarity index 96%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdmin.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdmin.java
index 8cc1f76..edf9e30 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdmin.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdmin.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public interface PulsarAdmin {
static PulsarAdminBuilder builder() {
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminBuilder.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminBuilder.java
similarity index 96%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminBuilder.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminBuilder.java
index 93a2392..b6d84e1 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminBuilder.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminBuilder.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public interface PulsarAdminBuilder {
PulsarAdmin build();
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminBuilderImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminBuilderImpl.java
similarity index 98%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminBuilderImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminBuilderImpl.java
index 2275ddb..90ba84c 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminBuilderImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminBuilderImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public class PulsarAdminBuilderImpl implements PulsarAdminBuilder {
private final Configuration conf;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminException.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminException.java
similarity index 96%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminException.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminException.java
index 3e1667c..b844eaa 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminException.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminException.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public class PulsarAdminException extends Exception {
private static final int DEFAULT_STATUS_CODE = 500;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminImpl.java
similarity index 97%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminImpl.java
index 7e306ab..982f97d 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/PulsarAdminImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/PulsarAdminImpl.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public class PulsarAdminImpl implements PulsarAdmin {
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/RetentionPolicies.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/RetentionPolicies.java
similarity index 90%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/RetentionPolicies.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/RetentionPolicies.java
index 86ecdcb..ae72e6f 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/RetentionPolicies.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/RetentionPolicies.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.AllArgsConstructor;
import lombok.Builder;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/RetentionPolicy.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/RetentionPolicy.java
similarity index 90%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/RetentionPolicy.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/RetentionPolicy.java
index f5d1cd4..a2aa069 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/RetentionPolicy.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/RetentionPolicy.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public enum RetentionPolicy {
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/SslContextUtil.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/SslContextUtil.java
similarity index 94%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/SslContextUtil.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/SslContextUtil.java
index 0e8fa7b..a4c35c2 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/SslContextUtil.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/SslContextUtil.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.io.FileInputStream;
import java.security.KeyStore;
@@ -83,11 +83,6 @@ public static SSLContext buildFromJks(String keyStorePath,
sslParameters.setCipherSuites(tlsCiphers);
}
- if (disableSslVerify) {
- // FIXME: This can't really disable ssl verification
- sslContext.getDefaultSSLParameters().setEndpointIdentificationAlgorithm(null);
- }
-
return sslContext;
} catch (Exception e) {
throw new IllegalStateException(e);
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TenantInfo.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TenantInfo.java
similarity index 89%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TenantInfo.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TenantInfo.java
index 3ae65bb..3ca4a67 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TenantInfo.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TenantInfo.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import lombok.AllArgsConstructor;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Tenants.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Tenants.java
similarity index 90%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Tenants.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Tenants.java
index 68b79ba..14d0365 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Tenants.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Tenants.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.util.List;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TenantsImpl.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TenantsImpl.java
similarity index 98%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TenantsImpl.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TenantsImpl.java
index 8c90317..47753e0 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TenantsImpl.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TenantsImpl.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TopicVersion.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TopicVersion.java
similarity index 94%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TopicVersion.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TopicVersion.java
index cc9742a..3278d73 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/TopicVersion.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/TopicVersion.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public enum TopicVersion {
V1,
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Topics.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Topics.java
similarity index 98%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Topics.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Topics.java
index d80b5c5..25c1967 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/Topics.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/Topics.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.util.List;
import java.util.Map;
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/UrlConst.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/UrlConst.java
similarity index 97%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/UrlConst.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/UrlConst.java
index e2dd67a..3856d62 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/UrlConst.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/UrlConst.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
public class UrlConst {
diff --git a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/package-info.java b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/package-info.java
similarity index 94%
rename from pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/package-info.java
rename to pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/package-info.java
index c77fecb..7f2645f 100644
--- a/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/package-info.java
+++ b/pulsar-admin-jdk/src/main/java/io/github/protocol/pulsar/admin/jdk/package-info.java
@@ -16,4 +16,4 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/BrokersTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java
similarity index 97%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/BrokersTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java
index 25a2163..3f601e7 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/BrokersTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/BrokersTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.junit.jupiter.api.AfterAll;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/ClustersTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java
similarity index 94%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/ClustersTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java
index 2bbae28..0079a7a 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/ClustersTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/ClustersTest.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.junit.jupiter.api.AfterAll;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/InnerHttpClientTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClientTest.java
similarity index 96%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/InnerHttpClientTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClientTest.java
index a850c18..df8a252 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/InnerHttpClientTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/InnerHttpClientTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/NamespacesTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java
similarity index 99%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/NamespacesTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java
index d5b6fe6..749e905 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/NamespacesTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/NamespacesTest.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.junit.jupiter.api.AfterAll;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/NonPersistentTopicsTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java
similarity index 98%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/NonPersistentTopicsTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java
index 1a9cba1..1bd6943 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/NonPersistentTopicsTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/NonPersistentTopicsTest.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.junit.jupiter.api.AfterAll;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/PersistentTopicsTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java
similarity index 99%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/PersistentTopicsTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java
index 4785bd8..9636a76 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/PersistentTopicsTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/PersistentTopicsTest.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.awaitility.Awaitility;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/RandomUtil.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/RandomUtil.java
similarity index 93%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/RandomUtil.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/RandomUtil.java
index 9580b94..e64f0df 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/RandomUtil.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/RandomUtil.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import java.util.Random;
import java.util.UUID;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TenantsTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java
similarity index 97%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TenantsTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java
index 17fbeaf..2a3affc 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TenantsTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TenantsTest.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
import org.junit.jupiter.api.AfterAll;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TlsClientTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java
similarity index 99%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TlsClientTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java
index 38e2cbf..7e4b65c 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TlsClientTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientTest.java
@@ -1,4 +1,4 @@
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarConfig;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;
diff --git a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TlsClientWrongHostTest.java b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java
similarity index 98%
rename from pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TlsClientWrongHostTest.java
rename to pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java
index cd4d683..5679241 100644
--- a/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/TlsClientWrongHostTest.java
+++ b/pulsar-admin-jdk/src/test/java/io/github/protocol/pulsar/admin/jdk/TlsClientWrongHostTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package io.github.protocol.pulsar;
+package io.github.protocol.pulsar.admin.jdk;
import io.github.embedded.pulsar.core.EmbeddedPulsarConfig;
import io.github.embedded.pulsar.core.EmbeddedPulsarServer;