<util:list id="messageUtilList">
<ref bean="stringMessage01"/>
<ref bean="stringMessage02"/>
....more then a million elements must be stored in that list
</util:list>
是否存在任何解决方案,例如代码中的某个变量List<Obj> messages
和SPRING xml中的<list>
标记
像
这样的东西 <util:list id="messageUtilList">
<ref messages/>
</util:list>
答案 0 :(得分:0)
据推测,您有一个bean定义,您可以在其中注入列表messageUtilList
bean id="myListConsumerBean" class="ListConsumerClass"
创建一个接口ListGenerator
public interface ListGenerator<T> {
public List<T> generateList();
}
创建列表生成器,为大量消息构建列表(将String替换为实际消息类)
public class MyListGenerator implements ListGenerator<String> {
@Override
public List<String> generateList() {
List<String> myList = new ArrayList<String>();
... code to populate list ...
return myList;
}
}
修改ListConsumerClass以接受ListGenerator(而不是List)
调整Spring bean连接,为MyListGenerator创建一个bean定义,并将其注入ListConsumerClass(而不是创建和注入util:list)。 generateList()方法将包含数百万个元素。