You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by aa...@apache.org on 2022/11/08 16:21:56 UTC

[rocketmq-clients] branch master updated: Polish ProcessIdConverter

This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git


The following commit(s) were added to refs/heads/master by this push:
     new b3d7d6c  Polish ProcessIdConverter
b3d7d6c is described below

commit b3d7d6c051ea85228895de67714424b4ef5b0e66
Author: Aaron Ai <ya...@gmail.com>
AuthorDate: Tue Nov 8 19:01:44 2022 +0800

    Polish ProcessIdConverter
---
 .../client/java/logging/ProcessIdConverter.java    | 32 ++++++++--------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/java/client/src/main/java/org/apache/rocketmq/client/java/logging/ProcessIdConverter.java b/java/client/src/main/java/org/apache/rocketmq/client/java/logging/ProcessIdConverter.java
index 43c13dc..d2249d8 100644
--- a/java/client/src/main/java/org/apache/rocketmq/client/java/logging/ProcessIdConverter.java
+++ b/java/client/src/main/java/org/apache/rocketmq/client/java/logging/ProcessIdConverter.java
@@ -20,32 +20,22 @@ package org.apache.rocketmq.client.java.logging;
 import ch.qos.logback.classic.pattern.ClassicConverter;
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import java.lang.management.ManagementFactory;
-import java.lang.management.RuntimeMXBean;
 
 public class ProcessIdConverter extends ClassicConverter {
-    private static final long PROCESS_ID_NOT_SET = -2L;
     private static final long PROCESS_ID_NOT_FOUND = -1L;
-    private static long PROCESS_ID = -2L;
-
-    public ProcessIdConverter() {
-    }
-
-    public String convert(ILoggingEvent iLoggingEvent) {
-        return String.valueOf(this.processId());
+    private static final String PROCESS_ID = String.valueOf(getProcessId());
+
+    private static long getProcessId() {
+        try {
+            String processName = ManagementFactory.getRuntimeMXBean().getName();
+            return Long.parseLong(processName.split("@")[0]);
+        } catch (Throwable t) {
+            return PROCESS_ID_NOT_FOUND;
+        }
     }
 
-    private long processId() {
-        if (PROCESS_ID_NOT_SET == PROCESS_ID) {
-            RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
-            String name = runtime.getName();
-
-            try {
-                PROCESS_ID = Integer.parseInt(name.substring(0, name.indexOf(64)));
-            } catch (Throwable var4) {
-                PROCESS_ID = PROCESS_ID_NOT_FOUND;
-            }
-
-        }
+    @Override
+    public String convert(ILoggingEvent event) {
         return PROCESS_ID;
     }
 }