Java 为每个请求初始化静态变量
下面是一个场景,当我收到一个rest请求时,我必须进行一些xml转换,为了构建一些xml元素,我触发了一个java代码来为我构建它。比如说,Java 为每个请求初始化静态变量,java,xml,rest,Java,Xml,Rest,下面是一个场景,当我收到一个rest请求时,我必须进行一些xml转换,为了构建一些xml元素,我触发了一个java代码来为我构建它。比如说, <Parent> <element A> // This is created using java code, this is an array element <ComplexElement B> <element 1> <element 2>
<Parent>
<element A>
// This is created using java code, this is an array element
<ComplexElement B>
<element 1>
<element 2>
</ComplexElement B>
</Parent>
//这是使用java代码创建的,这是一个数组元素
所以java代码在同一个请求中被多次触发,就像我在请求中有数组一样,所以我必须迭代它,这就是为什么java代码在数组的每次迭代中被触发
在java代码中,我维护一个静态列表,因此当java代码被触发时,如果是在迭代中的第一次,它会将元素ID添加到列表中,这样,如果元素被重复,我可以在列表中查找并创建它一次,而不是重复它。然而,我遇到的问题是,静态列表不是垃圾收集的,而是被带入下一个请求。因此,即使下一个请求是一个新请求,如果上一个请求已经在列表中添加了元素id,则有可能跳过元素创建
是否有更好的方法来处理此问题,或者有更简单的方法仅为该请求维护列表。任何帮助都将不胜感激。谢谢。我可能不会为此而使用
静态
。在每个请求上实例化一个新列表,并将其传递到需要的位置。为什么不在循环结束时清除它呢?这不是有效的xml。