diff --git a/README.md b/README.md
index e7a8bc3..837abaf 100644
--- a/README.md
+++ b/README.md
@@ -151,7 +151,7 @@
 #### Introduction
 
 Pulsar Manager bundles JDBC Drivers for [HerdDB](https://github.com/diennea/herddb).
-The default confguration starts and embedded in-memory only HerdDB database.
+The default configuration starts and embedded in-memory only HerdDB database.
 
 HerdDB can be used in production, you just have to use the  correct JDBC URL.
 Follow the instructions in [application.properties](https://github.com/apache/pulsar-manager/blob/master/src/main/resources/application.properties) to switch the connection to a standalone HerdDB service or cluster.
diff --git a/src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java b/src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java
index 4fea44b..0f75bf3 100644
--- a/src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/BrokerStatsController.java
@@ -30,7 +30,7 @@
 import javax.servlet.http.HttpServletRequest;
 
 /**
- * Broker Stats route foward
+ * Broker Stats route forward.
  */
 @RequestMapping(value = "/pulsar-manager/admin/v2")
 @Api(description = "Support more flexible queries to brokerStats.")
@@ -56,7 +56,7 @@
     public ResponseEntity<String> getBrokerStatsMetrics(
             @RequestParam() String broker) {
         String requestHost = environmentCacheService.getServiceUrl(request);
-        String result = brokerStatsService.forwarBrokerStatsMetrics(broker, requestHost);
+        String result = brokerStatsService.forwardBrokerStatsMetrics(broker, requestHost);
         return ResponseEntity.ok(result);
     }
 
diff --git a/src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java b/src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java
index a3a758b..ab3296d 100644
--- a/src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/BrokerTokensController.java
@@ -81,7 +81,7 @@
         }
         String token = jwtService.createBrokerToken(brokerTokenEntity.getRole(), null);
         if (token == null) {
-            result.put("error", "Token gennerate failed");
+            result.put("error", "Token generate failed");
             return ResponseEntity.ok(result);
         }
         brokerTokenEntity.setToken(token);
diff --git a/src/main/java/org/apache/pulsar/manager/controller/ClustersController.java b/src/main/java/org/apache/pulsar/manager/controller/ClustersController.java
index c8fc738..446ba13 100644
--- a/src/main/java/org/apache/pulsar/manager/controller/ClustersController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/ClustersController.java
@@ -34,7 +34,7 @@
 import java.util.Map;
 
 /**
- * Cluster rest api
+ * Cluster rest api.
  */
 @RestController
 @RequestMapping(value = "/pulsar-manager/admin/v2")
diff --git a/src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java b/src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java
index 587eadf..56d56aa 100644
--- a/src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/EnvironmentsController.java
@@ -41,7 +41,7 @@
 import java.util.Optional;
 
 /**
- * Environments for dynamic change connecton broker.
+ * Environments for dynamic change connection broker.
  */
 @RequestMapping(value = "/pulsar-manager")
 @Api(description = "Support change environments")
diff --git a/src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java b/src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java
index 8976e97..a60e53b 100644
--- a/src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java
+++ b/src/main/java/org/apache/pulsar/manager/controller/NamespacesController.java
@@ -36,7 +36,7 @@
 import java.util.Map;
 
 /**
- * Namespace Controller class
+ * Namespace Controller class.
  */
 @RequestMapping(value = "/pulsar-manager/admin/v2")
 @Api(description = "Support more flexible queries to namespaces.")
diff --git a/src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java b/src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java
index 8e75d3b..c7fa187 100644
--- a/src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java
+++ b/src/main/java/org/apache/pulsar/manager/service/BrokerStatsService.java
@@ -15,7 +15,7 @@
 
 public interface BrokerStatsService {
 
-    String forwarBrokerStatsMetrics(String broker, String requestHost);
+    String forwardBrokerStatsMetrics(String broker, String requestHost);
 
     String forwardBrokerStatsTopics(String broker, String requestHost);
 
diff --git a/src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
index 5a52e51..ed78b08 100644
--- a/src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/BrokerStatsServiceImpl.java
@@ -100,7 +100,7 @@
         put("Content-Type","application/json");
     }};
 
-    public String forwarBrokerStatsMetrics(String broker, String requestHost) {
+    public String forwardBrokerStatsMetrics(String broker, String requestHost) {
         if (StringUtils.isNotBlank(pulsarJwtToken)) {
             header.put("Authorization", String.format("Bearer %s", pulsarJwtToken));
         }
diff --git a/src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java b/src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java
index 34abde9..85e3c17 100644
--- a/src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java
+++ b/src/main/java/org/apache/pulsar/manager/service/impl/TopicsServiceImpl.java
@@ -49,7 +49,7 @@
     public static final String PARTITIONED_TOPIC_SUFFIX = "-partition-";
 
 
-    private boolean isPartitonedTopic(List<String> topics, String topic) {
+    private boolean isPartitionedTopic(List<String> topics, String topic) {
         if (topic.contains(PARTITIONED_TOPIC_SUFFIX)) {
             String[] t = topic.split(PARTITIONED_TOPIC_SUFFIX);
             if (topics != null && topics.contains(t[0])) {
@@ -202,13 +202,13 @@
         header.put("Content-Type", "application/json");
         String prefix = "/admin/v2/" + persistent + "/" + tenant + "/" + namespace;
         Gson gson = new Gson();
-        String partitonedUrl = requestHost + prefix + "/partitioned";
-        String partitonedTopic = HttpUtil.doGet(partitonedUrl, header);
+        String partitionedUrl = requestHost + prefix + "/partitioned";
+        String partitionedTopic = HttpUtil.doGet(partitionedUrl, header);
         List<String> partitionedTopicsList = Arrays.asList();
         Map<String, List<String>> partitionedMap = Maps.newHashMap();
-        if (partitonedTopic != null) {
+        if (partitionedTopic != null) {
             partitionedTopicsList = gson.fromJson(
-                    partitonedTopic, new TypeToken<List<String>>(){}.getType());
+                    partitionedTopic, new TypeToken<List<String>>(){}.getType());
             for (String p : partitionedTopicsList) {
                 if (p.startsWith(persistent)) {
                     partitionedMap.put(this.getTopicName(p), new ArrayList<>());
@@ -225,7 +225,7 @@
                 if (topic.startsWith(persistent)) {
                     String topicName = this.getTopicName(topic);
                     Map<String, String> topicEntity = Maps.newHashMap();
-                    if (isPartitonedTopic(partitionedTopicsList, topic)) {
+                    if (isPartitionedTopic(partitionedTopicsList, topic)) {
                         String[] name = topicName.split(PARTITIONED_TOPIC_SUFFIX);
                         partitionedMap.get(name[0]).add(topicName);
                     } else {
diff --git a/src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java b/src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java
index a865d81..b2f9385 100644
--- a/src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java
+++ b/src/test/java/org/apache/pulsar/manager/service/TopicsServiceImplTest.java
@@ -91,7 +91,7 @@
     }
 
     @Test
-    public void getTopicsStatsImpleTest() {
+    public void getTopicsStatsImplTest() {
         PowerMockito.mockStatic(HttpUtil.class);
         Map<String, String> header = Maps.newHashMap();
         header.put("Content-Type", "application/json");
