Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Stateful Session Bean

  1. #1

    Stateful Session Bean

    Ciao a tutti!
    Mi sto cimentando con l'utilizzo degli Stateful Session Bean.
    La mia prova consiste nel settare una variabile del bean in questione da un'applicazione JSF e poi mostrarla in una textarea. Una cosa banalissima.
    Ho creato uno Stateful Session Bean che espone i due metodi pubblici SettaVariabile e MostraVariabile. Dall'applicazione JSF ho aggiunto il riferimento al bean. Funziona tutto la variabile viene visualizzata correttamente quindi riesco ad accedere a questo bean.
    Ma ora viene il problema. Io avevo capito che avendo creato un session bean, il valore di questa variabile fosse visibile solo all'interno della sessione dell'utente. Invece se mi collego da un altro client della rete e leggo il valore della variabile vedo quello che ho settato dal mio client. Come è possibile?
    Quello che sto cercando di fare è creare un Stateful Session Bean condiviso tra tutte le applicazioni che conservi le credenziali e altri parametri dell'utente collegato.
    Dove sbaglio?

  2. #2
    ragazzi ho urgente bisogno di qualche esperto.... please!!

  3. #3
    Prova che ti riprova sono riuscito a definire lo Stateful Session Bean correttamente. Purtroppo però non ho risolto la mia problematica.
    Spiego meglio... (anche sotto suggerimento di lele che ringrazio)
    Ho definito questo EJB Stateful Session Bean
    codice:
    package test;
    
    import javax.ejb.CreateException;
    import javax.ejb.Stateful;
    
    
    @Stateful
    public class BeanUtenteBean implements BeanUtenteRemote {
        private String utente;
        
        
        public void ejbCreate() throws CreateException {
        }
    
        public void settaUtente(String nome) {
            utente = nome;
        }
    
        public String leggiUtente() {
            return utente;
        }
        
    }
    e questa è la sua interfaccia remota

    codice:
    package test;
    
    import javax.ejb.Remote;
    
    /**
     *
     * @author trabanelli
     */
    @Remote
    public interface BeanUtenteRemote {
    
        void settaUtente(String nome);
    
        String leggiUtente();
        
    }
    dall'applicazione1 ho definito un managed bean in questo modo
    codice:
    package ls_main;
    
    import javax.ejb.EJB;
    import test.BeanUtenteRemote;
    
    
    
    
    /**
     *
     * @author trabanelli
     */
    
    public class BeanUtente {
        @EJB
        private BeanUtenteRemote beanUtenteBean;
    
        
        public BeanUtenteRemote getBeanUtenteBean() {
            return beanUtenteBean;
        }
       
    
           
        /** Creates a new instance of BeanUtente */
        public BeanUtente() {
            
        }
    
    }
    e all'interno della mia page1.jsp accedo ai metodi dello stateful session bean
    codice:
    public String button2_action() {
            
            try
            {
                getBeanUtente().getBeanUtenteBean().settaUtente(textField1.getText().toString());
            }
            catch(Exception e)
            {
                error("errore:  " + e );
            }
            
            return null;
        }
    
        
        public String button3_action() {
        
            textArea1.setText(getBeanUtente().getBeanUtenteBean().leggiUtente());
            
            return null;
        }
    In questo modo dall'applicazione1 funziona tutto quanto ogni utente vede la sua variabile.
    Il mio problema è che questa variabile, all'interno dello Stateful Session Bean, deve essere visibile da altre applicazioni (progetti) aperti sempre all'interno della finestra del browser.
    Spero di avervi aiutato ad aiutarmi!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.