Mon code fait ce qui suit (comme un exemple, et la raison pour laquelle je spécifier le chemin du paquet à java.lang.ref.SoftReference est de noter que ce n'est pas moi-même :-) de implementaiton:Java: des problèmes/côtés négatifs de la conservation de SoftReference à ArrayList dans HttpSession?
...
List<String> someData = new ArrayList<String>();
someData.add("Value1");
someData.add("Value2");
...
java.lang.ref.SoftReference softRef = new SoftReference(someData);
...
HttpSession session = request.getSession(true);
session.setAttribute("mySoftRefData", softRef);
...
et plus tard:
...
java.lang.ref.SoftReference softRef = session.getAttribute("mySoftRefData");
if (softRef != null && softRef.get() != null) {
List<String> someData = (List<String>)softRef.get();
// do something with it.
}
...
Des inconvénients? Ce que je ne vois pas? Je vous remercie!
Les sessions sont parfois sérialisées. Que fait un SoftReference dans ce cas? – Thilo