在混合模式下运行时,我遇到使用spring表达式语言的问题。
在标准解释模式中,一切似乎都正常。如果你有一个表达式说“a?.b?.c”,那么如果在对象链b上为null,则返回null,如我所料。
在混合模式下运行时会出现问题,并在100次调用后进行编译。在这种情况下,当你解析一个b为null的对象时,似乎在spring代码中抛出了一个空指针并通过重置来处理 - 但这似乎将原始编译的类留在内存中。
如果您运行的测试反复调用此例程,则最终会耗尽Perm Gen空间。
在编译表达式中使用时,似乎没有包含诸如“a?.b?.c”之类的空安全检查。
以前有人见过这个,有关于潜在解决方案/解决方法的想法吗?
谢谢!