diff --git a/core/src/main/java/com/taobao/arthas/core/command/express/OgnlExpress.java b/core/src/main/java/com/taobao/arthas/core/command/express/OgnlExpress.java index f29bd31d254..0df29eff441 100644 --- a/core/src/main/java/com/taobao/arthas/core/command/express/OgnlExpress.java +++ b/core/src/main/java/com/taobao/arthas/core/command/express/OgnlExpress.java @@ -33,7 +33,9 @@ public OgnlExpress(ClassResolver classResolver) { @Override public Object get(String express) throws ExpressException { try { - return Ognl.getValue(express, context, bindObject); + synchronized (express.intern()) { + return Ognl.getValue(express, context, bindObject); + } } catch (Exception e) { logger.error("Error during evaluating the expression:", e); throw new ExpressException(express, e);