Buonasera a tutti
sto facendo un carrello della spesa che inizializza e gestisce una synchronized list.
Funziona perfettamente all'interno di una singola sessione.. ma quando riavvio il browser e vado per visualizzare tale lista è vuota.. non son oriuscito a trovare una soluzione però ho capito che ogni volta che avvio il browser il bean viene creato di nuovo

posto il codice
codice:
 
@Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        carrelloLocal carrello=null;
        HttpSession session = request.getSession();
        //recupero il bean del carrello se è stato già instanziato
        String username= (String)session.getAttribute("username");
        carrello = (carrelloLocal)session.getAttribute("carrello"+username);
        System.out.println("PROVO A OTTENERE CARRELLO "+username);
        if(carrello == null){
            
                //creo una nuova istanza del bean,
                //carico il context del mio application server e faccio richiesta di un nuovo bean
                carrello = lookupcarrelloLocal();
                session.setAttribute("carrello"+username, carrello);
                System.out.println("CREATO NUOVO CARRELLO "+username);
            }
        
       List<Prodotto> lista=carrello.getCarrello();
       session.setAttribute("listacarrello", lista);
       getServletContext().getRequestDispatcher("/visualizzaCarrello.jsp?listacarrello=listacarrello").forward(request, response);
        
        
        //aggiorna il carrello
    }