人。
我需要有关设计模式(或类似的)决策的帮助或建议来使用:
有一个应用程序,通过EJB在weblogic上运行。部分应用程序处理非常大的对象数据集(数十或数十万),并构造一个由多个部分组成的xml文件。
结果XML看起来与此类似:
<sect1>
<page>
<detail_1>something</detail_1>
<detail_2>something</detail_2>
... ... a lot of these
<detail_10000000>something</detail_10000000>
</page>
</sect1>
<sect2>
<page>
<detail_1>something</detail_1>
<detail_2>something</detail_2>
... ... a lot of these
<detail_10000000>something</detail_10000000>
</page>
</sect2>
<sect3>
<page>
<detail_1>something</detail_1>
<detail_2>something</detail_2>
... ... a lot of these
<detail_10000000>something</detail_10000000>
</page>
</sect3>
问题是每个“section_i”都是通过应用程序循环遍历这些大型数据集并在编写实际的xml之前对它们进行一些操作来构造的。我无法控制操作,他们留下来。但是,由于每个部分都是按顺序完成的 - 每次都是从头到尾遍历列表。我正在考虑制作这个多线程 - 这是指定创建xml的每个部分的线程。但对性能有疑问。使用现有系统需要很长时间,但最终完成。如果我转向多线程,我担心在其他应用程序运行的服务器上,这将产生其他问题。 有没有已知的模式来解决这些问题?我试图将ArrayList的使用更改为散列表示的集合,但这会加快查找速度,而不是遍历时间。 有什么建议吗?有人知道要检查的资源吗?