Рассмотрим вызов метода ниже:
$obj.get('PARAM');
где 'PARAM'
- статическая строка, то есть константа.
В идеале, MVEL должен компилировать аргумент как тип LITERAL, а не перекомпилировать его во время выполнения.
Мы используем
MVEL.compileExpression("$obj.get('PARAM')", parserContext)
Итак, после компиляции мы ожидали, что это будет что-то похожее на ниже
$obj.get(Literal<PARAM>)
Но мы заметили, что аргумент метода не обрабатывается как LITERAL, даже если он перекомпилирован и перекомпилирован.
Мы не хотим, чтобы MVEL перекомпилировал его во время выполнения, т.е. когда вызывается 'MVEL.executeExpression(...)
'.
Кто-нибудь наблюдал это или знает, как можно пропустить повторную компиляцию во время выполнения или какое-либо свойство, которое можно установить, чтобы избежать этого?
Буду очень признателен за любую помощь в этом!