Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为每个请求初始化静态变量_Java_Xml_Rest - Fatal编程技术网

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>

下面是一个场景,当我收到一个rest请求时,我必须进行一些xml转换,为了构建一些xml元素,我触发了一个java代码来为我构建它。比如说,

<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。