ich nutze in meiner Struts2 Webabwendung Spring & Hibernate.
Die Webseite ist ein Shop, hier können sich User anmelden und dann Sachen bestellen.
Was sie bestellen hängt von mehreren Sachen ab, also z.B. sind sie einer bestimmten
Gruppe zugeordnet.
Nun habe ich folgendes Problem:
Nachdem ein bereits angemeldeter Benutzer sich ausgeloggt hat und ein andere Benutzer sich
angemeldet hat, sieht der neue Benutzer teilweise Daten (z.B. Listen) vom vorigen User.
Ich kann aber ausschliessen das der vorige Benutzer erneut angemeldt wurde.
Diese Liste und weiteren Prozesse sind in Spring Beans gekapselt. Gibte es nun die Möglichkeit
diese zu reinitialisieren? Denn ich befürchte das er sich darüber die Werte noch merkt.
Ich habe bisher probiert:
public class SpringControl implements BeanFactoryAware{ private ConfigurableListableBeanFactory factory; public void setBeanFactory(BeanFactory factory) throws Session { if (factory instanceof ConfigurableListableBeanFactory) { this.factory = (ConfigurableListableBeanFactory) factory; } } public void destroyBeans(){ factory.destroyBean("bonusArticleList", bonusArticleList); } }
oder auch mit
ActionContext.getContext().getSession().remove("bonusArticleList");
Beim ersten Code Teil passiert quasi nichts, also kein Besserung.
Beim zweiten Code nimmt er das Object zwar aus der Session raus, ich bekomme
dann allerdings nen null-pointer weil er es nicht wieder initilisiert.
Hat jemand ne Idee?
Dieser Beitrag wurde von SoniX bearbeitet: 23. November 2007 - 10:47